doc: move dom0 removal notice in removed items
[dpdk.git] / doc / guides / rel_notes / release_17_11.rst
index 5d2ea99..e6e4407 100644 (file)
@@ -78,6 +78,28 @@ New Features
   Added new SoftNIC PMD. This virtual device offers applications a software
   fallback support for traffic management.
 
+* **Added support for NXP DPAA Devices.**
+
+  Added support for NXP's DPAA devices - LS104x series. This includes:
+
+  * DPAA Bus driver
+  * DPAA Mempool driver for supporting offloaded packet memory pool
+  * DPAA PMD for DPAA devices
+
+  See the "Network Interface Controller Drivers" document for more details of
+  this new driver.
+
+* **Updated support for Cavium OCTEONTX Device.**
+
+  Updated support for Cavium's OCTEONTX device(CN83xx). This includes:
+
+  * OCTEONTX Mempool driver for supporting offloaded packet memory pool
+  * OCTEONTX Ethdev PMD
+  * OCTEONTX Eventdev-Ethdev Rx adapter
+
+  See the "Network Interface Controller Drivers" document for more details of
+  this new driver.
+
 * **nfp: Added PF support.**
 
   Previously Netronome's NFP PMD had just support for VFs. PF support is
@@ -148,10 +170,43 @@ New Features
   that displays more detailed breakdown of CPU cycles used by hardware
   acceleration.
 
+* **Added the Security Offload Library.**
+
+  Added an experimental library - rte_security. It provide security APIs for
+  protocols like IPSec using inline ipsec offload to ethernet device or full
+  protocol offload with lookaside crypto device.
+
+  See the "Security_Library" section of the DPDK Programmers Guide document,
+  for more information.
+
+* **Updated DPAA2_SEC crypto driver.**
+
+  Updated dpaa2_sec crypto PMD to support rte_security lookaside protocol
+  offload for IPSec.
+
+* **Updated IXGBE ethernet driver.**
+
+  Updated ixgbe ethernet PMD to support rte_security inline IPSec offload.
+
+* **Updated ipsec-secgw application**
+
+  Updated ipsec-secgw sample application to support rte_security actions for
+  ipsec inline and full protocol offload using lookaside crypto offload.
+
 * **Added IOMMU support to libvhost-user**
 
   Implemented device IOTLB in Vhost-user backend, and enabled Virtio's IOMMU
-  feature.
+  feature. The feature is disabled by default, and can be enabled by setting
+  RTE_VHOST_USER_IOMMU_SUPPORT flag at vhost device registration time.
+
+* **Added the Event Ethernet Adapter Library.**
+
+  Added the Event Ethernet Adapter library. It provices APIs for
+  eventdev applications to configure the ethdev to eventdev packet flow.
+
+* **Updated DPAA2 Event PMD.**
+
+  Added support for eventdev ethernet adapter for DPAA2.
 
 * **Added Membership library (rte_member).**
 
@@ -273,6 +328,12 @@ API Changes
   The size of internal device name is increased to 64 characters
   to allow for storing longer bus specific name.
 
+* **Ethdev flag RTE_ETH_DEV_DETACHABLE was removed**
+
+  This flag is not necessary anymore, with the new hotplug implementation.
+  It is now removed from the ether library. Its semantic is expressed at the bus
+  and PMD level.
+
 * **Service cores API updated for usability**
 
   The service cores API has been changed, removing pointers from the API
@@ -294,11 +355,63 @@ API Changes
   * Added ``flags`` param in ``rte_mempool_xmem_size`` and
     ``rte_mempool_xmem_usage``.
 
-* Xen dom0 in EAL was removed, as well as xenvirt PMD and vhost_xen.
-
 * ``rte_mem_phy2mch`` was used in Xen dom0 to obtain the physical address;
   remove this API as Xen dom0 support was removed.
 
+* **Some data type, structure members and functions related to physical address
+  are deprecated and have new alias with IOVA wording.**
+
+  * ``phys_addr_t`` can be often replaced by ``rte_iova_t`` of same size.
+  * ``RTE_BAD_PHYS_ADDR`` is often replaced by ``RTE_BAD_IOVA`` of same value.
+  * ``rte_memseg.phys_addr`` is aliased with ``rte_memseg.iova_addr``.
+  * ``rte_mem_virt2phy()`` can often be replaced by ``rte_mem_virt2iova``.
+  * ``rte_malloc_virt2phy`` is aliased with ``rte_malloc_virt2iova``.
+  * ``rte_memzone.phys_addr`` is aliased with ``rte_memzone.iova``.
+  * ``rte_mempool_objhdr.physaddr`` is aliased with ``rte_mempool_objhdr.iova``.
+  * ``rte_mempool_memhdr.phys_addr`` is aliased with ``rte_mempool_memhdr.iova``.
+  * ``rte_mempool_virt2phy()`` can be replaced by ``rte_mempool_virt2iova()``.
+  * ``rte_mempool_populate_phys*()`` are aliased with ``rte_mempool_populate_iova*()``
+  * ``rte_mbuf.buf_physaddr`` is aliased with ``rte_mbuf.buf_iova``.
+  * ``rte_mbuf_data_dma_addr*()`` are aliased with ``rte_mbuf_data_iova*()``.
+  * ``rte_pktmbuf_mtophys*`` are aliased with ``rte_pktmbuf_iova*()``.
+
+* **PCI bus API moved outside of the EAL**
+
+  The PCI bus previously implemented within the EAL has been moved.
+  A first part has been added as an RTE library providing PCI helpers to
+  parse device locations or other such utilities.
+  A second part consisting in the actual bus driver has been moved to its
+  proper subdirectory, without changing its functionalities.
+
+  As such, several PCI-related functions are not proposed by the EAL anymore:
+
+  * rte_pci_detach
+  * rte_pci_dump
+  * rte_pci_ioport_map
+  * rte_pci_ioport_read
+  * rte_pci_ioport_unmap
+  * rte_pci_ioport_write
+  * rte_pci_map_device
+  * rte_pci_probe
+  * rte_pci_probe_one
+  * rte_pci_read_config
+  * rte_pci_register
+  * rte_pci_scan
+  * rte_pci_unmap_device
+  * rte_pci_unregister
+  * rte_pci_write_config
+
+  These functions are made available either as part of ``librte_pci`` or
+  ``librte_bus_pci``.
+
+* **Moved vdev bus APIs outside of the EAL**
+
+  Moved the following APIs from ``librte_eal`` to ``librte_bus_vdev``:
+  * ``rte_vdev_init``
+  * ``rte_vdev_register``
+  * ``rte_vdev_uninit``
+  * ``rte_vdev_unregister``
+
 * **Add return value to stats_get dev op API**
 
   The ``stats_get`` dev op API return value has been changed to be int.
@@ -317,6 +430,9 @@ API Changes
   and have been replaced by non bus specific functions
   ``rte_cryptodev_pmd_parse_input_args()`` and ``rte_cryptodev_pmd_create()``.
 
+* ``rte_cryptodev_create_vdev`` was removed to avoid the dependency on vdev
+  in librte_cryptodev; instead, users can call rte_vdev_init() directly.
+
 * **Removed PCI device bus specific functions from librte_cryptodev.**
 
   The functions ``rte_cryptodev_pci_generic_probe()`` and
@@ -332,6 +448,26 @@ API Changes
   ``rte_log_get_global_level()``, ``rte_log_set_level()`` and
   ``rte_log_get_level()``.
 
+* **Removed ``mbuf`` flags ``PKT_RX_VLAN_PKT`` and ``PKT_RX_QINQ_PKT``.**
+
+  The ``mbuf`` flags ``PKT_RX_VLAN_PKT`` and ``PKT_RX_QINQ_PKT`` have
+  been removed since their behavior were not properly described.
+
+* **Added ``mbuf`` flags ``PKT_RX_VLAN`` and ``PKT_RX_QINQ``.**
+
+  Two ``mbuf`` flags have been added to indicate that the VLAN
+  identifier has been saved in in the ``mbuf`` structure. For instance:
+
+  - if VLAN is not stripped and TCI is saved: ``PKT_RX_VLAN``
+  - if VLAN is stripped and TCI is saved: ``PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED``
+
+* **Modified the vlan_offload_set_t function prototype in the ethdev library.**
+
+  Changed the function prototype of ``vlan_offload_set_t``.  The return value
+  has been changed from ``void`` to ``int`` so the caller to knows whether
+  the backing device supports the operation or if the operation was
+  successfully performed.
+
 
 ABI Changes
 -----------
@@ -351,6 +487,16 @@ ABI Changes
   The size of the field ``port_id`` in the ``rte_eth_dev_data`` structure
   changed, as described in the `New Features` section.
 
+* **New parameter added to rte_eth_dev.**
+
+  New parameter ``security_ctx``  added to ``rte_eth_dev`` to support security
+  operations like IPSec inline.
+
+* **New parameter added to rte_cryptodev.**
+
+  New parameter ``security_ctx``  added to ``rte_cryptodev`` to support security
+  operations like lookaside crypto.
+
 
 Removed Items
 -------------
@@ -364,6 +510,8 @@ Removed Items
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+* Xen dom0 in EAL was removed, as well as xenvirt PMD and vhost_xen.
+
 * The crypto performance unit tests have been removed,
   replaced by the dpdk-test-crypto-perf application.
 
@@ -388,6 +536,7 @@ The libraries prepended with a plus sign were incremented in this version.
 
      librte_acl.so.2
    + librte_bitratestats.so.2
+   + librte_bus_vdev.so.1
      librte_cfgfile.so.2
      librte_cmdline.so.2
    + librte_cryptodev.so.4
@@ -406,10 +555,11 @@ The libraries prepended with a plus sign were incremented in this version.
      librte_latencystats.so.1
      librte_lpm.so.2
      librte_mbuf.so.3
-     librte_mempool.so.2
+   + librte_mempool.so.3
      librte_meter.so.1
      librte_metrics.so.1
      librte_net.so.1
+   + librte_pci.so.1
    + librte_pdump.so.2
      librte_pipeline.so.3
    + librte_pmd_bnxt.so.2