mbuf: add functions to dump packet type
[dpdk.git] / doc / guides / rel_notes / release_16_11.rst
1 DPDK Release 16.11
2 ==================
3
4 .. **Read this first.**
5
6    The text 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: ``LIKE_THIS``.
11
12    Build the docs and view the output file to ensure the changes are correct::
13
14       make doc-guides-html
15
16       firefox build/doc/html/guides/rel_notes/release_16_11.html
17
18
19 New Features
20 ------------
21
22 .. This section should contain new features added in this release. Sample format:
23
24    * **Add a title in the past tense with a full stop.**
25
26      Add a short 1-2 sentence description in the past tense. The description
27      should be enough to allow someone scanning the release notes to understand
28      the new feature.
29
30      If the feature adds a lot of sub-features you can use a bullet list like this.
31
32      * Added feature foo to do something.
33      * Enhanced feature bar to do something else.
34
35      Refer to the previous release notes for examples.
36
37      This section is a comment. Make sure to start the actual text at the margin.
38
39
40 * **Added software parser for packet type.**
41
42   * Added a new function ``rte_pktmbuf_read()`` to read the packet data from an
43     mbuf chain, linearizing if required.
44   * Added a new function ``rte_net_get_ptype()`` to parse an Ethernet packet
45     in an mbuf chain and retrieve its packet type by software.
46   * Added new functions ``rte_get_ptype_*()`` to dump a packet type as a string.
47
48 * **Added vhost-user indirect descriptors support.**
49
50   If indirect descriptor feature is negotiated, each packet sent by the guest
51   will take exactly one slot in the enqueue virtqueue. Without the feature, in
52   current version, even 64 bytes packets take two slots with Virtio PMD on guest
53   side.
54
55   The main impact is better performance for 0% packet loss use-cases, as it
56   behaves as if the virtqueue size was enlarged, so more packets can be buffered
57   in case of system perturbations. On the downside, small performance degradation
58   is measured when running micro-benchmarks.
59
60 * **Added vhost PMD xstats.**
61
62   Added extended statistics to vhost PMD from per port perspective.
63
64 * **Added virtio NEON support for ARM.**
65
66 * **Updated the ixgbe base driver.**
67
68   Updated the ixgbe base driver, including the following changes:
69
70   * add X550em_a 10G PHY support
71   * support flow control auto negotiation for X550em_a 1G PHY
72   * add X550em_a FW ALEF support
73   * increase mailbox version to ixgbe_mbox_api_13
74   * add two MAC ops for Hyper-V support
75
76 * **Updated the QAT PMD.**
77
78   The QAT PMD was updated with following support:
79
80   * MD5_HMAC algorithm
81   * SHA224-HMAC algorithm
82   * SHA384-HMAC algorithm
83   * GMAC algorithm
84   * KASUMI (F8 and F9) algorithm
85   * 3DES algorithm
86   * NULL algorithm
87   * C3XXX device
88   * C62XX device
89
90 * **Added libcrypto PMD.**
91
92   A new crypto PMD has been added, which provides several ciphering and hashing.
93   All cryptography operations are using Openssl library crypto API.
94
95 * **Updated the IPsec example with following support:**
96
97   * configuration file
98   * AES CBC IV generation with cipher forward function
99   * AES GCM/CTR mode
100
101
102 Resolved Issues
103 ---------------
104
105 .. This section should contain bug fixes added to the relevant sections. Sample format:
106
107    * **code/section Fixed issue in the past tense with a full stop.**
108
109      Add a short 1-2 sentence description of the resolved issue in the past tense.
110      The title should contain the code/lib section like a commit message.
111      Add the entries in alphabetic order in the relevant sections below.
112
113    This section is a comment. Make sure to start the actual text at the margin.
114
115
116 EAL
117 ~~~
118
119
120 Drivers
121 ~~~~~~~
122
123
124 Libraries
125 ~~~~~~~~~
126
127
128 Examples
129 ~~~~~~~~
130
131
132 Other
133 ~~~~~
134
135
136 Known Issues
137 ------------
138
139 .. This section should contain new known issues in this release. Sample format:
140
141    * **Add title in present tense with full stop.**
142
143      Add a short 1-2 sentence description of the known issue in the present
144      tense. Add information on any known workarounds.
145
146    This section is a comment. Make sure to start the actual text at the margin.
147
148
149 API Changes
150 -----------
151
152 .. This section should contain API changes. Sample format:
153
154    * Add a short 1-2 sentence description of the API change. Use fixed width
155      quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
156
157    This section is a comment. Make sure to start the actual text at the margin.
158
159 * The driver names have been changed. It especially impacts ``--vdev`` arguments.
160   Examples: ``eth_pcap`` becomes ``net_pcap``
161   and ``cryptodev_aesni_mb_pmd`` becomes ``crypto_aesni_mb``.
162
163 * The log history is removed.
164
165 * The ``rte_ivshmem`` feature (including library and EAL code) has been removed
166   in 16.11 because it had some design issues which were not planned to be fixed.
167
168
169 ABI Changes
170 -----------
171
172 .. This section should contain ABI changes. Sample format:
173
174    * Add a short 1-2 sentence description of the ABI change that was announced in
175      the previous releases and made in this release. Use fixed width quotes for
176      ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
177
178    This section is a comment. Make sure to start the actual text at the margin.
179
180
181
182 Shared Library Versions
183 -----------------------
184
185 .. Update any library version updated in this release and prepend with a ``+``
186    sign, like this:
187
188      libethdev.so.4
189      librte_acl.so.2
190    + librte_cfgfile.so.2
191      librte_cmdline.so.2
192
193
194
195 The libraries prepended with a plus sign were incremented in this version.
196
197 .. code-block:: diff
198
199      libethdev.so.4
200      librte_acl.so.2
201      librte_cfgfile.so.2
202      librte_cmdline.so.2
203      librte_cryptodev.so.1
204      librte_distributor.so.1
205    + librte_eal.so.3
206      librte_hash.so.2
207      librte_ip_frag.so.1
208      librte_jobstats.so.1
209      librte_kni.so.2
210      librte_kvargs.so.1
211      librte_lpm.so.2
212      librte_mbuf.so.2
213      librte_mempool.so.2
214      librte_meter.so.1
215      librte_pdump.so.1
216      librte_pipeline.so.3
217      librte_pmd_bond.so.1
218      librte_pmd_ring.so.2
219      librte_port.so.3
220      librte_power.so.1
221      librte_reorder.so.1
222      librte_ring.so.1
223      librte_sched.so.1
224      librte_table.so.2
225      librte_timer.so.1
226      librte_vhost.so.3
227
228
229 Tested Platforms
230 ----------------
231
232 .. This section should contain a list of platforms that were tested with this release.
233
234    The format is:
235
236    #. Platform name.
237
238       * Platform details.
239       * Platform details.
240
241    This section is a comment. Make sure to start the actual text at the margin.
242
243
244 Tested NICs
245 -----------
246
247 .. This section should contain a list of NICs that were tested with this release.
248
249    The format is:
250
251    #. NIC name.
252
253       * NIC details.
254       * NIC details.
255
256    This section is a comment. Make sure to start the actual text at the margin.
257
258
259 Tested OSes
260 -----------
261
262 .. This section should contain a list of OSes that were tested with this release.
263    The format is as follows, in alphabetical order:
264
265    * CentOS 7.0
266    * Fedora 23
267    * Fedora 24
268    * FreeBSD 10.3
269    * Red Hat Enterprise Linux 7.2
270    * SUSE Enterprise Linux 12
271    * Ubuntu 15.10
272    * Ubuntu 16.04 LTS
273    * Wind River Linux 8
274
275    This section is a comment. Make sure to start the actual text at the margin.