X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_17_11.rst;h=c7d88268d3d8b3f78fc884153734a82a507a8cd3;hb=8cfe3aaf34934a15610ea7a811312a47fa0e0a14;hp=5d2ea99008952da46214860f500ed8489d428817;hpb=93a91beef7b878baf804b5a236b8deab85cc4950;p=dpdk.git diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst index 5d2ea99008..c7d88268d3 100644 --- a/doc/guides/rel_notes/release_17_11.rst +++ b/doc/guides/rel_notes/release_17_11.rst @@ -59,6 +59,32 @@ New Features "Network Interface Controller Drivers" document for more details on this new driver. +* **Updated mlx4 driver.** + + Updated the mlx4 driver including the following changes: + + * Isolated mode (rte_flow) can now be enabled anytime, not only during + initial device configuration. + * Flow rules now support up to 4096 priority levels usable at will by + applications. + * Enhanced error message to help debugging invalid/unsupported flow rules. + * Flow rules matching all multicast and promiscuous traffic are now allowed. + * No more software restrictions on flow rules with the RSS action, their + configuration is much more flexible. + * Significantly reduced memory footprint for Rx and Tx queue objects. + * While supported, UDP RSS is temporarily disabled due to a remaining issue + with its support in the Linux kernel. + * The new RSS implementation does not automatically spread traffic according + to the inner packet of VXLAN frames anymore, only the outer one (like + other PMDs). + * Partial (Tx only) support for secondary processes was broken and had to be + removed. + * Refactored driver to get rid of dependency on the components provided by + Mellanox OFED and instead rely on the current and public rdma-core + package and Linux version from now on. + * Removed compile-time limitation on number of device instances the PMD + can support. + * **Updated mlx5 driver.** Updated the mlx5 driver including the following changes: @@ -78,6 +104,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 +196,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 +354,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 +381,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 +456,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 +474,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 +513,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 +536,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 +562,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 +581,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