doc: update release notes for mlx5
[dpdk.git] / doc / guides / rel_notes / release_16_11.rst
index 88106f9..3d93b43 100644 (file)
@@ -36,6 +36,37 @@ New Features
 
      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 by 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 dequeue path is saved, which is meant 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 VM2NIC case, there
+  are some limitations, yet the boost is not that impressive as VM2VM case.
+  It may even drop quite a bit for small packets.
+
+  For such reason, this feature is disabled by default. It can be enabled when
+  ``RTE_VHOST_USER_DEQUEUE_ZERO_COPY`` flag is given. Check the vhost section
+  at programming guide for more information.
+
 * **Added vhost-user indirect descriptors support.**
 
   If indirect descriptor feature is negotiated, each packet sent by the guest
@@ -52,6 +83,12 @@ New Features
 
   Added extended statistics to vhost PMD from per port perspective.
 
+* **Supported offloads with virtio.**
+
+  * Rx/Tx checksums
+  * LRO
+  * TSO
+
 * **Added virtio NEON support for ARM.**
 
 * **Updated the ixgbe base driver.**
@@ -64,6 +101,24 @@ New Features
   * increase mailbox version to ixgbe_mbox_api_13
   * add two MAC ops for Hyper-V support
 
+* **Added API's for VF management to the ixgbe PMD.**
+
+  Eight new API's 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.**
+
+  * Use interrupt for link status checking instead of polling
+  * More flow director modes on UCS Blade with firmware version >= 2.0(13e)
+  * Full support for MTU update
+  * Support for rte_eth_rx_queue_count function
+
+* **Updated the mlx5 driver.**
+
+  * Add support for RSS hash result
+  * Several performance improvements
+  * Several bug fixes
+
 * **Updated the QAT PMD.**
 
   The QAT PMD was updated with following support:
@@ -71,8 +126,28 @@ New Features
   * 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.
+  All cryptography operations are using Openssl library crypto API.
+
+* **Updated the IPsec example with following support:**
+
+  * configuration file
+  * 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 as ``-march`` flag.
 
 
 Resolved Issues
@@ -96,6 +171,12 @@ EAL
 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.**
+
 
 Libraries
 ~~~~~~~~~
@@ -141,6 +222,35 @@ API Changes
 * 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**
+
+  Device and driver relationship has been restructured by introducing generic
+  classes. This paves way for having PCI, VDEV and other device types as
+  just instantiated objects rather than classes in themselves. Hotplugging too
+  has been generalized into EAL so that ethernet or crypto devices can use the
+  common infrastructure.
+
+  * removed ``pmd_type`` as 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 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``.
+  * helpers and support macros have been renamed 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
 -----------
@@ -172,13 +282,13 @@ The libraries prepended with a plus sign were incremented in this version.
 
 .. code-block:: diff
 
-     libethdev.so.4
      librte_acl.so.2
      librte_cfgfile.so.2
      librte_cmdline.so.2
-     librte_cryptodev.so.1
+   + 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
@@ -188,6 +298,7 @@ The libraries prepended with a plus sign were incremented in this version.
      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
@@ -216,6 +327,24 @@ Tested Platforms
 
    This section is a comment. Make sure to start the actual text at the margin.
 
+#. 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-2680 v2 @ 2.80GHz
+
+#. 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
 -----------
@@ -231,6 +360,97 @@ Tested NICs
 
    This section is a comment. Make sure to start the actual text at the margin.
 
+#. 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
 -----------
@@ -249,3 +469,10 @@ Tested OSes
    * Wind River Linux 8
 
    This section is a comment. Make sure to start the actual text at the margin.
+
+* 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)
+* Wind River Linux 6.0.0.26
+* Ubuntu 14.04
+* Ubuntu 15.04