1c6a53a6bSThomas Monjalon.. SPDX-License-Identifier: BSD-3-Clause 2c6a53a6bSThomas Monjalon Copyright 2019 The DPDK contributors 3c6a53a6bSThomas Monjalon 4f687e842SBruce Richardson.. include:: <isonum.txt> 5f687e842SBruce Richardson 6c6a53a6bSThomas MonjalonDPDK Release 19.08 7c6a53a6bSThomas Monjalon================== 8c6a53a6bSThomas Monjalon 9c6a53a6bSThomas MonjalonNew Features 10c6a53a6bSThomas Monjalon------------ 11c6a53a6bSThomas Monjalon 1279a0bbe5SAnatoly Burakov* **EAL will now pick IOVA as VA mode as the default in most cases.** 1379a0bbe5SAnatoly Burakov 1499ad894dSJohn McNamara Previously, the preferred default IOVA mode was selected to be IOVA as PA. The 1579a0bbe5SAnatoly Burakov behavior has now been changed to handle IOVA mode detection in a more complex 1679a0bbe5SAnatoly Burakov manner, and will default to IOVA as VA in most cases. 1779a0bbe5SAnatoly Burakov 182173f333SPhil Yang* **Added MCS lock.** 192173f333SPhil Yang 202173f333SPhil Yang MCS lock provides scalability by spinning on a CPU/thread local variable 2199ad894dSJohn McNamara which avoids expensive cache bouncing. 222173f333SPhil Yang It provides fairness by maintaining a list of acquirers and passing 232173f333SPhil Yang the lock to each CPU/thread in the order they acquired the lock. 242173f333SPhil Yang 253f002f06SMattias Rönnblom* **Updated the EAL Pseudo-random Number Generator.** 263f002f06SMattias Rönnblom 2799ad894dSJohn McNamara The ``lrand48()`` based ``rte_rand()`` function is replaced with a 283f002f06SMattias Rönnblom DPDK-native combined Linear Feedback Shift Register (LFSR) 293f002f06SMattias Rönnblom pseudo-random number generator (PRNG). 303f002f06SMattias Rönnblom 313f002f06SMattias Rönnblom This new PRNG implementation is multi-thread safe, provides 323f002f06SMattias Rönnblom higher-quality pseudo-random numbers (including full 64 bit 333f002f06SMattias Rönnblom support) and improved performance. 343f002f06SMattias Rönnblom 3599ad894dSJohn McNamara In addition, ``<rte_random.h>`` is extended with a new function 3699ad894dSJohn McNamara ``rte_rand_max()`` which supplies unbiased, bounded pseudo-random 375f4ed3f0SMattias Rönnblom numbers. 385f4ed3f0SMattias Rönnblom 3999ad894dSJohn McNamara* **Updated the Broadcom bnxt PMD.** 400b7591e3SAjit Khaparde 4199ad894dSJohn McNamara Updated the Broadcom bnxt PMD. The major enhancements include: 420b7591e3SAjit Khaparde 4399ad894dSJohn McNamara * Performance optimizations in non-vector Tx path. 4499ad894dSJohn McNamara * Added support for SSE vector mode. 4599ad894dSJohn McNamara * Updated HWRM API to version 1.10.0.91. 460b7591e3SAjit Khaparde 47f8168ca0SLance Richardson* **Added support for Broadcom NetXtreme-E BCM57500 Ethernet controllers.** 48f8168ca0SLance Richardson 4999ad894dSJohn McNamara Added support to the Broadcom bnxt PMD for the BCM57500 (a.k.a. "Thor") family 50f8168ca0SLance Richardson of Ethernet controllers. These controllers support link speeds up to 51f8168ca0SLance Richardson 200Gbps, 50G PAM-4, and PCIe 4.0. 52f8168ca0SLance Richardson 5399ad894dSJohn McNamara* **Added Huawei hinic PMD.** 541d09792aSZiyang Xuan 551d09792aSZiyang Xuan Added the new ``hinic`` net driver for Huawei Intelligent PCIE Network 561d09792aSZiyang Xuan Adapters based on the Huawei Ethernet Controller Hi1822. 571d09792aSZiyang Xuan See the :doc:`../nics/hinic` guide for more details on this new driver. 581d09792aSZiyang Xuan 5999ad894dSJohn McNamara* **Updated the Intel ice driver.** 60bd70c451SBeilei Xing 6199ad894dSJohn McNamara Updated the Intel ice driver with new features and improvements, including: 62bd70c451SBeilei Xing 63bd70c451SBeilei Xing * Enabled Tx outer/inner L3/L4 checksum offload. 64d76116a4SQiming Yang * Enabled generic filter framework and supported switch filter. 65d4c51362SQiming Yang * Supported UDP tunnel port add. 66bd70c451SBeilei Xing 679956d900SMesut Ali Ergin* **Updated the Intel i40e driver.** 689956d900SMesut Ali Ergin 699956d900SMesut Ali Ergin Updated tje Intel i40e driver with new features and improvements, including: 709956d900SMesut Ali Ergin 719956d900SMesut Ali Ergin * Added support for MARK + RSS action in rte_flow (non-vector RX path only) 729956d900SMesut Ali Ergin 73585b99fbSDekel Peled* **Updated Mellanox mlx5 driver.** 74585b99fbSDekel Peled 75585b99fbSDekel Peled Updated Mellanox mlx5 driver with new features and improvements, including: 76585b99fbSDekel Peled 77585b99fbSDekel Peled * Updated the packet header modification feature. Added support of TCP header 78585b99fbSDekel Peled sequence number and acknowledgment number modification. 79d53aa89aSXiaoyu Min * Added support for match on ICMP/ICMP6 code and type. 80a7a03655SXiaoyu Min * Added support for matching on GRE's key and C,K,S present bits. 815e33bebdSXiaoyu Min * Added support for IP-in-IP tunnel. 8299ad894dSJohn McNamara * Accelerated flows with count action creation and destroy. 8399ad894dSJohn McNamara * Accelerated flows counter query. 84505f1fe4SViacheslav Ovsiienko * Improved Tx datapath performance with enabled HW offloads. 8521bb6c7eSDekel Peled * Added support for LRO. 86585b99fbSDekel Peled 874279b54eSGeorgiy Levashov* **Updated Solarflare network PMD.** 884279b54eSGeorgiy Levashov 894279b54eSGeorgiy Levashov Updated the Solarflare ``sfc_efx`` driver with changes including: 904279b54eSGeorgiy Levashov 914279b54eSGeorgiy Levashov * Added support for Rx interrupts. 924279b54eSGeorgiy Levashov 9309c7e63aSJakub Grajciar* **Added memif PMD.** 9409c7e63aSJakub Grajciar 9599ad894dSJohn McNamara Added a new Shared Memory Packet Interface (``memif``) PMD. 9609c7e63aSJakub Grajciar See the :doc:`../nics/memif` guide for more details on this new driver. 9709c7e63aSJakub Grajciar 98e9ff8bb7SXiaolong Ye* **Updated the AF_XDP PMD.** 99e9ff8bb7SXiaolong Ye 100e9ff8bb7SXiaolong Ye Updated the AF_XDP PMD. The new features include: 101e9ff8bb7SXiaolong Ye 102e9ff8bb7SXiaolong Ye * Enabled zero copy through mbuf's external memory mechanism to achieve 10399ad894dSJohn McNamara higher performance. 104339b88c6SXiaolong Ye * Added multi-queue support to allow one af_xdp vdev with multiple netdev 10599ad894dSJohn McNamara queues. 10699ad894dSJohn McNamara * Enabled "need_wakeup" feature which can provide efficient support for the 10799ad894dSJohn McNamara use case where the application and driver executing on the same core. 108e9ff8bb7SXiaolong Ye 10955d8f0d3SCian Ferriter* **Enabled infinite Rx in the PCAP PMD.** 11055d8f0d3SCian Ferriter 11199ad894dSJohn McNamara Added an infinite Rx feature to the PCAP PMD which allows packets in the Rx 11299ad894dSJohn McNamara PCAP to be received repeatedly at a high rate. This can be useful for quick 11355d8f0d3SCian Ferriter performance testing of DPDK apps. 11455d8f0d3SCian Ferriter 11599ad894dSJohn McNamara* **Enabled receiving no packet in the PCAP PMD.** 116f14a9459SAideen McLoughlin 11799ad894dSJohn McNamara Added function to allow users to run the PCAP PMD without receiving any 11899ad894dSJohn McNamara packets on PCAP Rx. When the function is called, a dummy queue is created 11999ad894dSJohn McNamara for each Tx queue argument passed. 120f14a9459SAideen McLoughlin 121efd45369SNicolas Chautru* **Added a FPGA_LTE_FEC bbdev PMD.** 122efd45369SNicolas Chautru 12399ad894dSJohn McNamara Added a new ``fpga_lte_fec`` bbdev driver for the Intel\ |reg| FPGA PAC 124efd45369SNicolas Chautru (Programmable Acceleration Card) N3000. See the 125efd45369SNicolas Chautru :doc:`../bbdevs/fpga_lte_fec` BBDEV guide for more details on this new driver. 126efd45369SNicolas Chautru 12799ad894dSJohn McNamara* **Updated the TURBO_SW bbdev PMD.** 128c769c711SNicolas Chautru 129c769c711SNicolas Chautru Updated the ``turbo_sw`` bbdev driver with changes including: 130c769c711SNicolas Chautru 131c769c711SNicolas Chautru * Added option to build the driver with or without dependency of external 132c769c711SNicolas Chautru SDK libraries. 133c769c711SNicolas Chautru * Added support for 5GNR encode/decode operations. 134c769c711SNicolas Chautru 13599ad894dSJohn McNamara* **Updated the Intel QuickAssist Technology (QAT) symmetric crypto PMD.** 13640002f6cSDamian Nowak 13740002f6cSDamian Nowak Added support for digest-encrypted cases where digest is appended 13840002f6cSDamian Nowak to the data. 13940002f6cSDamian Nowak 14099ad894dSJohn McNamara* **Added the Intel QuickData Technology PMD.** 141f687e842SBruce Richardson 14299ad894dSJohn McNamara Added a PMD for the Intel\ |reg| QuickData Technology, part of 143f687e842SBruce Richardson Intel\ |reg| I/O Acceleration Technology `(Intel I/OAT) 144f687e842SBruce Richardson <https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html>`_, 14599ad894dSJohn McNamara which allows data copies to be done by hardware instead 146f687e842SBruce Richardson of via software, reducing cycles spent copying large blocks of data in 147f687e842SBruce Richardson applications. 148f687e842SBruce Richardson 14971645974SJerin Jacob* **Added Marvell OCTEON TX2 drivers.** 15071645974SJerin Jacob 15171645974SJerin Jacob Added the new ``ethdev``, ``eventdev``, ``mempool``, ``eventdev Rx adapter``, 15271645974SJerin Jacob ``eventdev Tx adapter``, ``eventdev Timer adapter`` and ``rawdev DMA`` 15399ad894dSJohn McNamara drivers for various HW co-processors available in ``OCTEON TX2`` SoC. 15471645974SJerin Jacob 155*33e71acfSJerin Jacob See ``platform/octeontx2`` and driver information: 15671645974SJerin Jacob 157*33e71acfSJerin Jacob * ``nics/octeontx2`` 158*33e71acfSJerin Jacob * ``mempool/octeontx2`` 159*33e71acfSJerin Jacob * ``eventdevs/octeontx2`` 160a59745ebSRadha Mohan Chintakuntla * ``rawdevs/octeontx2_dma`` 16171645974SJerin Jacob 16299ad894dSJohn McNamara* **Introduced the Intel NTB PMD.** 16327731002SXiaoyun Li 16499ad894dSJohn McNamara Added a PMD for Intel NTB (Non-transparent Bridge). This PMD implements 16599ad894dSJohn McNamara a handshake between two separate hosts and can share local memory for peer 16627731002SXiaoyun Li host to directly access. 16727731002SXiaoyun Li 16899ad894dSJohn McNamara* **Updated the IPSec library and IPsec Security Gateway application.** 1691cfd1559SFan Zhang 17076ac7131SBernard Iremonger Added the following features to ``librte_ipsec``. Corresponding changes are 17199ad894dSJohn McNamara also added in the ``ipsec-secgw`` sample application. 17276ac7131SBernard Iremonger 17376ac7131SBernard Iremonger * ECN and DSCP field header reconstruction as per RFC4301. 17476ac7131SBernard Iremonger * Transport mode with IPv6 extension headers. 17576ac7131SBernard Iremonger * Support packets with multiple segments. 1761cfd1559SFan Zhang 1774080e46cSReshma Pattan* **Updated telemetry library for global metrics support.** 1784080e46cSReshma Pattan 1794080e46cSReshma Pattan Updated ``librte_telemetry`` to fetch the global metrics from the 1804080e46cSReshma Pattan ``librte_metrics`` library. 1814080e46cSReshma Pattan 182609e7984SReshma Pattan* **Added new telemetry mode for l3fwd-power application.** 183609e7984SReshma Pattan 18499ad894dSJohn McNamara Added a telemetry mode to the ``l3fwd-power`` application to report 18599ad894dSJohn McNamara application level busyness, empty and full polls of ``rte_eth_rx_burst()``. 186609e7984SReshma Pattan 187a99a311bSSuanming Mou* **Updated the pdump application.** 188a99a311bSSuanming Mou 189a99a311bSSuanming Mou Add support for pdump to exit with primary process. 190a99a311bSSuanming Mou 1917c14a7a9STomasz Jozwiak* **Updated test-compress-perf tool application.** 1927c14a7a9STomasz Jozwiak 19399ad894dSJohn McNamara Added a multiple cores feature to the compression perf tool application. 1947c14a7a9STomasz Jozwiak 195c6a53a6bSThomas Monjalon 196c6a53a6bSThomas MonjalonRemoved Items 197c6a53a6bSThomas Monjalon------------- 198c6a53a6bSThomas Monjalon 19999ad894dSJohn McNamara* Removed KNI ethtool, ``CONFIG_RTE_KNI_KMOD_ETHTOOL``, support. 200ea6b39b5SFerruh Yigit 201e404de13SYongseok Koh* build: armv8 crypto extension is disabled. 202e404de13SYongseok Koh 203c6a53a6bSThomas Monjalon 204c6a53a6bSThomas MonjalonAPI Changes 205c6a53a6bSThomas Monjalon----------- 206c6a53a6bSThomas Monjalon 20799ad894dSJohn McNamara* The ``rte_mem_config`` structure has been made private. New accessor 208028669bcSAnatoly Burakov ``rte_mcfg_*`` functions were introduced to provide replacement for direct 209028669bcSAnatoly Burakov access to the shared mem config. 210028669bcSAnatoly Burakov 2113e48944fSOlivier Matz* The network structures, definitions and functions have 2123e48944fSOlivier Matz been prefixed by ``rte_`` to resolve conflicts with libc headers. 2133e48944fSOlivier Matz 21499ad894dSJohn McNamara* malloc: The function ``rte_malloc_set_limit()`` was never implemented. 21599ad894dSJohn McNamara It is deprecated and will be removed in a future release. 2165348806eSStephen Hemminger 21799ad894dSJohn McNamara* cryptodev: the ``uint8_t *data`` member of the ``key`` structure in the xforms 218186b14d6SFan Zhang structure (``rte_crypto_cipher_xform``, ``rte_crypto_auth_xform``, and 219186b14d6SFan Zhang ``rte_crypto_aead_xform``) have been changed to ``const uint8_t *data``. 220186b14d6SFan Zhang 22168d21669SNikhil Rao* eventdev: No longer marked as experimental. 22268d21669SNikhil Rao 22368d21669SNikhil Rao The eventdev functions are no longer marked as experimental, and have 22468d21669SNikhil Rao become part of the normal DPDK API and ABI. Any future ABI changes will be 22568d21669SNikhil Rao announced at least one release before the ABI change is made. There are no 22668d21669SNikhil Rao ABI breaking changes planned. 22768d21669SNikhil Rao 22899ad894dSJohn McNamara* ip_frag: The IP fragmentation library converts input mbuf into fragments 22999ad894dSJohn McNamara using input MTU size via the ``rte_ipv4_fragment_packet()`` interface. 230e29fc443SSunil Kumar Kori Once fragmentation is done, each ``mbuf->ol_flags`` are set to enable IP 231e29fc443SSunil Kumar Kori checksum H/W offload irrespective of the platform capability. 232e29fc443SSunil Kumar Kori Cleared IP checksum H/W offload flag from the library. The application must 233e29fc443SSunil Kumar Kori set this flag if it is supported by the platform and application wishes to 234e29fc443SSunil Kumar Kori use it. 235e29fc443SSunil Kumar Kori 236e29fc443SSunil Kumar Kori* ip_frag: IP reassembly library converts the list of fragments into a 23799ad894dSJohn McNamara reassembled packet via ``rte_ipv4_frag_reassemble_packet()`` interface. 238e29fc443SSunil Kumar Kori Once reassembly is done, ``mbuf->ol_flags`` are set to enable IP checksum H/W 239e29fc443SSunil Kumar Kori offload irrespective of the platform capability. Cleared IP checksum H/W 240e29fc443SSunil Kumar Kori offload flag from the library. The application must set this flag if it is 241e29fc443SSunil Kumar Kori supported by the platform and application wishes to use it. 242e29fc443SSunil Kumar Kori 243b767a6a2SJasvinder Singh* sched: Macros ``RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS`` and 244b767a6a2SJasvinder Singh ``RTE_SCHED_PIPE_PROFILES_PER_PORT`` are removed for flexible configuration 245b767a6a2SJasvinder Singh of pipe traffic classes and their queues size, and for runtime configuration 24699ad894dSJohn McNamara of the maximum number of pipe profiles, respectively. In addition, the 24799ad894dSJohn McNamara ``wrr_weights`` field of struct ``rte_sched_pipe_params`` is modified to be 24899ad894dSJohn McNamara used only for best-effort tc, and the ``qsize`` field of struct 24999ad894dSJohn McNamara ``rte_sched_port_params`` is changed to allow different sizes for each 25099ad894dSJohn McNamara queue. 251b767a6a2SJasvinder Singh 252c6a53a6bSThomas Monjalon 253c6a53a6bSThomas MonjalonABI Changes 254c6a53a6bSThomas Monjalon----------- 255c6a53a6bSThomas Monjalon 25668d21669SNikhil Rao* eventdev: Event based Rx adapter callback 25768d21669SNikhil Rao 25868d21669SNikhil Rao The mbuf pointer array in the event eth Rx adapter callback 25968d21669SNikhil Rao has been replaced with an event array. Using 26068d21669SNikhil Rao an event array allows the application to change attributes 26168d21669SNikhil Rao of the events enqueued by the SW adapter. 26268d21669SNikhil Rao 26368d21669SNikhil Rao The callback can drop packets and populate 26468d21669SNikhil Rao a callback argument with the number of dropped packets. 26568d21669SNikhil Rao Add a Rx adapter stats field to keep track of the total 26668d21669SNikhil Rao number of dropped packets. 26768d21669SNikhil Rao 268c9030ae3SAnoob Joseph* cryptodev: New member in ``rte_cryptodev_config`` to allow applications to 269c9030ae3SAnoob Joseph disable features supported by the crypto device. Only the following features 270c9030ae3SAnoob Joseph would be allowed to be disabled this way, 271c9030ae3SAnoob Joseph 27299ad894dSJohn McNamara - ``RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO``. 27399ad894dSJohn McNamara - ``RTE_CRYPTODEV_FF_ASYMMETRIC_CRYPTO``. 27499ad894dSJohn McNamara - ``RTE_CRYPTODEV_FF_SECURITY``. 275c9030ae3SAnoob Joseph 276c9030ae3SAnoob Joseph Disabling unused features would facilitate efficient usage of HW/SW offload. 277c9030ae3SAnoob Joseph 27899ad894dSJohn McNamara* bbdev: New operations and parameters have been added to support new 5GNR 27999ad894dSJohn McNamara operations. The bbdev ABI is still kept experimental. 280b443f318SNicolas Chautru 28154dcfdeeSBruce Richardson* rawdev: The driver names have been changed to ``librte_rawdev_*``. 28254dcfdeeSBruce Richardson Now they all have the same prefix, and same name with make and meson builds. 28354dcfdeeSBruce Richardson 284c6a53a6bSThomas Monjalon 285c6a53a6bSThomas MonjalonShared Library Versions 286c6a53a6bSThomas Monjalon----------------------- 287c6a53a6bSThomas Monjalon 288c6a53a6bSThomas MonjalonThe libraries prepended with a plus sign were incremented in this version. 289c6a53a6bSThomas Monjalon 290c6a53a6bSThomas Monjalon.. code-block:: diff 291c6a53a6bSThomas Monjalon 292c6a53a6bSThomas Monjalon librte_acl.so.2 293c6a53a6bSThomas Monjalon librte_bbdev.so.1 294c6a53a6bSThomas Monjalon librte_bitratestats.so.2 295c6a53a6bSThomas Monjalon librte_bpf.so.1 296c6a53a6bSThomas Monjalon librte_bus_dpaa.so.2 297c6a53a6bSThomas Monjalon librte_bus_fslmc.so.2 298c6a53a6bSThomas Monjalon librte_bus_ifpga.so.2 299c6a53a6bSThomas Monjalon librte_bus_pci.so.2 300c6a53a6bSThomas Monjalon librte_bus_vdev.so.2 301c6a53a6bSThomas Monjalon librte_bus_vmbus.so.2 302c6a53a6bSThomas Monjalon librte_cfgfile.so.2 303c6a53a6bSThomas Monjalon librte_cmdline.so.2 304c6a53a6bSThomas Monjalon librte_compressdev.so.1 305c9030ae3SAnoob Joseph + librte_cryptodev.so.8 306c6a53a6bSThomas Monjalon librte_distributor.so.1 307028669bcSAnatoly Burakov + librte_eal.so.11 308c6a53a6bSThomas Monjalon librte_efd.so.1 309c6a53a6bSThomas Monjalon librte_ethdev.so.12 31068d21669SNikhil Rao + librte_eventdev.so.7 311c6a53a6bSThomas Monjalon librte_flow_classify.so.1 312c6a53a6bSThomas Monjalon librte_gro.so.1 313c6a53a6bSThomas Monjalon librte_gso.so.1 314c6a53a6bSThomas Monjalon librte_hash.so.2 315c6a53a6bSThomas Monjalon librte_ip_frag.so.1 316c6a53a6bSThomas Monjalon librte_ipsec.so.1 317c6a53a6bSThomas Monjalon librte_jobstats.so.1 318c6a53a6bSThomas Monjalon librte_kni.so.2 319c6a53a6bSThomas Monjalon librte_kvargs.so.1 320c6a53a6bSThomas Monjalon librte_latencystats.so.1 321c6a53a6bSThomas Monjalon librte_lpm.so.2 322c6a53a6bSThomas Monjalon librte_mbuf.so.5 323c6a53a6bSThomas Monjalon librte_member.so.1 324c6a53a6bSThomas Monjalon librte_mempool.so.5 325c6a53a6bSThomas Monjalon librte_meter.so.3 326c6a53a6bSThomas Monjalon librte_metrics.so.1 327c6a53a6bSThomas Monjalon librte_net.so.1 328c6a53a6bSThomas Monjalon librte_pci.so.1 329c6a53a6bSThomas Monjalon librte_pdump.so.3 330c6a53a6bSThomas Monjalon librte_pipeline.so.3 331c6a53a6bSThomas Monjalon librte_pmd_bnxt.so.2 332c6a53a6bSThomas Monjalon librte_pmd_bond.so.2 333c6a53a6bSThomas Monjalon librte_pmd_i40e.so.2 334c6a53a6bSThomas Monjalon librte_pmd_ixgbe.so.2 335c6a53a6bSThomas Monjalon librte_pmd_dpaa2_qdma.so.1 336c6a53a6bSThomas Monjalon librte_pmd_ring.so.2 337c6a53a6bSThomas Monjalon librte_pmd_softnic.so.1 338c6a53a6bSThomas Monjalon librte_pmd_vhost.so.2 339c6a53a6bSThomas Monjalon librte_port.so.3 340c6a53a6bSThomas Monjalon librte_power.so.1 341c6a53a6bSThomas Monjalon librte_rawdev.so.1 342c6a53a6bSThomas Monjalon librte_rcu.so.1 343c6a53a6bSThomas Monjalon librte_reorder.so.1 344c6a53a6bSThomas Monjalon librte_ring.so.2 345b767a6a2SJasvinder Singh + librte_sched.so.3 346c6a53a6bSThomas Monjalon librte_security.so.2 347c6a53a6bSThomas Monjalon librte_stack.so.1 348c6a53a6bSThomas Monjalon librte_table.so.3 349c6a53a6bSThomas Monjalon librte_timer.so.1 350c6a53a6bSThomas Monjalon librte_vhost.so.4 351c6a53a6bSThomas Monjalon 352c6a53a6bSThomas Monjalon 353c6a53a6bSThomas MonjalonKnown Issues 354c6a53a6bSThomas Monjalon------------ 355c6a53a6bSThomas Monjalon 35699ad894dSJohn McNamara* **Unsuitable IOVA mode may be picked as the default.** 35779a0bbe5SAnatoly Burakov 35879a0bbe5SAnatoly Burakov Not all kernel drivers and not all devices support all IOVA modes. EAL will 35979a0bbe5SAnatoly Burakov attempt to pick a reasonable default based on a number of factors, but 36099ad894dSJohn McNamara there may be cases where the default is unsuitable. 36179a0bbe5SAnatoly Burakov 36279a0bbe5SAnatoly Burakov It is recommended to use the `--iova-mode` command-line parameter if the 36379a0bbe5SAnatoly Burakov default is not suitable. 36479a0bbe5SAnatoly Burakov 365c6a53a6bSThomas Monjalon 366c6a53a6bSThomas MonjalonTested Platforms 367c6a53a6bSThomas Monjalon---------------- 368c6a53a6bSThomas Monjalon 3698ac60cacSWenjie Li* Intel(R) platforms with Intel(R) NICs combinations 3708ac60cacSWenjie Li 3718ac60cacSWenjie Li * CPU 3728ac60cacSWenjie Li 3738ac60cacSWenjie Li * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz 3748ac60cacSWenjie Li * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz 3758ac60cacSWenjie Li * Intel(R) Xeon(R) CPU D-1553N @ 2.30GHz 3768ac60cacSWenjie Li * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 3778ac60cacSWenjie Li * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz 3788ac60cacSWenjie Li * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz 3798ac60cacSWenjie Li * Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz 3808ac60cacSWenjie Li * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz 3818ac60cacSWenjie Li * Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz 3828ac60cacSWenjie Li 3838ac60cacSWenjie Li * OS: 3848ac60cacSWenjie Li 3858ac60cacSWenjie Li * CentOS 7.6 3868ac60cacSWenjie Li * Fedora 30 3878ac60cacSWenjie Li * FreeBSD 12.0 3888ac60cacSWenjie Li * Red Hat Enterprise Linux Server release 8.0 3898ac60cacSWenjie Li * Red Hat Enterprise Linux Server release 7.6 3908ac60cacSWenjie Li * Suse12SP3 3918ac60cacSWenjie Li * Ubuntu 16.04 3928ac60cacSWenjie Li * Ubuntu 16.10 3938ac60cacSWenjie Li * Ubuntu 18.04 3948ac60cacSWenjie Li * Ubuntu 19.04 3958ac60cacSWenjie Li 3968ac60cacSWenjie Li * NICs: 3978ac60cacSWenjie Li 3988ac60cacSWenjie Li * Intel(R) 82599ES 10 Gigabit Ethernet Controller 3998ac60cacSWenjie Li 4008ac60cacSWenjie Li * Firmware version: 0x61bf0001 4018ac60cacSWenjie Li * Device id (pf/vf): 8086:10fb / 8086:10ed 4028ac60cacSWenjie Li * Driver version: 5.6.1 (ixgbe) 4038ac60cacSWenjie Li 4048ac60cacSWenjie Li * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T 4058ac60cacSWenjie Li 4068ac60cacSWenjie Li * Firmware version: 0x800003e7 4078ac60cacSWenjie Li * Device id (pf/vf): 8086:15ad / 8086:15a8 4088ac60cacSWenjie Li * Driver version: 5.1.0 (ixgbe) 4098ac60cacSWenjie Li 4108ac60cacSWenjie Li * Intel Corporation Ethernet Controller 10G X550T 4118ac60cacSWenjie Li 4128ac60cacSWenjie Li * Firmware version: 0x80000482 4138ac60cacSWenjie Li * Device id (pf): 8086:1563 4148ac60cacSWenjie Li * Driver version: 5.6.1 (ixgbe) 4158ac60cacSWenjie Li 4168ac60cacSWenjie Li * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G) 4178ac60cacSWenjie Li 4188ac60cacSWenjie Li * Firmware version: 7.00 0x80004cdb 4198ac60cacSWenjie Li * Device id (pf/vf): 8086:1572 / 8086:154c 4208ac60cacSWenjie Li * Driver version: 2.9.21 (i40e) 4218ac60cacSWenjie Li 4228ac60cacSWenjie Li * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 4238ac60cacSWenjie Li 4248ac60cacSWenjie Li * Firmware version: 4.10 0x80001a3c 4258ac60cacSWenjie Li * Device id (pf/vf): 8086:37d0 / 8086:37cd 4268ac60cacSWenjie Li * Driver version: 2.9.21 (i40e) 4278ac60cacSWenjie Li 4288ac60cacSWenjie Li * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 4298ac60cacSWenjie Li 4308ac60cacSWenjie Li * Firmware version: 7.00 0x80004cf8 4318ac60cacSWenjie Li * Device id (pf/vf): 8086:158b / 8086:154c 4328ac60cacSWenjie Li * Driver version: 2.9.21 (i40e) 4338ac60cacSWenjie Li 4348ac60cacSWenjie Li * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 4358ac60cacSWenjie Li 4368ac60cacSWenjie Li * Firmware version: 7.00 0x80004c97 4378ac60cacSWenjie Li * Device id (pf/vf): 8086:1583 / 8086:154c 4388ac60cacSWenjie Li * Driver version: 2.9.21 (i40e) 4398ac60cacSWenjie Li 4408ac60cacSWenjie Li * Intel(R) Corporation I350 Gigabit Network Connection 4418ac60cacSWenjie Li 4428ac60cacSWenjie Li * Firmware version: 1.63, 0x80000cbc 4438ac60cacSWenjie Li * Device id (pf/vf): 8086:1521 / 8086:1520 4448ac60cacSWenjie Li * Driver version: 5.4.0-k (igb) 4458ac60cacSWenjie Li 4468ac60cacSWenjie Li * Intel Corporation I210 Gigabit Network Connection 4478ac60cacSWenjie Li 4488ac60cacSWenjie Li * Firmware version: 3.25, 0x800006eb 4498ac60cacSWenjie Li * Device id (pf): 8086:1533 4508ac60cacSWenjie Li * Driver version: 5.4.0-k(igb) 451a91ca789SJerin Jacob 452e0a0b3d6SRaslan Darawsheh* Intel(R) platforms with Mellanox(R) NICs combinations 453e0a0b3d6SRaslan Darawsheh 454e0a0b3d6SRaslan Darawsheh * CPU: 455e0a0b3d6SRaslan Darawsheh 456e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz 457e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz 458e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz 459e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz 460e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 461e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz 462e0a0b3d6SRaslan Darawsheh * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 463e0a0b3d6SRaslan Darawsheh 464e0a0b3d6SRaslan Darawsheh * OS: 465e0a0b3d6SRaslan Darawsheh 466e0a0b3d6SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.6 (Maipo) 467e0a0b3d6SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.5 (Maipo) 468e0a0b3d6SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.4 (Maipo) 469e0a0b3d6SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.3 (Maipo) 470e0a0b3d6SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.2 (Maipo) 471e0a0b3d6SRaslan Darawsheh * Ubuntu 19.04 472e0a0b3d6SRaslan Darawsheh * Ubuntu 18.10 473e0a0b3d6SRaslan Darawsheh * Ubuntu 18.04 474e0a0b3d6SRaslan Darawsheh * Ubuntu 16.04 475e0a0b3d6SRaslan Darawsheh * SUSE Linux Enterprise Server 15 476e0a0b3d6SRaslan Darawsheh 477e0a0b3d6SRaslan Darawsheh * OFED: 478e0a0b3d6SRaslan Darawsheh 479e0a0b3d6SRaslan Darawsheh * MLNX_OFED 4.6-1.0.1.1 480e0a0b3d6SRaslan Darawsheh * MLNX_OFED 4.6-4.1.2.0 481e0a0b3d6SRaslan Darawsheh 482e0a0b3d6SRaslan Darawsheh * NICs: 483e0a0b3d6SRaslan Darawsheh 484e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G) 485e0a0b3d6SRaslan Darawsheh 486e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 487e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1007 488e0a0b3d6SRaslan Darawsheh * Firmware version: 2.42.5000 489e0a0b3d6SRaslan Darawsheh 490e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G) 491e0a0b3d6SRaslan Darawsheh 492e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 493e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 494e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 495e0a0b3d6SRaslan Darawsheh 496e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G) 497e0a0b3d6SRaslan Darawsheh 498e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 499e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 500e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 501e0a0b3d6SRaslan Darawsheh 502e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G) 503e0a0b3d6SRaslan Darawsheh 504e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 505e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 506e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 507e0a0b3d6SRaslan Darawsheh 508e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G) 509e0a0b3d6SRaslan Darawsheh 510e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 511e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 512e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 513e0a0b3d6SRaslan Darawsheh 514e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G) 515e0a0b3d6SRaslan Darawsheh 516e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 517e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 518e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 519e0a0b3d6SRaslan Darawsheh 520e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G) 521e0a0b3d6SRaslan Darawsheh 522e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 523e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 524e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 525e0a0b3d6SRaslan Darawsheh 526e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G) 527e0a0b3d6SRaslan Darawsheh 528e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 529e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 530e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 531e0a0b3d6SRaslan Darawsheh 532e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G) 533e0a0b3d6SRaslan Darawsheh 534e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 535e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 536e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 537e0a0b3d6SRaslan Darawsheh 538e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G) 539e0a0b3d6SRaslan Darawsheh 540e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 541e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 542e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 543e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 544e0a0b3d6SRaslan Darawsheh 545e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G) 546e0a0b3d6SRaslan Darawsheh 547e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 548e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 549e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 550e0a0b3d6SRaslan Darawsheh 551e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G) 552e0a0b3d6SRaslan Darawsheh 553e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 554e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1013 555e0a0b3d6SRaslan Darawsheh * Firmware version: 12.25.6406 and above 556e0a0b3d6SRaslan Darawsheh 557e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G) 558e0a0b3d6SRaslan Darawsheh 559e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 560e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1015 561e0a0b3d6SRaslan Darawsheh * Firmware version: 14.25.6406 and above 562e0a0b3d6SRaslan Darawsheh 563e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) 564e0a0b3d6SRaslan Darawsheh 565e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 566e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1015 567e0a0b3d6SRaslan Darawsheh * Firmware version: 14.25.6406 and above 568e0a0b3d6SRaslan Darawsheh 569e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 570e0a0b3d6SRaslan Darawsheh 571e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 572e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1017 573e0a0b3d6SRaslan Darawsheh * Firmware version: 16.25.6406 and above 574e0a0b3d6SRaslan Darawsheh 575e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G) 576e0a0b3d6SRaslan Darawsheh 577e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 4.0 x16 578e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1019 579e0a0b3d6SRaslan Darawsheh * Firmware version: 16.25.6406 and above 580e0a0b3d6SRaslan Darawsheh 581e0a0b3d6SRaslan Darawsheh* Mellanox(R) BlueField SmartNIC 582e0a0b3d6SRaslan Darawsheh 583e0a0b3d6SRaslan Darawsheh * Mellanox(R) BlueField SmartNIC MT416842 (2x25G) 584e0a0b3d6SRaslan Darawsheh 585e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 586e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:a2d2 587e0a0b3d6SRaslan Darawsheh * Firmware version: 18.25.6600 588e0a0b3d6SRaslan Darawsheh 589e0a0b3d6SRaslan Darawsheh * SoC Arm cores running OS: 590e0a0b3d6SRaslan Darawsheh 591e0a0b3d6SRaslan Darawsheh * CentOS Linux release 7.5.1804 (AltArch) 592e0a0b3d6SRaslan Darawsheh * MLNX_OFED 4.6-3.5.8.0 593e0a0b3d6SRaslan Darawsheh 594e0a0b3d6SRaslan Darawsheh * DPDK application running on Arm cores inside SmartNIC 595e0a0b3d6SRaslan Darawsheh 596e0a0b3d6SRaslan Darawsheh* IBM Power 9 platforms with Mellanox(R) NICs combinations 597e0a0b3d6SRaslan Darawsheh 598e0a0b3d6SRaslan Darawsheh * CPU: 599e0a0b3d6SRaslan Darawsheh 600e0a0b3d6SRaslan Darawsheh * POWER9 2.2 (pvr 004e 1202) 2300MHz 601e0a0b3d6SRaslan Darawsheh 602e0a0b3d6SRaslan Darawsheh * OS: 603e0a0b3d6SRaslan Darawsheh 604e0a0b3d6SRaslan Darawsheh * Ubuntu 18.04.1 LTS (Bionic Beaver) 605e0a0b3d6SRaslan Darawsheh 606e0a0b3d6SRaslan Darawsheh * NICs: 607e0a0b3d6SRaslan Darawsheh 608e0a0b3d6SRaslan Darawsheh * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) 609e0a0b3d6SRaslan Darawsheh 610e0a0b3d6SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 611e0a0b3d6SRaslan Darawsheh * Device ID: 15b3:1017 612e0a0b3d6SRaslan Darawsheh * Firmware version: 16.25.6406 613e0a0b3d6SRaslan Darawsheh 614e0a0b3d6SRaslan Darawsheh * OFED: 615e0a0b3d6SRaslan Darawsheh 616e0a0b3d6SRaslan Darawsheh * MLNX_OFED 4.6-4.1.2.0 617e0a0b3d6SRaslan Darawsheh 618a91ca789SJerin Jacob* ARMv8 SoC combinations from Marvell (with integrated NICs) 619a91ca789SJerin Jacob 620a91ca789SJerin Jacob * SoC: 621a91ca789SJerin Jacob 622a91ca789SJerin Jacob * CN83xx, CN96xx, CNF95xx, CN93xx 623a91ca789SJerin Jacob 624a91ca789SJerin Jacob * OS (Based on Marvell OCTEON TX SDK 10.0): 625a91ca789SJerin Jacob 626a91ca789SJerin Jacob * Arch Linux 627a91ca789SJerin Jacob * Buildroot 2018.11 628a91ca789SJerin Jacob * Ubuntu 16.04.1 LTS 629a91ca789SJerin Jacob * Ubuntu 16.10 630a91ca789SJerin Jacob * Ubuntu 18.04.1 631a91ca789SJerin Jacob * Ubuntu 19.04 632