mem: allow memseg lists to be marked as external
[dpdk.git] / doc / guides / rel_notes / release_18_11.rst
index 24204e6..6a54ad5 100644 (file)
@@ -54,6 +54,56 @@ New Features
      Also, make sure to start the actual text at the margin.
      =========================================================
 
+* **Add support to offload more flow match and actions for CXGBE PMD**
+
+  Flow API support has been enhanced for CXGBE Poll Mode Driver to offload:
+
+  * Match items: destination MAC address.
+  * Action items: push/pop/rewrite vlan header.
+
+* **Added a devarg to use the latest supported vector path in i40e.**
+  A new devarg ``use-latest-supported-vec`` was introduced to allow users to
+  choose the latest vector path that the platform supported. For example, users
+  can use AVX2 vector path on BDW/HSW to get better performance.
+
+* **Added support for SR-IOV in netvsc PMD.**
+
+  The ``netvsc`` poll mode driver now supports the Accelerated Networking
+  SR-IOV option in Hyper-V and Azure. This is an alternative to the previous
+  vdev_netvsc, tap, and failsafe drivers combination.
+
+* **Updated failsafe driver.**
+
+  Updated the failsafe driver including the following changes:
+
+  * Support for Rx and Tx queues start and stop.
+  * Support for Rx and Tx queues deferred start.
+  * Support for runtime Rx and Tx queues setup.
+  * Support multicast MAC address set.
+
+* **Added Event Ethernet Tx Adapter.**
+
+  Added event ethernet Tx adapter library that  provides configuration and
+  data path APIs for the ethernet transmit stage of an event driven packet
+  processing application. These APIs abstract the implementation of the
+  transmit stage and allow the application to use eventdev PMD support or
+  a common implementation.
+
+* **Added Distributed Software Eventdev PMD.**
+
+  Added the new Distributed Software Event Device (DSW), which is a
+  pure-software eventdev driver distributing the work of scheduling
+  among all eventdev ports and the lcores using them. DSW, compared to
+  the SW eventdev PMD, sacrifices load balancing performance to
+  gain better event scheduling throughput and scalability.
+
+* **Added ability to switch queue deferred start flag on testpmd app.**
+
+  Added a console command to testpmd app, giving ability to switch
+  ``rx_deferred_start`` or ``tx_deferred_start`` flag of the specified queue of
+  the specified port. The port must be stopped before the command call in order
+  to reconfigure queues.
+
 
 API Changes
 -----------
@@ -68,12 +118,31 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* eal: ``rte_memseg_list`` structure now has an additional flag indicating
+  whether the memseg list is externally allocated. This will have implications
+  for any users of memseg-walk-related functions, as they will now have to skip
+  externally allocated segments in most cases if the intent is to only iterate
+  over internal DPDK memory.
+
+* mbuf: The ``__rte_mbuf_raw_free()`` and ``__rte_pktmbuf_prefree_seg()``
+  functions were deprecated since 17.05 and are replaced by
+  ``rte_mbuf_raw_free()`` and ``rte_pktmbuf_prefree_seg()``.
+
 * A new device flag, RTE_ETH_DEV_NOLIVE_MAC_ADDR, changes the order of
   actions inside rte_eth_dev_start regarding MAC set. Some NICs do not
   support MAC changes once the port has started and with this new device
   flag the MAC can be properly configured in any case. This is particularly
   important for bonding.
 
+* The default behaviour of CRC strip offload changed. Without any specific Rx
+  offload flag, default behavior by PMD is now to strip CRC.
+  DEV_RX_OFFLOAD_CRC_STRIP offload flag has been removed.
+  To request keeping CRC, application should set ``DEV_RX_OFFLOAD_KEEP_CRC`` Rx
+  offload.
+
+* eventdev: Type of 2nd parameter to ``rte_event_eth_rx_adapter_caps_get()``
+  has been changed from uint8_t to uint16_t.
+
 
 ABI Changes
 -----------
@@ -89,6 +158,17 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* eal: added ``legacy_mem`` and ``single_file_segments`` values to
+       ``rte_config`` structure on account of improving DPDK usability when
+       using either ``--legacy-mem`` or ``--single-file-segments`` flags.
+
+* eal: EAL library ABI version was changed due to previously announced work on
+       supporting external memory in DPDK:
+         - structure ``rte_memseg_list`` now has a new field indicating length
+           of memory addressed by the segment list
+         - structure ``rte_memseg_list`` now has a new flag indicating whether
+           the memseg list refers to external memory
+
 
 Removed Items
 -------------
@@ -128,16 +208,16 @@ 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_bus_vmbus.so.1
      librte_cfgfile.so.2
      librte_cmdline.so.2
      librte_common_octeontx.so.1
      librte_compressdev.so.1
      librte_cryptodev.so.5
      librte_distributor.so.1
-     librte_eal.so.8
+   + librte_eal.so.9
      librte_ethdev.so.10
-     librte_eventdev.so.4
+   + librte_eventdev.so.6
      librte_flow_classify.so.1
      librte_gro.so.1
      librte_gso.so.1
@@ -165,6 +245,7 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_pmd_ring.so.2
      librte_pmd_softnic.so.1
      librte_pmd_vhost.so.2
+   + librte_pmd_netvsc.so.1
      librte_port.so.3
      librte_power.so.1
      librte_rawdev.so.1
@@ -191,6 +272,10 @@ Known Issues
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* When using SR-IOV (VF) support with netvsc PMD and the Mellanox mlx5 bifurcated
+  driver; the Linux netvsc device must be brought up before the netvsc device is
+  unbound and passed to the DPDK.
+
 
 Tested Platforms
 ----------------
@@ -210,4 +295,3 @@ Tested Platforms
    This section is a comment. Do not overwrite or remove it.
    Also, make sure to start the actual text at the margin.
    =========================================================
-