aboutsummaryrefslogtreecommitdiffstats
path: root/doc/guides/rel_notes/release_18_02.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/guides/rel_notes/release_18_02.rst')
-rw-r--r--doc/guides/rel_notes/release_18_02.rst567
1 files changed, 567 insertions, 0 deletions
diff --git a/doc/guides/rel_notes/release_18_02.rst b/doc/guides/rel_notes/release_18_02.rst
new file mode 100644
index 00000000..44b7de59
--- /dev/null
+++ b/doc/guides/rel_notes/release_18_02.rst
@@ -0,0 +1,567 @@
+DPDK Release 18.02
+==================
+
+.. **Read this first.**
+
+ The text in the sections below explains how to update the release notes.
+
+ Use proper spelling, capitalization and punctuation in all sections.
+
+ Variable and config names should be quoted as fixed width text:
+ ``LIKE_THIS``.
+
+ Build the docs and view the output file to ensure the changes are correct::
+
+ make doc-guides-html
+
+ xdg-open build/doc/html/guides/rel_notes/release_18_02.html
+
+
+New Features
+------------
+
+.. This section should contain new features added in this release. Sample
+ format:
+
+ * **Add a title in the past tense with a full stop.**
+
+ Add a short 1-2 sentence description in the past tense. The description
+ should be enough to allow someone scanning the release notes to
+ understand the new feature.
+
+ If the feature adds a lot of sub-features you can use a bullet list like
+ this:
+
+ * Added feature foo to do something.
+ * Enhanced feature bar to do something else.
+
+ Refer to the previous release notes for examples.
+
+ This section is a comment. do not overwrite or remove it.
+ Also, make sure to start the actual text at the margin.
+ =========================================================
+
+* **Added function to allow releasing internal EAL resources on exit.**
+
+ During ``rte_eal_init()`` EAL allocates memory from hugepages to enable its
+ core libraries to perform their tasks. The ``rte_eal_cleanup()`` function
+ releases these resources, ensuring that no hugepage memory is leaked. It is
+ expected that all DPDK applications call ``rte_eal_cleanup()`` before
+ exiting. Not calling this function could result in leaking hugepages, leading
+ to failure during initialization of secondary processes.
+
+* **Added igb, ixgbe and i40e ethernet driver to support RSS with flow API.**
+
+ Added support for igb, ixgbe and i40e NICs with existing RSS configuration
+ using the ``rte_flow`` API.
+
+ Also enabled queue region configuration using the ``rte_flow`` API for i40e.
+
+* **Updated i40e driver to support PPPoE/PPPoL2TP.**
+
+ Updated i40e PMD to support PPPoE/PPPoL2TP with PPPoE/PPPoL2TP supporting
+ profiles which can be programmed by dynamic device personalization (DDP)
+ process.
+
+* **Added MAC loopback support for i40e.**
+
+ Added MAC loopback support for i40e in order to support test tasks requested
+ by users. It will setup ``Tx -> Rx`` loopback link according to the device
+ configuration.
+
+* **Added support of run time determination of number of queues per i40e VF.**
+
+ The number of queue per VF is determined by its host PF. If the PCI address
+ of an i40e PF is ``aaaa:bb.cc``, the number of queues per VF can be
+ configured with EAL parameter like ``-w aaaa:bb.cc,queue-num-per-vf=n``. The
+ value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
+ number of queues per VF is 4 by default.
+
+* **Updated mlx5 driver.**
+
+ Updated the mlx5 driver including the following changes:
+
+ * Enabled compilation as a plugin, thus removed the mandatory dependency with rdma-core.
+ With the special compilation, the rdma-core libraries will be loaded only in case
+ Mellanox device is being used. For binaries creation the PMD can be enabled, still not
+ requiring from every end user to install rdma-core.
+ * Improved multi-segment packet performance.
+ * Changed driver name to use the PCI address to be compatible with OVS-DPDK APIs.
+ * Extended statistics for physical port packet/byte counters.
+ * Converted to the new offloads API.
+ * Supported device removal check operation.
+
+* **Updated mlx4 driver.**
+
+ Updated the mlx4 driver including the following changes:
+
+ * Enabled compilation as a plugin, thus removed the mandatory dependency with rdma-core.
+ With the special compilation, the rdma-core libraries will be loaded only in case
+ Mellanox device is being used. For binaries creation the PMD can be enabled, still not
+ requiring from every end user to install rdma-core.
+ * Improved data path performance.
+ * Converted to the new offloads API.
+ * Supported device removal check operation.
+
+* **Added NVGRE and UDP tunnels support in Solarflare network PMD.**
+
+ Added support for NVGRE, VXLAN and GENEVE tunnels.
+
+ * Added support for UDP tunnel ports configuration.
+ * Added tunneled packets classification.
+ * Added inner checksum offload.
+
+* **Added AVF (Adaptive Virtual Function) net PMD.**
+
+ Added a new net PMD called AVF (Adaptive Virtual Function), which supports
+ IntelĀ® Ethernet Adaptive Virtual Function (AVF) with features such as:
+
+ * Basic Rx/Tx burst
+ * SSE vectorized Rx/Tx burst
+ * Promiscuous mode
+ * MAC/VLAN offload
+ * Checksum offload
+ * TSO offload
+ * Jumbo frame and MTU setting
+ * RSS configuration
+ * stats
+ * Rx/Tx descriptor status
+ * Link status update/event
+
+* **Added feature supports for live migration from vhost-net to vhost-user.**
+
+ Added feature supports for vhost-user to make live migration from vhost-net
+ to vhost-user possible. The features include:
+
+ * ``VIRTIO_F_ANY_LAYOUT``
+ * ``VIRTIO_F_EVENT_IDX``
+ * ``VIRTIO_NET_F_GUEST_ECN``, ``VIRTIO_NET_F_HOST_ECN``
+ * ``VIRTIO_NET_F_GUEST_UFO``, ``VIRTIO_NET_F_HOST_UFO``
+ * ``VIRTIO_NET_F_GSO``
+
+ Also added ``VIRTIO_NET_F_GUEST_ANNOUNCE`` feature support in virtio pmd.
+ In a scenario where the vhost backend doesn't have the ability to generate
+ RARP packets, the VM running virtio pmd can still be live migrated if
+ ``VIRTIO_NET_F_GUEST_ANNOUNCE`` feature is negotiated.
+
+* **Updated the AESNI-MB PMD.**
+
+ The AESNI-MB PMD has been updated with additional support for:
+
+ * AES-CCM algorithm.
+
+* **Updated the DPAA_SEC crypto driver to support rte_security.**
+
+ Updated the ``dpaa_sec`` crypto PMD to support ``rte_security`` lookaside
+ protocol offload for IPsec.
+
+* **Added Wireless Base Band Device (bbdev) abstraction.**
+
+ The Wireless Baseband Device library is an acceleration abstraction
+ framework for 3gpp Layer 1 processing functions that provides a common
+ programming interface for seamless operation on integrated or discrete
+ hardware accelerators or using optimized software libraries for signal
+ processing.
+
+ The current release only supports 3GPP CRC, Turbo Coding and Rate
+ Matching operations, as specified in 3GPP TS 36.212.
+
+ See the :doc:`../prog_guide/bbdev` programmer's guide for more details.
+
+* **Added New eventdev Ordered Packet Distribution Library (OPDL) PMD.**
+
+ The OPDL (Ordered Packet Distribution Library) eventdev is a specific
+ implementation of the eventdev API. It is particularly suited to packet
+ processing workloads that have high throughput and low latency requirements.
+ All packets follow the same path through the device. The order in which
+ packets follow is determined by the order in which queues are set up.
+ Events are left on the ring until they are transmitted. As a result packets
+ do not go out of order.
+
+ With this change, applications can use the OPDL PMD via the eventdev api.
+
+* **Added new pipeline use case for dpdk-test-eventdev application.**
+
+ Added a new "pipeline" use case for the ``dpdk-test-eventdev`` application.
+ The pipeline case can be used to simulate various stages in a real world
+ application from packet receive to transmit while maintaining the packet
+ ordering. It can also be used to measure the performance of the event device
+ across the stages of the pipeline.
+
+ The pipeline use case has been made generic to work with all the event
+ devices based on the capabilities.
+
+* **Updated Eventdev sample application to support event devices based on capability.**
+
+ Updated the Eventdev pipeline sample application to support various types of
+ pipelines based on the capabilities of the attached event and ethernet
+ devices. Also, renamed the application from software PMD specific
+ ``eventdev_pipeline_sw_pmd`` to the more generic ``eventdev_pipeline``.
+
+* **Added Rawdev, a generic device support library.**
+
+ The Rawdev library provides support for integrating any generic device type with
+ the DPDK framework. Generic devices are those which do not have a pre-defined
+ type within DPDK, for example, ethernet, crypto, event etc.
+
+ A set of northbound APIs have been defined which encompass a generic set of
+ operations by allowing applications to interact with device using opaque
+ structures/buffers. Also, southbound APIs provide a means of integrating devices
+ either as as part of a physical bus (PCI, FSLMC etc) or through ``vdev``.
+
+ See the :doc:`../prog_guide/rawdev` programmer's guide for more details.
+
+* **Added new multi-process communication channel.**
+
+ Added a generic channel in EAL for multi-process (primary/secondary) communication.
+ Consumers of this channel need to register an action with an action name to response
+ a message received; the actions will be identified by the action name and executed
+ in the context of a new dedicated thread for this channel. The list of new APIs:
+
+ * ``rte_mp_register`` and ``rte_mp_unregister`` are for action (un)registration.
+ * ``rte_mp_sendmsg`` is for sending a message without blocking for a response.
+ * ``rte_mp_request`` is for sending a request message and will block until
+ it gets a reply message which is sent from the peer by ``rte_mp_reply``.
+
+* **Added GRO support for VxLAN-tunneled packets.**
+
+ Added GRO support for VxLAN-tunneled packets. Supported VxLAN packets
+ must contain an outer IPv4 header and inner TCP/IPv4 headers. VxLAN
+ GRO doesn't check if input packets have correct checksums and doesn't
+ update checksums for output packets. Additionally, it assumes the
+ packets are complete (i.e., ``MF==0 && frag_off==0``), when IP
+ fragmentation is possible (i.e., ``DF==0``).
+
+* **Increased default Rx and Tx ring size in sample applications.**
+
+ Increased the default ``RX_RING_SIZE`` and ``TX_RING_SIZE`` to 1024 entries
+ in testpmd and the sample applications to give better performance in the
+ general case. The user should experiment with various Rx and Tx ring sizes
+ for their specific application to get best performance.
+
+* **Added new DPDK build system using the tools "meson" and "ninja" [EXPERIMENTAL].**
+
+ Added support for building DPDK using ``meson`` and ``ninja``, which gives
+ additional features, such as automatic build-time configuration, over the
+ current build system using ``make``. For instructions on how to do a DPDK build
+ using the new system, see the instructions in ``doc/build-sdk-meson.txt``.
+
+ .. note::
+
+ This new build system support is incomplete at this point and is added
+ as experimental in this release. The existing build system using ``make``
+ is unaffected by these changes, and can continue to be used for this
+ and subsequent releases until such time as it's deprecation is announced.
+
+
+Shared Library Versions
+-----------------------
+
+.. Update any library version updated in this release and prepend with a ``+``
+ sign, like this:
+
+ librte_acl.so.2
+ + librte_cfgfile.so.2
+ librte_cmdline.so.2
+
+ This section is a comment. do not overwrite or remove it.
+ =========================================================
+
+
+The libraries prepended with a plus sign were incremented in this version.
+
+.. code-block:: diff
+
+ librte_acl.so.2
+ + librte_bbdev.so.1
+ librte_bitratestats.so.2
+ librte_bus_dpaa.so.1
+ librte_bus_fslmc.so.1
+ librte_bus_pci.so.1
+ librte_bus_vdev.so.1
+ librte_cfgfile.so.2
+ librte_cmdline.so.2
+ librte_cryptodev.so.4
+ librte_distributor.so.1
+ librte_eal.so.6
+ librte_ethdev.so.8
+ librte_eventdev.so.3
+ librte_flow_classify.so.1
+ librte_gro.so.1
+ librte_gso.so.1
+ librte_hash.so.2
+ librte_ip_frag.so.1
+ librte_jobstats.so.1
+ librte_kni.so.2
+ librte_kvargs.so.1
+ librte_latencystats.so.1
+ librte_lpm.so.2
+ librte_mbuf.so.3
+ 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
+ librte_pmd_bond.so.2
+ librte_pmd_i40e.so.2
+ librte_pmd_ixgbe.so.2
+ librte_pmd_ring.so.2
+ librte_pmd_softnic.so.1
+ librte_pmd_vhost.so.2
+ librte_port.so.3
+ librte_power.so.1
+ + librte_rawdev.so.1
+ librte_reorder.so.1
+ librte_ring.so.1
+ librte_sched.so.1
+ librte_security.so.1
+ librte_table.so.3
+ librte_timer.so.1
+ librte_vhost.so.3
+
+
+
+Tested Platforms
+----------------
+
+.. This section should contain a list of platforms that were tested with this
+ release.
+
+ The format is:
+
+ * <vendor> platform with <vendor> <type of devices> combinations
+
+ * List of CPU
+ * List of OS
+ * List of devices
+ * Other relevant details...
+
+ This section is a comment. do not overwrite or remove it.
+ Also, make sure to start the actual text at the margin.
+ =========================================================
+
+* Intel(R) platforms with Intel(R) NICs combinations
+
+ * CPU
+
+ * Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
+ * Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
+ * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
+ * Intel(R) Xeon(R) CPU E5-4667 v3 @ 2.00GHz
+ * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+ * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
+ * Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
+ * Intel(R) Xeon(R) CPU E5-2658 v2 @ 2.40GHz
+ * Intel(R) Xeon(R) CPU E5-2658 v3 @ 2.20GHz
+ * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
+
+ * OS:
+
+ * CentOS 7.2
+ * Fedora 25
+ * Fedora 26
+ * Fedora 27
+ * FreeBSD 11
+ * Red Hat Enterprise Linux Server release 7.3
+ * SUSE Enterprise Linux 12
+ * Wind River Linux 8
+ * Ubuntu 14.04
+ * Ubuntu 16.04
+ * Ubuntu 16.10
+ * Ubuntu 17.10
+
+ * NICs:
+
+ * Intel(R) 82599ES 10 Gigabit Ethernet Controller
+
+ * Firmware version: 0x61bf0001
+ * Device id (pf/vf): 8086:10fb / 8086:10ed
+ * Driver version: 5.2.3 (ixgbe)
+
+ * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
+
+ * Firmware version: 0x800003e7
+ * Device id (pf/vf): 8086:15ad / 8086:15a8
+ * Driver version: 4.4.6 (ixgbe)
+
+ * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
+
+ * Firmware version: 6.01 0x80003221
+ * Device id (pf/vf): 8086:1572 / 8086:154c
+ * Driver version: 2.4.3 (i40e)
+
+ * Intel Corporation Ethernet Connection X722 for 10GBASE-T
+
+ * firmware-version: 6.01 0x80003221
+ * Device id: 8086:37d2 / 8086:154c
+ * Driver version: 2.4.3 (i40e)
+
+ * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
+
+ * Firmware version: 6.01 0x80003221
+ * Device id (pf/vf): 8086:158b / 8086:154c
+ * Driver version: 2.4.3 (i40e)
+
+ * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
+
+ * Firmware version: 6.01 0x8000321c
+ * Device id (pf/vf): 8086:1583 / 8086:154c
+ * Driver version: 2.4.3 (i40e)
+
+ * Intel(R) Corporation I350 Gigabit Network Connection
+
+ * Firmware version: 1.63, 0x80000dda
+ * Device id (pf/vf): 8086:1521 / 8086:1520
+ * Driver version: 5.3.0-k (igb)
+
+* Intel(R) platforms with Mellanox(R) NICs combinations
+
+ * CPU:
+
+ * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
+ * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
+ * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+ * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
+ * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
+ * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
+
+ * OS:
+
+ * Red Hat Enterprise Linux Server release 7.5 Beta (Maipo)
+ * Red Hat Enterprise Linux Server release 7.4 (Maipo)
+ * Red Hat Enterprise Linux Server release 7.3 (Maipo)
+ * Red Hat Enterprise Linux Server release 7.2 (Maipo)
+ * Ubuntu 17.10
+ * Ubuntu 16.10
+ * Ubuntu 16.04
+
+ * MLNX_OFED: 4.2-1.0.0.0
+ * MLNX_OFED: 4.3-0.1.6.0
+
+ * NICs:
+
+ * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1007
+ * Firmware version: 2.42.5000
+
+ * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * Firmware version: 12.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * Firmware version: 14.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * Firmware version: 14.21.1000 and above
+
+ * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1017
+ * Firmware version: 16.21.1000 and above
+
+ * Mellanox(R) ConnectX-5 Ex EN 100G MCX516A-CDAT (2x100G)
+
+ * Host interface: PCI Express 4.0 x16
+ * Device ID: 15b3:1019
+ * Firmware version: 16.21.1000 and above
+
+* ARM platforms with Mellanox(R) NICs combinations
+
+ * CPU:
+
+ * Qualcomm ARM 1.1 2500MHz
+
+ * OS:
+
+ * Ubuntu 16.04
+
+ * MLNX_OFED: 4.2-1.0.0.0
+
+ * NICs:
+
+ * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * Firmware version: 14.21.1000
+
+ * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1017
+ * Firmware version: 16.21.1000