summaryrefslogtreecommitdiffstats
path: root/doc/guides/rel_notes
diff options
context:
space:
mode:
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-12-08 14:07:29 +0100
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-12-08 14:10:05 +0100
commit6b3e017e5d25f15da73f7700f7f2ac553ef1a2e9 (patch)
tree1b1fb3f903b2282e261ade69e3c17952b3fd3464 /doc/guides/rel_notes
parent32e04ea00cd159613e04acef75e52bfca6eeff2f (diff)
Imported Upstream version 16.11
Change-Id: I1944c65ddc88a9ad70f8c0eb6731552b84fbcb77 Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Diffstat (limited to 'doc/guides/rel_notes')
-rw-r--r--doc/guides/rel_notes/deprecation.rst92
-rw-r--r--doc/guides/rel_notes/index.rst1
-rw-r--r--doc/guides/rel_notes/release_16_07.rst141
-rw-r--r--doc/guides/rel_notes/release_16_11.rst600
4 files changed, 648 insertions, 186 deletions
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d2dc4a9a..2d17bc6e 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -8,64 +8,66 @@ API and ABI deprecation notices are to be posted here.
Deprecation Notices
-------------------
-* The log history is deprecated.
- It is voided in 16.07 and will be removed in release 16.11.
-
-* The ethdev library file will be renamed from libethdev.* to librte_ethdev.*
- in release 16.11 in order to have a more consistent namespace.
-
-* In 16.11 ABI changes are planned: the ``rte_eth_dev`` structure will be
- extended with new function pointer ``tx_pkt_prep`` allowing verification
+* igb_uio: iomem mapping and sysfs files created for iomem and ioport in
+ igb_uio will be removed, because we are able to detect these from what Linux
+ has exposed, like the way we have done with uio-pci-generic. This change
+ targets release 17.02.
+
+* ABI/API changes are planned for 17.02: ``rte_device``, ``rte_driver`` will be
+ impacted because of introduction of a new ``rte_bus`` hierarchy. This would
+ also impact the way devices are identified by EAL. A bus-device-driver model
+ will be introduced providing a hierarchical view of devices.
+
+* ``eth_driver`` is planned to be removed in 17.02. This currently serves as
+ a placeholder for PMDs to register themselves. Changes for ``rte_bus`` will
+ provide a way to handle device initialization currently being done in
+ ``eth_driver``.
+
+* In 17.02 ABI changes are planned: the ``rte_eth_dev`` structure will be
+ extended with new function pointer ``tx_pkt_prepare`` allowing verification
and processing of packet burst to meet HW specific requirements before
transmit. Also new fields will be added to the ``rte_eth_desc_lim`` structure:
``nb_seg_max`` and ``nb_mtu_seg_max`` providing information about number of
segments limit to be transmitted by device for TSO/non-TSO packets.
-* The ethdev hotplug API is going to be moved to EAL with a notification
- mechanism added to crypto and ethdev libraries so that hotplug is now
- available to both of them. This API will be stripped of the device arguments
- so that it only cares about hotplugging.
+* In 17.02 ABI change is planned: the ``rte_eth_dev_info`` structure
+ will be extended with a new member ``fw_version`` in order to store
+ the NIC firmware version.
+
+* ethdev: an API change is planned for 17.02 for the function
+ ``_rte_eth_dev_callback_process``. In 17.02 the function will return an ``int``
+ instead of ``void`` and a fourth parameter ``void *ret_param`` will be added.
+
+* ethdev: for 17.02 it is planned to deprecate the following five functions
+ and move them in ixgbe:
+
+ ``rte_eth_dev_set_vf_rxmode``
+
+ ``rte_eth_dev_set_vf_rx``
-* Structures embodying pci and vdev devices are going to be reworked to
- integrate new common rte_device / rte_driver objects (see
- http://dpdk.org/ml/archives/dev/2016-January/031390.html).
- ethdev and crypto libraries will then only handle those objects so that they
- do not need to care about the kind of devices that are being used, making it
- easier to add new buses later.
+ ``rte_eth_dev_set_vf_tx``
-* ABI changes are planned for 16.11 in the ``rte_mbuf`` structure: some fields
+ ``rte_eth_dev_set_vf_vlan_filter``
+
+ ``rte_eth_set_vf_rate_limit``
+
+* ABI changes are planned for 17.02 in the ``rte_mbuf`` structure: some fields
may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
``nb_segs`` in one operation, because some platforms have an overhead if the
store address is not naturally aligned. Other mbuf fields, such as the
- ``port`` field, may be moved or removed as part of this mbuf work.
+ ``port`` field, may be moved or removed as part of this mbuf work. A
+ ``timestamp`` will also be added.
* The mbuf flags PKT_RX_VLAN_PKT and PKT_RX_QINQ_PKT are deprecated and
are respectively replaced by PKT_RX_VLAN_STRIPPED and
PKT_RX_QINQ_STRIPPED, that are better described. The old flags and
- their behavior will be kept in 16.07 and will be removed in 16.11.
-
-* The APIs rte_mempool_count and rte_mempool_free_count are being deprecated
- on the basis that they are confusing to use - free_count actually returns
- the number of allocated entries, not the number of free entries as expected.
- They are being replaced by rte_mempool_avail_count and
- rte_mempool_in_use_count respectively.
-
-* The mempool functions for single/multi producer/consumer are deprecated and
- will be removed in 16.11.
- It is replaced by rte_mempool_generic_get/put functions.
-
-* The ``rte_ivshmem`` feature (including library and EAL code) will be removed
- in 16.11 because it has some design issues which are not planned to be fixed.
-
-* The vhost-cuse will be removed in 16.11. Since v2.1, a large majority of
- development effort has gone to vhost-user, such as multiple-queue, live
- migration, reconnect etc. Therefore, vhost-user should be used instead.
+ their behavior will be kept until 16.11 and will be removed in 17.02.
-* Driver names are quite inconsistent among each others and they will be
- renamed to something more consistent (net and crypto prefixes) in 16.11.
- Some of these driver names are used publicly, to create virtual devices,
- so a deprecation notice is necessary.
+* mempool: The functions ``rte_mempool_count`` and ``rte_mempool_free_count``
+ will be removed in 17.02.
+ They are replaced by ``rte_mempool_avail_count`` and
+ ``rte_mempool_in_use_count`` respectively.
-* API will change for ``rte_port_source_params`` and ``rte_port_sink_params``
- structures. The member ``file_name`` data type will be changed from
- ``char *`` to ``const char *``. This change targets release 16.11.
+* mempool: The functions for single/multi producer/consumer are deprecated
+ and will be removed in 17.02.
+ It is replaced by ``rte_mempool_generic_get/put`` functions.
diff --git a/doc/guides/rel_notes/index.rst b/doc/guides/rel_notes/index.rst
index 52c63b40..7e51b2c7 100644
--- a/doc/guides/rel_notes/index.rst
+++ b/doc/guides/rel_notes/index.rst
@@ -36,6 +36,7 @@ Release Notes
:numbered:
rel_description
+ release_16_11
release_16_07
release_16_04
release_2_2
diff --git a/doc/guides/rel_notes/release_16_07.rst b/doc/guides/rel_notes/release_16_07.rst
index 4d6e0d50..a8a3fc11 100644
--- a/doc/guides/rel_notes/release_16_07.rst
+++ b/doc/guides/rel_notes/release_16_07.rst
@@ -548,144 +548,3 @@ Tested OSes
- Ubuntu 16.04 LTS
- Wind River Linux 8
-Fixes in Stable Release
------------------------
-
-16.07.1
-~~~~~~~
-
-The following fixes were applied in DPDK 16.07.01 Stable Release:
-
-* app/test: fix verification of digest for GCM
-* app/testpmd: fix crash when mempool allocation fails
-* app/testpmd: fix help of MTU set commmand
-* app/testpmd: fix timeout in Rx queue flushing
-* contigmem: zero all pages during mmap
-* crypto/null: fix key size increment value
-* crypto/qat: fix FreeBSD build
-* crypto: fix build with icc
-* examples/ip_pipeline: fix Python interpreter
-* examples/ip_pipeline: fix lcore mapping for ppc64
-* hash: fix false zero signature key hit lookup
-* hash: fix ring size
-* mbuf: fix error handling on pool creation
-* mem: fix build with -O1
-* mem: fix crash on hugepage mapping error
-* mempool: fix corruption due to invalid handler
-* net/e1000: fix returned number of available Rx descriptors
-* net/enic: fix bad L4 checksum flag on ICMP packets
-* net/enic: fix freeing memory for descriptor ring
-* net/fm10k: fix MAC address removal from switch
-* net/i40e/base: fix UDP packet header
-* net/i40e: fix dropping packets with ethertype 0x88A8
-* net/i40e: fix mbuf leak during Rx queue release
-* net/i40e: fix null pointer dereferences when using VMDq+RSS
-* net/i40e: fix parsing QinQ packets type
-* net/ixgbe/base: fix check for NACK
-* net/ixgbe/base: fix pointer check
-* net/ixgbe/base: fix possible corruption of shadow RAM
-* net/ixgbe/base: fix skipping PHY config
-* net/ixgbe: fix VF reset to apply to correct VF
-* net/ixgbe: fix mbuf leak during Rx queue release
-* net/mlx: fix debug build with gcc 6.1
-* net/nfp: fix copying MAC address
-* net/pcap: fix memory leak in jumbo frames
-* net/virtio: fix xstats name
-* net/virtio_user: fix error management during init
-* net/virtio_user: fix first queue pair without multiqueue
-* net/virtio_user: fix wrong sequence of messages
-* pci: fix memory leak when detaching device
-* pmdinfogen: fix clang build
-* sched: fix releasing enqueued packets
-* table: fix symbol exports
-* timer: fix lag delay
-* tools: fix json output of pmdinfo
-* tools: fix virtio interface name when binding
-
-
-16.07.2
-~~~~~~~
-
-* app/procinfo: free xstats memory upon failure
-* app/test: fix hash multiwriter sequence
-* app/testpmd: fix DCB configuration
-* app/testpmd: fix DCB configuration
-* app/testpmd: fix PF/VF check of flow director
-* app/testpmd: fix RSS hash key size
-* app/testpmd: fix flow director endianness
-* app/testpmd: fix flow director mask
-* doc: add limitations for i40e PMD
-* eal/arm: fix file descriptor leak when getting CPU features
-* eal/ppc: fix file descriptor leak when getting CPU features
-* ethdev: fix vendor id in debug message
-* ethdev: prevent duplicate event callback
-* examples/ip_pipeline: fix plugin loading
-* examples/ipsec-secgw: check SP only when setup
-* examples/l2fwd-crypto: fix verify with decrypt in chain
-* examples/qos_sched: fix dequeue from ring
-* examples/tep_term: fix L4 length
-* examples/tep_term: fix packet length with multi-segments
-* hash: fix bucket size usage
-* hash: fix unlimited cuckoo path
-* kni: fix build with kernel 4.8
-* kni: fix build with kernel 4.9
-* lpm: fix freeing memory
-* lpm: fix freeing unused sub-table on rule delete
-* mempool: fix leak if populate fails
-* mempool: fix search of maximum contiguous pages
-* net/bnx2x: fix build with icc
-* net/bnx2x: fix maximum PF queues
-* net/bnx2x: fix socket id for slowpath memory
-* net/bnxt: ensure entry length is unsigned
-* net/bnxt: fix bit shift size
-* net/bnxt: fix crash when closing
-* net/bonding: validate speed after link up
-* net/ena: improve safety of string handling
-* net/enic: document how to configure vNIC parameters
-* net/enic: fix Rx queue index when not using Rx scatter
-* net/enic: fix crash on MTU update or Rx queue reconfigure
-* net/enic: fix crash with removed flow director filters
-* net/enic: fix flow director
-* net/enic: fix max packet length check
-* net/enic: fix multi-queue Rx performance
-* net/enic: revert truncated packets counter fix
-* net/fm10k: fix Rx checksum flags
-* net/fm10k: fix VF Tx queue initialization
-* net/fm10k: fix out of order Rx read
-* net/i40e: do not use VSI before NULL check
-* net/i40e: fix DCB configuration
-* net/i40e: fix Rx hang when disable LLDP
-* net/i40e: fix VF bonded device link down
-* net/i40e: fix floating VEB
-* net/i40e: fix hash filter on X722
-* net/i40e: fix link status change interrupt
-* net/i40e: fix out of order Rx read
-* net/i40e: fixed build error with icc
-* net/ixgbe: fix VF registers
-* net/ixgbe: fix flow director mask
-* net/ixgbe: fix out of order Rx read
-* net/mlx5: fix Rx VLAN offload capability report
-* net/mlx5: fix Rx checksum macros
-* net/mlx5: fix Rx function selection
-* net/mlx5: fix flow director drop mode
-* net/mlx5: fix handling of small mbuf sizes
-* net/mlx5: fix hash key size retrieval
-* net/mlx5: fix inconsistent return value in flow director
-* net/mlx5: fix initialization in secondary process
-* net/mlx5: fix inline logic
-* net/mlx5: fix link speed capability information
-* net/mlx5: fix link status report
-* net/mlx5: fix possible NULL dereference in Rx path
-* net/mlx5: fix removing VLAN filter
-* net/mlx5: fix support for newer link speeds
-* net/mlx5: re-factorize functions
-* net/mlx5: refactor allocation of flow director queues
-* net/mlx5: support Mellanox OFED 3.4
-* net/qede/base: fix 32-bit build
-* net/ring: fix ring device creation via devargs
-* net/thunderx: fix Tx checksum handling
-* net/virtio: revert fix restart
-* net/vmxnet3: fix mbuf release on reset/stop
-* pci: fix probing error if no driver found
-* pdump: fix created directory permissions
-* vhost: fix Windows VM hang
diff --git a/doc/guides/rel_notes/release_16_11.rst b/doc/guides/rel_notes/release_16_11.rst
new file mode 100644
index 00000000..8c9ec65c
--- /dev/null
+++ b/doc/guides/rel_notes/release_16_11.rst
@@ -0,0 +1,600 @@
+DPDK Release 16.11
+==================
+
+.. **Read this first.**
+
+ The text below explains how to update the release notes.
+
+ Use proper spelling, capitalization and punctuation in all sections.
+
+ Variable and config names should be quoted as fixed width text: ``LIKE_THIS``.
+
+ Build the docs and view the output file to ensure the changes are correct::
+
+ make doc-guides-html
+
+ firefox build/doc/html/guides/rel_notes/release_16_11.html
+
+
+New Features
+------------
+
+.. This section should contain new features added in this release. Sample format:
+
+ * **Add a title in the past tense with a full stop.**
+
+ Add a short 1-2 sentence description in the past tense. The description
+ should be enough to allow someone scanning the release notes to understand
+ the new feature.
+
+ If the feature adds a lot of sub-features you can use a bullet list like this.
+
+ * Added feature foo to do something.
+ * Enhanced feature bar to do something else.
+
+ Refer to the previous release notes for examples.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+
+* **Added software parser for packet type.**
+
+ * Added a new function ``rte_pktmbuf_read()`` to read the packet data from an
+ mbuf chain, linearizing if required.
+ * Added a new function ``rte_net_get_ptype()`` to parse an Ethernet packet
+ in an mbuf chain and retrieve its packet type from software.
+ * Added new functions ``rte_get_ptype_*()`` to dump a packet type as a string.
+
+* **Improved offloads support in mbuf.**
+
+ * Added a new function ``rte_raw_cksum_mbuf()`` to process the checksum of
+ data embedded in an mbuf chain.
+ * Added new Rx checksum flags in mbufs to describe more states: unknown,
+ good, bad, or not present (useful for virtual drivers). This modification
+ was done for IP and L4.
+ * Added a new Rx LRO mbuf flag, used when packets are coalesced. This
+ flag indicates that the segment size of original packets is known.
+
+* **Added vhost-user dequeue zero copy support.**
+
+ The copy in the dequeue path is avoided in order to improve the performance.
+ In the VM2VM case, the boost is quite impressive. The bigger the packet size,
+ the bigger performance boost you may get. However, for the VM2NIC case, there
+ are some limitations, so the boost is not as impressive as the VM2VM case.
+ It may even drop quite a bit for small packets.
+
+ For that reason, this feature is disabled by default. It can be enabled when
+ the ``RTE_VHOST_USER_DEQUEUE_ZERO_COPY`` flag is set. Check the VHost section
+ of the Programming Guide for more information.
+
+* **Added vhost-user indirect descriptors support.**
+
+ If the indirect descriptor feature is enabled, each packet sent by the guest
+ will take exactly one slot in the enqueue virtqueue. Without this feature, as in
+ the current version, even 64 bytes packets take two slots with Virtio PMD on guest
+ side.
+
+ The main impact is better performance for 0% packet loss use-cases, as it
+ behaves as if the virtqueue size was enlarged, so more packets can be buffered
+ in the case of system perturbations. On the downside, small performance degradations
+ were measured when running micro-benchmarks.
+
+* **Added vhost PMD xstats.**
+
+ Added extended statistics to vhost PMD from a per port perspective.
+
+* **Supported offloads with virtio.**
+
+ Added support for the following offloads in virtio:
+
+ * Rx/Tx checksums.
+ * LRO.
+ * TSO.
+
+* **Added virtio NEON support for ARM.**
+
+ Added NEON support for ARM based virtio.
+
+* **Updated the ixgbe base driver.**
+
+ Updated the ixgbe base driver, including the following changes:
+
+ * Added X550em_a 10G PHY support.
+ * Added support for flow control auto negotiation for X550em_a 1G PHY.
+ * Added X550em_a FW ALEF support.
+ * Increased mailbox version to ``ixgbe_mbox_api_13``.
+ * Added two MAC operations for Hyper-V support.
+
+* **Added APIs for VF management to the ixgbe PMD.**
+
+ Eight new APIs have been added to the ixgbe PMD for VF management from the PF.
+ The declarations for the API's can be found in ``rte_pmd_ixgbe.h``.
+
+* **Updated the enic driver.**
+
+ * Added update to use interrupt for link status checking instead of polling.
+ * Added more flow director modes on UCS Blade with firmware version >= 2.0(13e).
+ * Added full support for MTU update.
+ * Added support for the ``rte_eth_rx_queue_count`` function.
+
+* **Updated the mlx5 driver.**
+
+ * Added support for RSS hash results.
+ * Added several performance improvements.
+ * Added several bug fixes.
+
+* **Updated the QAT PMD.**
+
+ The QAT PMD was updated with additional support for:
+
+ * MD5_HMAC algorithm.
+ * SHA224-HMAC algorithm.
+ * SHA384-HMAC algorithm.
+ * GMAC algorithm.
+ * KASUMI (F8 and F9) algorithm.
+ * 3DES algorithm.
+ * NULL algorithm.
+ * C3XXX device.
+ * C62XX device.
+
+* **Added openssl PMD.**
+
+ A new crypto PMD has been added, which provides several ciphering and hashing algorithms.
+ All cryptography operations use the Openssl library crypto API.
+
+* **Updated the IPsec example.**
+
+ Updated the IPsec example with the following support:
+
+ * Configuration file support.
+ * AES CBC IV generation with cipher forward function.
+ * AES GCM/CTR mode.
+
+* **Added support for new gcc -march option.**
+
+ The GCC 4.9 ``-march`` option supports the Intel processor code names.
+ The config option ``RTE_MACHINE`` can be used to pass code names to the compiler via the ``-march`` flag.
+
+
+Resolved Issues
+---------------
+
+.. This section should contain bug fixes added to the relevant sections. Sample format:
+
+ * **code/section Fixed issue in the past tense with a full stop.**
+
+ Add a short 1-2 sentence description of the resolved issue in the past tense.
+ The title should contain the code/lib section like a commit message.
+ Add the entries in alphabetic order in the relevant sections below.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+
+Drivers
+~~~~~~~
+
+* **enic: Fixed several flow director issues.**
+
+* **enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets.**
+
+* **enic: Fixed high driver overhead when servicing Rx queues beyond the first.**
+
+
+
+Known Issues
+------------
+
+.. This section should contain new known issues in this release. Sample format:
+
+ * **Add title in present tense with full stop.**
+
+ Add a short 1-2 sentence description of the known issue in the present
+ tense. Add information on any known workarounds.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+* **L3fwd-power app does not work properly when Rx vector is enabled.**
+
+ The L3fwd-power app doesn't work properly with some drivers in vector mode
+ since the queue monitoring works differently between scalar and vector modes
+ leading to incorrect frequency scaling. In addition, L3fwd-power application
+ requires the mbuf to have correct packet type set but in some drivers the
+ vector mode must be disabled for this.
+
+ Therefore, in order to use L3fwd-power, vector mode should be disabled
+ via the config file.
+
+* **Digest address must be supplied for crypto auth operation on QAT PMD.**
+
+ The cryptodev API specifies that if the rte_crypto_sym_op.digest.data field,
+ and by inference the digest.phys_addr field which points to the same location,
+ is not set for an auth operation the driver is to understand that the digest
+ result is located immediately following the region over which the digest is
+ computed. The QAT PMD doesn't correctly handle this case and reads and writes
+ to an incorrect location.
+
+ Callers can workaround this by always supplying the digest virtual and
+ physical address fields in the rte_crypto_sym_op for an auth operation.
+
+
+API Changes
+-----------
+
+.. This section should contain API changes. Sample format:
+
+ * Add a short 1-2 sentence description of the API change. Use fixed width
+ quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+* The driver naming convention has been changed to make them more
+ consistent. It especially impacts ``--vdev`` arguments. For example
+ ``eth_pcap`` becomes ``net_pcap`` and ``cryptodev_aesni_mb_pmd`` becomes
+ ``crypto_aesni_mb``.
+
+ For backward compatibility an alias feature has been enabled to support the
+ original names.
+
+* The log history has been removed.
+
+* The ``rte_ivshmem`` feature (including library and EAL code) has been removed
+ in 16.11 because it had some design issues which were not planned to be fixed.
+
+* The ``file_name`` data type of ``struct rte_port_source_params`` and
+ ``struct rte_port_sink_params`` is changed from ``char *`` to ``const char *``.
+
+* **Improved device/driver hierarchy and generalized hotplugging.**
+
+ The device and driver relationship has been restructured by introducing generic
+ classes. This paves the way for having PCI, VDEV and other device types as
+ instantiated objects rather than classes in themselves. Hotplugging has also
+ been generalized into EAL so that Ethernet or crypto devices can use the
+ common infrastructure.
+
+ * Removed ``pmd_type`` as a way of segregation of devices.
+ * Moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
+ ``rte_pci_driver``. These can now be used by any instantiated object of
+ ``rte_driver``.
+ * Added ``rte_device`` class and all PCI and VDEV devices inherit from it
+ * Renamed devinit/devuninit handlers to probe/remove to make it more
+ semantically correct with respect to the device <=> driver relationship.
+ * Moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
+ APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
+ * Renamed helpers and support macros to make them more synonymous
+ with their device types
+ (e.g. ``PMD_REGISTER_DRIVER`` => ``RTE_PMD_REGISTER_PCI``).
+ * Device naming functions have been generalized from ethdev and cryptodev
+ to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
+ unique device name from PCI Domain-BDF description.
+ * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
+ and ``rte_eal_vdrv_unregister``.
+
+
+ABI Changes
+-----------
+
+.. This section should contain ABI changes. Sample format:
+
+ * Add a short 1-2 sentence description of the ABI change that was announced in
+ the previous releases and made in this release. Use fixed width quotes for
+ ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+
+
+Shared Library Versions
+-----------------------
+
+.. Update any library version updated in this release and prepend with a ``+``
+ sign, like this:
+
+ libethdev.so.4
+ librte_acl.so.2
+ + librte_cfgfile.so.2
+ librte_cmdline.so.2
+
+
+
+The libraries prepended with a plus sign were incremented in this version.
+
+.. code-block:: diff
+
+ librte_acl.so.2
+ librte_cfgfile.so.2
+ librte_cmdline.so.2
+ + librte_cryptodev.so.2
+ librte_distributor.so.1
+ + librte_eal.so.3
+ + librte_ethdev.so.5
+ librte_hash.so.2
+ librte_ip_frag.so.1
+ librte_jobstats.so.1
+ librte_kni.so.2
+ librte_kvargs.so.1
+ librte_lpm.so.2
+ librte_mbuf.so.2
+ librte_mempool.so.2
+ librte_meter.so.1
+ librte_net.so.1
+ librte_pdump.so.1
+ librte_pipeline.so.3
+ librte_pmd_bond.so.1
+ librte_pmd_ring.so.2
+ librte_port.so.3
+ librte_power.so.1
+ librte_reorder.so.1
+ librte_ring.so.1
+ librte_sched.so.1
+ librte_table.so.2
+ librte_timer.so.1
+ librte_vhost.so.3
+
+
+Tested Platforms
+----------------
+
+.. This section should contain a list of platforms that were tested with this release.
+
+ The format is:
+
+ #. Platform name.
+
+ * Platform details.
+ * Platform details.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+#. SuperMicro 1U
+
+ - BIOS: 1.0c
+ - Processor: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
+
+#. SuperMicro 1U
+
+ - BIOS: 1.0a
+ - Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
+ - Onboard NIC: Intel(R) X552/X557-AT (2x10G)
+
+ - Firmware-version: 0x800001cf
+ - Device ID (PF/VF): 8086:15ad /8086:15a8
+
+ - kernel driver version: 4.2.5 (ixgbe)
+
+#. SuperMicro 2U
+
+ - BIOS: 1.0a
+ - Processor: Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
+
+#. Intel(R) Server board S2600GZ
+
+ - BIOS: SE5C600.86B.02.02.0002.122320131210
+ - Processor: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+
+#. Intel(R) Server board W2600CR
+
+ - BIOS: SE5C600.86B.02.01.0002.082220131453
+ - Processor: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+
+#. Intel(R) Server board S2600CWT
+
+ - BIOS: SE5C610.86B.01.01.0009.060120151350
+ - Processor: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
+
+#. Intel(R) Server board S2600WTT
+
+ - BIOS: SE5C610.86B.01.01.0005.101720141054
+ - Processor: Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
+
+#. Intel(R) Server board S2600WTT
+
+ - BIOS: SE5C610.86B.11.01.0044.090120151156
+ - Processor: Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
+
+#. Intel(R) Server board S2600WTT
+
+ - Processor: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
+
+#. Intel(R) Server
+
+ - Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
+
+#. IBM(R) Power8(R)
+
+ - Machine type-model: 8247-22L
+ - Firmware FW810.21 (SV810_108)
+ - Processor: POWER8E (raw), AltiVec supported
+
+
+Tested NICs
+-----------
+
+.. This section should contain a list of NICs that were tested with this release.
+
+ The format is:
+
+ #. NIC name.
+
+ * NIC details.
+ * NIC details.
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+#. Intel(R) Ethernet Controller X540-AT2
+
+ - Firmware version: 0x80000389
+ - Device id (pf): 8086:1528
+ - Driver version: 3.23.2 (ixgbe)
+
+#. Intel(R) 82599ES 10 Gigabit Ethernet Controller
+
+ - Firmware version: 0x61bf0001
+ - Device id (pf/vf): 8086:10fb / 8086:10ed
+ - Driver version: 4.0.1-k (ixgbe)
+
+#. Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
+
+ - Firmware version: 0x800001cf
+ - Device id (pf/vf): 8086:15ad / 8086:15a8
+ - Driver version: 4.2.5 (ixgbe)
+
+#. Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
+
+ - Firmware version: 5.05
+ - Device id (pf/vf): 8086:1572 / 8086:154c
+ - Driver version: 1.5.23 (i40e)
+
+#. Intel(R) Ethernet Converged Network Adapter X710-DA2 (2x10G)
+
+ - Firmware version: 5.05
+ - Device id (pf/vf): 8086:1572 / 8086:154c
+ - Driver version: 1.5.23 (i40e)
+
+#. Intel(R) Ethernet Converged Network Adapter XL710-QDA1 (1x40G)
+
+ - Firmware version: 5.05
+ - Device id (pf/vf): 8086:1584 / 8086:154c
+ - Driver version: 1.5.23 (i40e)
+
+#. Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
+
+ - Firmware version: 5.05
+ - Device id (pf/vf): 8086:1583 / 8086:154c
+ - Driver version: 1.5.23 (i40e)
+
+#. Intel(R) Corporation I350 Gigabit Network Connection
+
+ - Firmware version: 1.48, 0x800006e7
+ - Device id (pf/vf): 8086:1521 / 8086:1520
+ - Driver version: 5.2.13-k (igb)
+
+#. Intel(R) Ethernet Multi-host Controller FM10000
+
+ - Firmware version: N/A
+ - Device id (pf/vf): 8086:15d0
+ - Driver version: 0.17.0.9 (fm10k)
+
+#. Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 14.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 14.17.1010
+
+
+Tested OSes
+-----------
+
+.. This section should contain a list of OSes that were tested with this release.
+ The format is as follows, in alphabetical order:
+
+ * CentOS 7.0
+ * Fedora 23
+ * Fedora 24
+ * FreeBSD 10.3
+ * Red Hat Enterprise Linux 7.2
+ * SUSE Enterprise Linux 12
+ * Ubuntu 15.10
+ * Ubuntu 16.04 LTS
+ * Wind River Linux 8
+
+ This section is a comment. Make sure to start the actual text at the margin.
+
+* CentOS 7.2
+* Fedora 23
+* Fedora 24
+* FreeBSD 10.3
+* FreeBSD 11
+* Red Hat Enterprise Linux Server release 6.7 (Santiago)
+* Red Hat Enterprise Linux Server release 7.0 (Maipo)
+* Red Hat Enterprise Linux Server release 7.2 (Maipo)
+* SUSE Enterprise Linux 12
+* Wind River Linux 6.0.0.26
+* Wind River Linux 8
+* Ubuntu 14.04
+* Ubuntu 15.04
+* Ubuntu 16.04