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