event/opdl: add PMD main body and helper function
[dpdk.git] / doc / guides / rel_notes / release_18_02.rst
1 DPDK Release 18.02
2 ==================
3
4 .. **Read this first.**
5
6    The text in the sections below explains how to update the release notes.
7
8    Use proper spelling, capitalization and punctuation in all sections.
9
10    Variable and config names should be quoted as fixed width text:
11    ``LIKE_THIS``.
12
13    Build the docs and view the output file to ensure the changes are correct::
14
15       make doc-guides-html
16
17       xdg-open build/doc/html/guides/rel_notes/release_18_02.html
18
19
20 New Features
21 ------------
22
23 .. This section should contain new features added in this release. Sample
24    format:
25
26    * **Add a title in the past tense with a full stop.**
27
28      Add a short 1-2 sentence description in the past tense. The description
29      should be enough to allow someone scanning the release notes to
30      understand the new feature.
31
32      If the feature adds a lot of sub-features you can use a bullet list like
33      this:
34
35      * Added feature foo to do something.
36      * Enhanced feature bar to do something else.
37
38      Refer to the previous release notes for examples.
39
40      This section is a comment. do not overwrite or remove it.
41      Also, make sure to start the actual text at the margin.
42      =========================================================
43
44 * **Added the ixgbe ethernet driver to support RSS with flow API.**
45
46   Rte_flow actually defined to include RSS, but till now, RSS is out of
47   rte_flow. This patch is to support igb and ixgbe NIC with existing RSS
48   configuration using rte_flow API.
49
50 * **Add MAC loopback support for i40e.**
51
52   Add MAC loopback support for i40e in order to support test task asked by
53   users. According to the device configuration, it will setup TX->RX loopback
54   link or not.
55
56 * **Add the support of run time determination of number of queues per i40e VF**
57
58   The number of queue per VF is determined by its host PF. If the PCI address
59   of an i40e PF is aaaa:bb.cc, the number of queues per VF can be configured
60   with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n. The value n can be
61   1, 2, 4, 8 or 16. If no such parameter is configured, the number of queues
62   per VF is 4 by default.
63
64 * **Added the i40e ethernet driver to support RSS with flow API.**
65
66   Rte_flow actually defined to include RSS, but till now, RSS is out of
67   rte_flow. This patch is to support i40e NIC with existing RSS
68   configuration using rte_flow API.It also enable queue region configuration
69   using flow API for i40e.
70
71 * **Added NVGRE and UDP tunnels support in Solarflare network PMD.**
72
73   Added support for NVGRE, VXLAN and GENEVE tunnels.
74
75   * Added support for UDP tunnel ports configuration.
76   * Added tunneled packets classification.
77   * Added inner checksum offload.
78
79 * **Added the igb ethernet driver to support RSS with flow API.**
80
81   Rte_flow actually defined to include RSS, but till now, RSS is out of
82   rte_flow. This patch is to support igb NIC with existing RSS configuration
83   using rte_flow API.
84
85 * **Add AVF (Adaptive Virtual Function) net PMD.**
86
87   A new net PMD has been added, which supports IntelĀ® Ethernet Adaptive
88   Virtual Function (AVF) with features list below:
89
90   * Basic Rx/Tx burst
91   * SSE vectorized Rx/Tx burst
92   * Promiscuous mode
93   * MAC/VLAN offload
94   * Checksum offload
95   * TSO offload
96   * Jumbo frame and MTU setting
97   * RSS configuration
98   * stats
99   * Rx/Tx descriptor status
100   * Link status update/event
101
102 * **Added Wireless Base Band Device (bbdev) abstraction.**
103
104   The Wireless Baseband Device library is an acceleration abstraction
105   framework for 3gpp Layer 1 processing functions that provides a common
106   programming interface for seamless opeartion on integrated or discrete
107   hardware accelerators or using optimized software libraries for signal
108   processing.
109   The current release only supports 3GPP CRC, Turbo Coding and Rate
110   Matching operations, as specified in 3GPP TS 36.212.
111
112   See the :doc:`../prog_guide/bbdev` programmer's guide for more details.
113
114 * **Added New eventdev OPDL PMD**
115
116   The OPDL (Ordered Packet Distribution Library) eventdev is a specific
117   implementation of the eventdev API. It is particularly suited to packet
118   processing workloads that have high throughput and low latency requirements.
119   All packets follow the same path through the device. The order in which
120   packets  follow is determinted by the order in which queues are set up.
121   Events are left on the ring until they are transmitted. As a result packets
122   do not go out of order.
123
124   With this change, application can use OPDL PMD by eventdev api.
125
126
127 API Changes
128 -----------
129
130 .. This section should contain API changes. Sample format:
131
132    * Add a short 1-2 sentence description of the API change. Use fixed width
133      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past
134      tense.
135
136    This section is a comment. do not overwrite or remove it.
137    Also, make sure to start the actual text at the margin.
138    =========================================================
139
140
141 ABI Changes
142 -----------
143
144 .. This section should contain ABI changes. Sample format:
145
146    * Add a short 1-2 sentence description of the ABI change that was announced
147      in the previous releases and made in this release. Use fixed width quotes
148      for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
149
150    This section is a comment. do not overwrite or remove it.
151    Also, make sure to start the actual text at the margin.
152    =========================================================
153
154
155 Removed Items
156 -------------
157
158 .. This section should contain removed items in this release. Sample format:
159
160    * Add a short 1-2 sentence description of the removed item in the past
161      tense.
162
163    This section is a comment. do not overwrite or remove it.
164    Also, make sure to start the actual text at the margin.
165    =========================================================
166
167
168 Known Issues
169 ------------
170
171 .. This section should contain new known issues in this release. Sample format:
172
173    * **Add title in present tense with full stop.**
174
175      Add a short 1-2 sentence description of the known issue in the present
176      tense. Add information on any known workarounds.
177
178    This section is a comment. do not overwrite or remove it.
179    Also, make sure to start the actual text at the margin.
180    =========================================================
181
182
183 Shared Library Versions
184 -----------------------
185
186 .. Update any library version updated in this release and prepend with a ``+``
187    sign, like this:
188
189      librte_acl.so.2
190    + librte_cfgfile.so.2
191      librte_cmdline.so.2
192
193    This section is a comment. do not overwrite or remove it.
194    =========================================================
195
196
197 The libraries prepended with a plus sign were incremented in this version.
198
199 .. code-block:: diff
200
201      librte_acl.so.2
202    + librte_bbdev.so.1
203      librte_bitratestats.so.2
204      librte_bus_dpaa.so.1
205      librte_bus_fslmc.so.1
206      librte_bus_pci.so.1
207      librte_bus_vdev.so.1
208      librte_cfgfile.so.2
209      librte_cmdline.so.2
210      librte_cryptodev.so.4
211      librte_distributor.so.1
212      librte_eal.so.6
213      librte_ethdev.so.8
214      librte_eventdev.so.3
215      librte_flow_classify.so.1
216      librte_gro.so.1
217      librte_gso.so.1
218      librte_hash.so.2
219      librte_ip_frag.so.1
220      librte_jobstats.so.1
221      librte_kni.so.2
222      librte_kvargs.so.1
223      librte_latencystats.so.1
224      librte_lpm.so.2
225      librte_mbuf.so.3
226      librte_mempool.so.3
227      librte_meter.so.1
228      librte_metrics.so.1
229      librte_net.so.1
230      librte_pci.so.1
231      librte_pdump.so.2
232      librte_pipeline.so.3
233      librte_pmd_bnxt.so.2
234      librte_pmd_bond.so.2
235      librte_pmd_i40e.so.2
236      librte_pmd_ixgbe.so.2
237      librte_pmd_ring.so.2
238      librte_pmd_softnic.so.1
239      librte_pmd_vhost.so.2
240      librte_port.so.3
241      librte_power.so.1
242      librte_reorder.so.1
243      librte_ring.so.1
244      librte_sched.so.1
245      librte_security.so.1
246      librte_table.so.3
247      librte_timer.so.1
248      librte_vhost.so.3
249
250
251
252 Tested Platforms
253 ----------------
254
255 .. This section should contain a list of platforms that were tested with this
256    release.
257
258    The format is:
259
260    * <vendor> platform with <vendor> <type of devices> combinations
261
262      * List of CPU
263      * List of OS
264      * List of devices
265      * Other relevant details...
266
267    This section is a comment. do not overwrite or remove it.
268    Also, make sure to start the actual text at the margin.
269    =========================================================