crypto/aesni_gcm: migrate from MB library to ISA-L
[dpdk.git] / doc / guides / rel_notes / release_17_02.rst
index dd5b3f8..fcb8add 100644 (file)
@@ -52,11 +52,141 @@ New Features
   See the :ref:`Generic flow API <Generic_flow_API>` documentation for more
   information.
 
+* **Added firmware version get API.**
+
+  Added a new function ``rte_eth_dev_fw_version_get()`` to fetch firmware
+  version by a given device.
+
 * **Added APIs for MACsec offload support to the ixgbe PMD.**
 
   Six new APIs have been added to the ixgbe PMD for MACsec offload support.
   The declarations for the APIs can be found in ``rte_pmd_ixgbe.h``.
 
+* **Added I219 NICs support.**
+
+  Added support for I219 Intel 1GbE NICs.
+
+* **Added VF Daemon (VFD) on i40e. - EXPERIMENTAL**
+
+  This's an EXPERIMENTAL feature to enhance the capability of DPDK PF as many
+  VF management features are not supported by kernel PF driver.
+  Some new private APIs are implemented in PMD without abstrction layer.
+  They can be used directly by some users who have the need.
+
+  The new APIs to control VFs directly from PF include,
+  1) set VF MAC anti-spoofing
+  2) set VF VLAN anti-spoofing
+  3) set TX loopback
+  4) set VF unicast promiscuous mode
+  5) set VF multicast promiscuous mode
+  6) set VF MTU
+  7) get/reset VF stats
+  8) set VF MAC address
+  9) set VF VLAN stripping
+  10) VF VLAN insertion
+  12) set VF broadcast mode
+  13) set VF VLAN tag
+  14) set VF VLAN filter
+  VFD also includes VF to PF mailbox message management by APP.
+  When PF receives mailbox messages from VF, PF should call the callback
+  provided by APP to know if they're permitted to be processed.
+
+  As an EXPERIMENTAL feature, please aware it can be changed or even
+  removed without prior notice.
+
+* **Updated the i40e base driver.**
+
+  updated the i40e base driver, including the following changes:
+
+  * replace existing legacy memcpy() calls with i40e_memcpy() calls.
+  * use BIT() macro instead of bit fields
+  * add clear all WoL filters implementation
+  * add broadcast promiscuous control per VLAN
+  * remove unused X722_SUPPORT and I40E_NDIS_SUPPORT MARCOs
+
+* **Added Solarflare libefx-based network PMD.**
+
+  A new network PMD which supports Solarflare SFN7xxx and SFN8xxx family
+  of 10/40 Gbps adapters has been added.
+
+* **Added support for Mellanox ConnectX-5 adapters (mlx5).**
+
+  Support for Mellanox ConnectX-5 family of 10/25/40/50/100 Gbps adapters
+  has been added to the existing mlx5 PMD.
+
+* **virtio-user with vhost-kernel as another exceptional path.**
+
+  Previously, we upstreamed a virtual device, virtio-user with vhost-user
+  as the backend, as a way for IPC (Inter-Process Communication) and user
+  space container networking.
+
+  Virtio-user with vhost-kernel as the backend is a solution for exceptional
+  path, such as KNI, which exchanges packets with kernel networking stack.
+  This solution is very promising in:
+
+  * maintenance: vhost and vhost-net (kernel) is upstreamed and extensively
+    used kernel module.
+  * features: vhost-net is born to be a networking solution, which has
+    lots of networking related features, like multi-queue, TSO, multi-seg
+    mbuf, etc.
+  * performance: similar to KNI, this solution would use one or more
+    kthreads to send/receive packets from user space DPDK applications,
+    which has little impact on user space polling thread (except that
+    it might enter into kernel space to wake up those kthreads if
+    necessary).
+
+* **Added virtio Rx interrupt suppprt.**
+
+  This feature enables Rx interrupt mode for virtio pci net devices as
+  binded to VFIO (noiommu mode) and drived by virtio PMD.
+
+  With this feature, virtio PMD can switch between polling mode and
+  interrupt mode, to achieve best performance, and at the same time save
+  power. It can work on both legacy and modern virtio devices. At this mode,
+  each rxq is mapped with an exluded MSIx interrupt.
+
+  See the :ref:`Virtio Interrupt Mode <virtio_interrupt_mode>` documentation
+  for more information.
+
+* **Updated the QAT PMD.**
+
+  The QAT PMD was updated with additional support for:
+
+  * DES algorithm.
+  * Scatter-gather list (SGL) support.
+
+* **Updated the AESNI MB PMD.**
+
+  * The Intel(R) Multi Buffer Crypto for IPsec library used in
+    AESNI MB PMD has been moved to a new repository, in GitHub.
+  * Support for single operations (cipher only and authentication only).
+
+* **Updated the AES-NI GCM PMD.**
+
+  The AES-NI GCM PMD was migrated from MB library to ISA-L library.
+  The migration entailed the following additional support for:
+
+  * GMAC algorithm.
+  * 256-bit cipher key.
+  * Session-less mode.
+  * Out-of place processing
+  * Scatter-gatter support for chained mbufs (only out-of place and destination
+    mbuf must be contiguous)
+
+* **Added Elastic Flow Distributor library (rte_efd).**
+
+  This new library uses perfect hashing to determine a target/value for a
+  given incoming flow key.
+
+  It does not store the key itself for lookup operations, and therefore,
+  lookup performance is not dependent on the key size. Also, the target/value
+  can be any arbitrary value (8 bits by default). Finally, the storage requirement
+  is much smaller than a hash-based flow table and therefore, it can better fit for
+  CPU cache, being able to scale to millions of flow keys.
+
+  See the :ref:`Elastic Flow Distributor Library <Efd_Library>` documentation in
+  the Programmers Guide document, for more information.
+
 
 Resolved Issues
 ---------------
@@ -131,6 +261,26 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* **Moved five APIs for VF management from the ethdev to the ixgbe PMD.**
+
+  The following five APIs for VF management from the PF have been removed from the ethdev,
+  renamed and added to the ixgbe PMD::
+
+    rte_eth_dev_set_vf_rate_limit
+    rte_eth_dev_set_vf_rx
+    rte_eth_dev_set_vf_rxmode
+    rte_eth_dev_set_vf_tx
+    rte_eth_dev_set_vf_vlan_filter
+
+  The API's have been renamed to the following::
+
+    rte_pmd_ixgbe_set_vf_rate_limit
+    rte_pmd_ixgbe_set_vf_rx
+    rte_pmd_ixgbe_set_vf_rxmode
+    rte_pmd_ixgbe_set_vf_tx
+    rte_pmd_ixgbe_set_vf_vlan_filter
+
+  The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
 
 ABI Changes
 -----------
@@ -171,7 +321,7 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_cryptodev.so.2
      librte_distributor.so.1
      librte_eal.so.3
-     librte_ethdev.so.5
+   + librte_ethdev.so.6
      librte_hash.so.2
      librte_ip_frag.so.1
      librte_jobstats.so.1