4 .. **Read this first.**
6 The text below explains how to update the release notes.
8 Use proper spelling, capitalization and punctuation in all sections.
10 Variable and config names should be quoted as fixed width text: ``LIKE_THIS``.
12 Build the docs and view the output file to ensure the changes are correct::
16 firefox build/doc/html/guides/rel_notes/release_16_07.html
22 .. This section should contain new features added in this release. Sample format:
24 * **Add a title in the past tense with a full stop.**
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
30 If the feature adds a lot of sub-features you can use a bullet list like this.
32 * Added feature foo to do something.
33 * Enhanced feature bar to do something else.
35 Refer to the previous release notes for examples.
37 * **Removed mempool cache if not needed.**
39 The size of the mempool structure is reduced if the per-lcore cache is disabled.
41 * **Changed the memory allocation in mempool library.**
43 * Added ability to allocate a large mempool in virtually fragmented memory.
44 * Added new APIs to populate a mempool with memory.
45 * Added an API to free a mempool.
46 * Modified the API of rte_mempool_obj_iter() function.
47 * Dropped specific Xen Dom0 code.
48 * Dropped specific anonymous mempool code in testpmd.
50 * **Added new driver for Broadcom NetXtreme-C devices.**
52 Added the new bnxt driver for Broadcom NetXtreme-C devices. See the
53 "Network Interface Controller Drivers" document for more details on this
56 * **Added new driver for ThunderX nicvf device.**
58 * **Added mailbox interrupt support for ixgbe and igb VFs.**
60 When the physical NIC link comes down or up, the PF driver will send a
61 mailbox message to notify each VF. To handle this link up/down event,
62 add mailbox interrupts support to receive the message and allow the app to
63 register a callback for it.
65 * **Updated the ixgbe base driver.**
67 The ixgbe base driver was updated with changes including the
70 * Added sgmii link for X550.
71 * Added mac link setup for X550a SFP and SFP+.
72 * Added KR support for X550em_a.
73 * Added new phy definitions for M88E1500.
74 * Added support for the VLVF to be bypassed when adding/removing a VFTA entry.
75 * Added X550a flow control auto negotiation support.
77 * **Updated the i40e base driver.**
79 Updated the i40e base driver, which includes support for new devices IDs.
81 * **Supported virtio on IBM POWER8.**
83 The ioports are mapped in memory when using Linux UIO.
85 * **Virtio support for containers.**
87 Add a new virtual device, named virtio-user, to support virtio for containers.
91 * Control queue and multi-queue are not supported yet.
92 * Cannot work with --huge-unlink.
93 * Cannot work with --no-huge.
94 * Cannot work when there are more than VHOST_MEMORY_MAX_NREGIONS(8) hugepages.
95 * Root privilege is a must for sorting hugepages by physical address.
96 * Can only be used with vhost user backend.
98 * **Added vhost-user client mode.**
100 DPDK vhost-user could be the server as well as the client. It supports
101 server mode only before, now it also supports client mode. Client mode
102 is enabled when ``RTE_VHOST_USER_CLIENT`` flag is set while calling
103 ``rte_vhost_driver_register``.
105 When DPDK vhost-user restarts from normal or abnormal quit (say crash),
106 the client mode would allow DPDK to establish the connect again. Note
107 that a brand new QEMU version (v2.7 or above) is needed, otherwise, the
108 reconnect won't work.
110 DPDK vhost-user will also try to reconnect by default when
112 * the first connect fails (when QEMU is not started yet)
113 * the connection is broken (when QEMU restarts)
115 It can be turned off if flag ``RTE_VHOST_USER_NO_RECONNECT`` is set.
117 * **Added NSH packet recognition in i40e.**
119 * **Added AES-CTR support to AESNI MB PMD.**
121 Now AESNI MB PMD supports 128/192/256-bit counter mode AES encryption and
124 * **Added support of AES counter mode for Intel QuickAssist devices.**
126 Enabled support for the AES CTR algorithm for Intel QuickAssist devices.
127 Provided support for algorithm-chaining operations.
129 * **Added KASUMI SW PMD.**
131 A new Crypto PMD has been added, which provides KASUMI F8 (UEA1) ciphering
132 and KASUMI F9 (UIA1) hashing.
134 * **Added multi-writer support for RTE Hash with Intel TSX.**
136 The following features/modifications have been added to rte_hash library:
138 * Enabled application developers to use an extra flag for rte_hash creation
139 to specify default behavior (multi-thread safe/unsafe) with rte_hash_add_key
141 * Changed Cuckoo search algorithm to breadth first search for multi-writer
142 routine and split Cuckoo Search and Move operations in order to reduce
143 transactional code region and improve TSX performance.
144 * Added a hash multi-writer test case for test app.
146 * **Improved IP Pipeline Application.**
148 The following features have been added to ip_pipeline application:
150 * Configure the MAC address in the routing pipeline and automatic routes
151 updates with change in link state.
152 * Enable RSS per network interface through the configuration file.
153 * Streamline the CLI code.
155 * **Added keepalive enhancements.**
157 Adds support for reporting of core states other than dead to
158 monitoring applications, enabling the support of broader liveness
159 reporting to external processes.
161 * **Added packet capture framework.**
163 * A new library ``librte_pdump`` is added to provide packet capture API.
164 * A new ``app/pdump`` tool is added to capture packets in DPDK.
170 .. This section should contain bug fixes added to the relevant sections. Sample format:
172 * **code/section Fixed issue in the past tense with a full stop.**
174 Add a short 1-2 sentence description of the resolved issue in the past tense.
175 The title should contain the code/lib section like a commit message.
176 Add the entries in alphabetic order in the relevant sections below.
186 * **i40e: Fixed vlan stripping from inner header.**
188 Previously, for tunnel packets, such as VXLAN/NVGRE, the vlan
189 tags of the inner header will be stripped without putting vlan
191 Now this issue is fixed by disabling vlan stripping from inner header.
193 * **i40e: Fixed the type issue of a single VLAN type.**
195 Currently, if a single VLAN header is added in a packet, it's treated
196 as inner VLAN. But generally, a single VLAN header is treated as the
198 This issue is fixed by changing corresponding register for single VLAN.
204 * **mbuf: Fixed refcnt update when detaching.**
206 Fix the ``rte_pktmbuf_detach()`` function to decrement the direct
207 mbuf's reference counter. The previous behavior was not to affect
208 the reference counter. It lead a memory leak of the direct mbuf.
222 .. This section should contain new known issues in this release. Sample format:
224 * **Add title in present tense with full stop.**
226 Add a short 1-2 sentence description of the known issue in the present
227 tense. Add information on any known workarounds.
233 .. This section should contain API changes. Sample format:
235 * Add a short 1-2 sentence description of the API change. Use fixed width
236 quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
238 * The following counters are removed from ``rte_eth_stats`` structure:
239 ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,
240 tx_pause_xon, rx_pause_xon, tx_pause_xoff, rx_pause_xoff.
242 * The extended statistics are fetched by ids with ``rte_eth_xstats_get``
243 after a lookup by name ``rte_eth_xstats_get_names``.
245 * The function ``rte_eth_dev_info_get`` fill the new fields ``nb_rx_queues``
246 and ``nb_tx_queues`` in the structure ``rte_eth_dev_info``.
248 * The vhost function ``rte_vring_available_entries`` is renamed to
249 ``rte_vhost_avail_entries``.
251 * All existing vhost APIs and callbacks with ``virtio_net`` struct pointer
252 as the parameter have been changed due to the ABI refactoring mentioned
253 below: it's replaced by ``int vid``.
255 * The function ``rte_vhost_enqueue_burst`` no longer supports concurrent enqueuing
256 packets to the same queue.
258 * The function ``rte_eth_dev_set_mtu`` adds a new return value ``-EBUSY``, which
259 indicates the operation is forbidden because the port is running.
265 .. * Add a short 1-2 sentence description of the ABI change that was announced in
266 the previous releases and made in this release. Use fixed width quotes for
267 ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
269 * The ``rte_port_source_params`` structure has new fields to support PCAP file.
270 It was already in release 16.04 with ``RTE_NEXT_ABI`` flag.
272 * The ``rte_eth_dev_info`` structure has new fields ``nb_rx_queues`` and ``nb_tx_queues``
273 to support number of queues configured by software.
275 * vhost ABI refactoring has been made: ``virtio_net`` structure is never
276 exported to application any more. Instead, a handle, ``vid``, has been
277 used to represent this structure internally.
280 Shared Library Versions
281 -----------------------
283 .. Update any library version updated in this release and prepend with a ``+`` sign.
285 The libraries prepended with a plus sign were incremented in this version.
293 librte_distributor.so.1
303 + librte_mempool.so.2
321 .. This section should contain a list of platforms that were tested with this
335 .. This section should contain a list of NICs that were tested with this release.