doc: add softnic documentation
[dpdk.git] / doc / guides / rel_notes / release_18_08.rst
index b051e60..655e8a8 100644 (file)
@@ -41,10 +41,19 @@ New Features
      Also, make sure to start the actual text at the margin.
      =========================================================
 
+* **Added support for Hyper-V netvsc PMD.**
+
+  The new ``netvsc`` poll mode driver provides native support for
+  networking on Hyper-V. See the :doc:`../nics/netvsc` NIC driver guide
+  for more details on this new driver.
+
 * **Added Flow API support for CXGBE PMD.**
 
   Flow API support has been added to CXGBE Poll Mode Driver to offload
-  flows to Chelsio T5/T6 NICs.
+  flows to Chelsio T5/T6 NICs. Support added for:
+  * Wildcard (LE-TCAM) and Exact (HASH) match filters.
+  * Match items: physical ingress port, IPv4, IPv6, TCP and UDP.
+  * Action items: queue, drop, count, and physical egress port redirect.
 
 * **Added ixgbe preferred Rx/Tx parameters.**
 
@@ -61,13 +70,34 @@ New Features
 
 * **Updated the enic driver.**
 
-  * Add support for mbuf fast free offload.
-  * Add low cycle count Tx handler for no-offload Tx (except mbuf fast free).
+  * Add low cycle count Tx handler for no-offload Tx.
   * Add low cycle count Rx handler for non-scattered Rx.
   * Minor performance improvements to scattered Rx handler.
   * Add handlers to add/delete VxLAN port number.
   * Add devarg to specify ingress VLAN rewrite mode.
 
+* **SoftNIC PMD rework.**
+
+  The SoftNIC PMD infrastructure is restructured to use the Packet Framework,
+  which makes it more flexible, modular and easier to add new functionality
+  in future.
+
+* **Updated the AESNI MB PMD.**
+
+  The AESNI MB PMD has been updated with additional support for:
+
+  * 3DES for 8, 16 and 24 byte keys.
+
+* **Added a new compression PMD using Intel's QuickAssist (QAT) device family.**
+
+  Added the new ``QAT`` compression driver, for compression and decompression
+  operations in software. See the :doc:`../compressdevs/qat_comp` compression
+  driver guide for details on this new driver.
+
+* **Updated the ISA-L PMD.**
+
+  Added support for chained mbufs (input and output).
+
 
 API Changes
 -----------
@@ -82,13 +112,61 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* Path to runtime config file has changed. The new path is determined as
+  follows:
+
+  - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config``
+  - If DPDK is not running as root:
+
+    * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config``
+    * Otherwise, ``/tmp/dpdk/<prefix>/config``
+
 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
   has been replaced with field ``struct rte_device *device``.
   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
   supports an unlimited number of sessions.
+  Two new fields of type ``uint16_t`` have been added:
+  ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
+  These parameters specify the recommended headroom and tailroom for mbufs
+  to be processed by the PMD.
+
+* cryptodev: Following functions were deprecated and are removed in 18.08:
+
+  - ``rte_cryptodev_queue_pair_start``
+  - ``rte_cryptodev_queue_pair_stop``
+  - ``rte_cryptodev_queue_pair_attach_sym_session``
+  - ``rte_cryptodev_queue_pair_detach_sym_session``
+
+* cryptodev: Following functions were deprecated and are replaced by
+  other functions in 18.08:
+
+  - ``rte_cryptodev_get_header_session_size`` is replaced with
+    ``rte_cryptodev_sym_get_header_session_size``
+  - ``rte_cryptodev_get_private_session_size`` is replaced with
+    ``rte_cryptodev_sym_get_private_session_size``
+
+* cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
+  replaced with the following more explicit flags:
+
+  - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
+  - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
+  - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
+  - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
+  - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
+
+* cryptodev: Renamed cryptodev experimental APIs:
+
+  Used user_data instead of private_data in following APIs to avoid confusion
+  with the existing session parameter ``sess_private_data[]`` and related APIs.
+
+  - ``rte_cryptodev_sym_session_set_private_data()`` changed to
+    ``rte_cryptodev_sym_session_set_user_data()``
+  - ``rte_cryptodev_sym_session_get_private_data()`` changed to
+    ``rte_cryptodev_sym_session_get_user_data()``
 
 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
   replaced with the following more explicit flags:
+
   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
@@ -147,6 +225,7 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_bus_fslmc.so.1
      librte_bus_pci.so.1
      librte_bus_vdev.so.1
+   + librte_bus_vmbus.so.1
      librte_cfgfile.so.2
      librte_cmdline.so.2
      librte_common_octeontx.so.1