14f86c0baSThomas Monjalon.. SPDX-License-Identifier: BSD-3-Clause 24f86c0baSThomas Monjalon Copyright 2020 The DPDK contributors 34f86c0baSThomas Monjalon 44f86c0baSThomas Monjalon.. include:: <isonum.txt> 54f86c0baSThomas Monjalon 64f86c0baSThomas MonjalonDPDK Release 20.11 74f86c0baSThomas Monjalon================== 84f86c0baSThomas Monjalon 94f86c0baSThomas MonjalonNew Features 104f86c0baSThomas Monjalon------------ 114f86c0baSThomas Monjalon 128a00dfc7SRadu Nicolau* **Added write combining store APIs.** 138a00dfc7SRadu Nicolau 148a00dfc7SRadu Nicolau Added ``rte_write32_wc`` and ``rte_write32_wc_relaxed`` APIs 158a00dfc7SRadu Nicolau that enable write combining stores (depending on architecture). 16fb8bf05fSJohn McNamara The functions are provided as a generic stub and 178a00dfc7SRadu Nicolau x86 specific implementation. 188a00dfc7SRadu Nicolau 1931f83163SHarry van Haaren* **Added prefetch with intention to write APIs.** 2031f83163SHarry van Haaren 2131f83163SHarry van Haaren Added new prefetch function variants e.g. ``rte_prefetch0_write``, 2231f83163SHarry van Haaren which allow the programmer to prefetch a cache line and also indicate 2331f83163SHarry van Haaren the intention to write. 2431f83163SHarry van Haaren 254ffc2276SOmkar Maslekar* **Added the rte_cldemote API.** 264ffc2276SOmkar Maslekar 274ffc2276SOmkar Maslekar Added a hardware hint CLDEMOTE, which is similar to prefetch in reverse. 284ffc2276SOmkar Maslekar CLDEMOTE moves the cache line to the more remote cache, where it expects 294ffc2276SOmkar Maslekar sharing to be efficient. Moving the cache line to a level more distant from 304ffc2276SOmkar Maslekar the processor helps to accelerate core-to-core communication. 314ffc2276SOmkar Maslekar This API is specific to x86 and implemented as a stub for other 324ffc2276SOmkar Maslekar architectures. 334ffc2276SOmkar Maslekar 34580af30dSCiara Power* **Added support for limiting maximum SIMD bitwidth.** 35580af30dSCiara Power 36580af30dSCiara Power Added a new EAL config setting ``max_simd_bitwidth`` to limit the vector 37580af30dSCiara Power path selection at runtime. This value can be set by apps using the 38580af30dSCiara Power ``rte_vect_set_max_simd_bitwidth`` function, or by the user with EAL flag 39580af30dSCiara Power ``--force-max-simd-bitwidth``. 40580af30dSCiara Power 4147bec9a5SHonnappa Nagarahalli* **Added zero copy APIs for rte_ring.** 4247bec9a5SHonnappa Nagarahalli 4347bec9a5SHonnappa Nagarahalli For rings with producer/consumer in ``RTE_RING_SYNC_ST``, ``RTE_RING_SYNC_MT_HTS`` 4447bec9a5SHonnappa Nagarahalli modes, these APIs split enqueue/dequeue operation into three phases 4547bec9a5SHonnappa Nagarahalli (enqueue/dequeue start, copy data to/from ring, enqueue/dequeue finish). 4647bec9a5SHonnappa Nagarahalli Along with the advantages of the peek APIs, these provide the ability to 4747bec9a5SHonnappa Nagarahalli copy the data to the ring memory directly without the need for temporary 4847bec9a5SHonnappa Nagarahalli storage. 4947bec9a5SHonnappa Nagarahalli 50ef94569cSMairtin o Loingsigh* **Updated CRC modules of the net library.** 51ef94569cSMairtin o Loingsigh 52ef94569cSMairtin o Loingsigh * Added runtime selection of the optimal architecture-specific CRC path. 5317a937baSMairtin o Loingsigh * Added optimized implementations of CRC32-Ethernet and CRC16-CCITT 5417a937baSMairtin o Loingsigh using the AVX512 and VPCLMULQDQ instruction sets. 55ef94569cSMairtin o Loingsigh 564ff702b5SViacheslav Ovsiienko* **Introduced extended buffer description for receiving.** 574ff702b5SViacheslav Ovsiienko 584ff702b5SViacheslav Ovsiienko Added the extended Rx buffer description for Rx queue setup routine 594ff702b5SViacheslav Ovsiienko providing the individual settings for each Rx segment with maximal size, 604ff702b5SViacheslav Ovsiienko buffer offset and memory pool to allocate data buffers from. 614ff702b5SViacheslav Ovsiienko 62b7ccfb09SMin Hu (Connor)* **Added the FEC API, for a generic FEC query and config.** 63b7ccfb09SMin Hu (Connor) 64b7ccfb09SMin Hu (Connor) Added the FEC API which provides functions for query FEC capabilities and 65fb8bf05fSJohn McNamara current FEC mode from device. An API for configuring FEC mode is also provided. 66b7ccfb09SMin Hu (Connor) 6780d1a9afSSuanming Mou* **Added thread safety to rte_flow functions.** 6880d1a9afSSuanming Mou 69fb8bf05fSJohn McNamara Added the ``RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE`` device flag to indicate 70fb8bf05fSJohn McNamara whether a PMD supports thread safe operations. If the PMD doesn't set the flag, 71fb8bf05fSJohn McNamara the rte_flow API level functions will protect the flow operations with a mutex. 7280d1a9afSSuanming Mou 73805b8faaSJiawei Wang* **Added flow-based traffic sampling support.** 74805b8faaSJiawei Wang 75fb8bf05fSJohn McNamara Added a new action ``RTE_FLOW_ACTION_TYPE_SAMPLE`` that will sample the 76fb8bf05fSJohn McNamara incoming traffic and send a duplicated traffic with the specified ratio to 77fb8bf05fSJohn McNamara the application, while the original packet will continue to the target 78fb8bf05fSJohn McNamara destination. 79fb8bf05fSJohn McNamara 80fb8bf05fSJohn McNamara The packets sampling is '1/ratio'. A ratio value set to 1 means that the 81fb8bf05fSJohn McNamara packets will be completely mirrored. The sample packet can be assigned with 82fb8bf05fSJohn McNamara a different set of actions than the original packet. 83805b8faaSJiawei Wang 844d9fd85fSAndrey Vesnovaty* **Added support of shared action in flow API.** 854d9fd85fSAndrey Vesnovaty 86fb8bf05fSJohn McNamara Added shared action support to use single flow actions in multiple flow 87fb8bf05fSJohn McNamara rules. An update to the shared action configuration alters the behavior of all 884d9fd85fSAndrey Vesnovaty flow rules using it. 894d9fd85fSAndrey Vesnovaty 90fb8bf05fSJohn McNamara * Added a new action: ``RTE_FLOW_ACTION_TYPE_SHARED`` to use shared action 91fb8bf05fSJohn McNamara as a flow action. 92fb8bf05fSJohn McNamara * Added new flow APIs to create/update/destroy/query shared actions. 934d9fd85fSAndrey Vesnovaty 94fb8bf05fSJohn McNamara* **Added support to flow rules to allow private PMD items/actions.** 955d1bff8fSGregory Etelson 96fb8bf05fSJohn McNamara * Flow rule verification has been updated to accept private PMD 975d1bff8fSGregory Etelson items and actions. 985d1bff8fSGregory Etelson 99fb8bf05fSJohn McNamara* **Added a generic API to offload tunneled traffic and restore missed packets.** 1009ec0f97eSEli Britstein 101fb8bf05fSJohn McNamara * Added a new hardware independent helper to the flow API that 1029ec0f97eSEli Britstein offloads tunneled traffic and restores missed packets. 1039ec0f97eSEli Britstein 104a9916fdfSBing Zhao* **Updated the ethdev library to support hairpin between two ports.** 105a9916fdfSBing Zhao 106fb8bf05fSJohn McNamara New APIs have been introduced to support binding / unbinding of 2 ports in a 107fb8bf05fSJohn McNamara hairpin configuration. The hairpin Tx part flow rules can be inserted 108fb8bf05fSJohn McNamara explicitly. A new API has been added to get the hairpin peer ports list. 109a9916fdfSBing Zhao 110aa022e60SMichal Krawczyk* **Updated the Amazon ena driver.** 111aa022e60SMichal Krawczyk 112aa022e60SMichal Krawczyk Updated the ena PMD with new features and improvements, including: 113aa022e60SMichal Krawczyk 114aa022e60SMichal Krawczyk * Added network interface metrics which can be read using xstats. 115aa022e60SMichal Krawczyk 116c23f9dedSAjit Khaparde* **Updated Broadcom bnxt driver.** 117c23f9dedSAjit Khaparde 118c23f9dedSAjit Khaparde Updated the Broadcom bnxt driver with new features and improvements, including: 119c23f9dedSAjit Khaparde 120c23f9dedSAjit Khaparde * Added support for 200G PAM4 link speed. 1217ed45b1aSAjit Khaparde * Added support for RSS hash level selection. 1228b96a65cSAjit Khaparde * Updated HWRM structures to 1.10.1.70 version. 123b7d773d4SMike Baucom * Added TRUFLOW support for Stingray devices. 124e9a705c3SSomnath Kotur * Added support for representors on MAIA cores of SR. 125675e31d8SVenkat Duvvuru * Added support for VXLAN decap offload using rte_flow. 126e24a5d3fSAjit Khaparde * Added support to indicate native rte_flow API thread safety. 127c23f9dedSAjit Khaparde 128a93cf169SHyong Youb Kim* **Updated Cisco enic driver.** 129a93cf169SHyong Youb Kim 130a93cf169SHyong Youb Kim * Added support for VF representors with single-queue Tx/Rx and flow API 1318ca08b70SHyong Youb Kim * Added support for egress PORT_ID action 132f985387eSHyong Youb Kim * Added support for non-zero priorities for group 0 flows 133a4ab862eSHyong Youb Kim * Added support for VXLAN decap combined with VLAN pop 134a93cf169SHyong Youb Kim 1359bf2ea8dSMin Hu (Connor)* **Added hns3 FEC PMD, for supporting query and config FEC mode.** 1369bf2ea8dSMin Hu (Connor) 137fb8bf05fSJohn McNamara Added the FEC PMD which provides functions for querying FEC capabilities and 138fb8bf05fSJohn McNamara current FEC mode from a device. A PMD for configuring FEC mode is also provided. 1399bf2ea8dSMin Hu (Connor) 140fb8bf05fSJohn McNamara* **Updated the Intel iavf driver.** 14131737f2bSWenzhuo Lu 142fb8bf05fSJohn McNamara Updated the iavf PMD with new features and improvements, including: 14312b435bfSJeff Guo 14412b435bfSJeff Guo * Added support for flexible descriptor metadata extraction. 1456fda7243SAlvin Zhang * Added support for outer IP hash of GTPC and GTPU. 1469ab9514cSWenzhuo Lu * Added support of AVX512 instructions in Rx and Tx path. 1477a483d58STing Xu * Added support for up to 256 queue pairs per VF. 14831737f2bSWenzhuo Lu 149fb8bf05fSJohn McNamara* **Updated Intel ixgbe driver.** 150fb8bf05fSJohn McNamara 151fb8bf05fSJohn McNamara Updated the Intel ixgbe driver to use write combining stores. 152fb8bf05fSJohn McNamara 153fb8bf05fSJohn McNamara* **Updated Intel i40e driver.** 154fb8bf05fSJohn McNamara 155fb8bf05fSJohn McNamara Updated the Intel i40e driver to use write combining stores. 156fb8bf05fSJohn McNamara 15740d466faSSimei Su* **Updated Intel ice driver.** 15840d466faSSimei Su 159fb8bf05fSJohn McNamara * Added support for write combining stores. 160fb8bf05fSJohn McNamara * Added ACL filter support for the Intel DCF. 16140d466faSSimei Su 1626859e67eSDekel Peled* **Updated Mellanox mlx5 driver.** 1636859e67eSDekel Peled 164fb8bf05fSJohn McNamara Updated the Mellanox mlx5 driver with new features and improvements, including: 1656859e67eSDekel Peled 16654c2d46bSAlexander Kozyrev * Added vectorized Multi-Packet Rx Queue burst. 16754c2d46bSAlexander Kozyrev * Added support for 2 new miniCQE formats: Flow Tag and L3/L4 header. 1689fbe97f0SXueming Li * Added support for PMD level multiple-thread flow insertion. 169ad3d227eSDekel Peled * Added support for matching on fragmented/non-fragmented IPv4/IPv6 packets. 17086b59a1aSMatan Azrad * Added support for QinQ packets matching. 17186b59a1aSMatan Azrad * Added support for the new VLAN fields ``has_vlan`` in the Ethernet item 17286b59a1aSMatan Azrad and ``has_more_vlan`` in the VLAN item. 173d5a7d04cSDekel Peled * Updated the supported timeout for Age action to the maximal value supported 174fb8bf05fSJohn McNamara by the rte_flow API. 175fb8bf05fSJohn McNamara * Added support for Age action query. 176fb8bf05fSJohn McNamara * Added support for multi-ports hairpin. 1771688c580SBenoît Ganne * Allow unknown link speed. 1786859e67eSDekel Peled 1790474419bSXueming Li Updated Mellanox mlx5 vDPA driver: 1800474419bSXueming Li 1810474419bSXueming Li * Added support of vDPA VirtQ error handling. 1820474419bSXueming Li 183dd45b880SAndrew Rybchenko* **Updated Solarflare network PMD.** 184dd45b880SAndrew Rybchenko 185dd45b880SAndrew Rybchenko Updated the Solarflare ``sfc_efx`` driver with changes including: 186dd45b880SAndrew Rybchenko 187dd45b880SAndrew Rybchenko * Added SR-IOV PF support 188bfea115bSAndrew Rybchenko * Added Alveo SN1000 SmartNICs (EF100 architecture) support including 189bfea115bSAndrew Rybchenko flow API transfer rules for switch HW offload 190141d2870SAndrew Rybchenko * Added ARMv8 support 191e4f72c9eSIvan Malov * Claimed flow API native thread safety 192dd45b880SAndrew Rybchenko 193a3babbddSJiawen Wu* **Added Wangxun txgbe PMD.** 194a3babbddSJiawen Wu 195f8dbaebbSSean Morrissey Added a new PMD for Wangxun 10 Gigabit Ethernet NICs. 196a3babbddSJiawen Wu 197a3babbddSJiawen Wu See the :doc:`../nics/txgbe` for more details. 198a3babbddSJiawen Wu 199b415b7a0SIvan Dyukov* **Updated Virtio driver.** 200b415b7a0SIvan Dyukov 201fb8bf05fSJohn McNamara * Added support for Vhost-vDPA backend to the Virtio-user PMD. 202b415b7a0SIvan Dyukov * Changed default link speed to unknown. 203fb8bf05fSJohn McNamara * Added support for the 200G link speed. 2040767e9ebSRadu Nicolau 2052f865ed0SJakub Grajciar* **Updated Memif PMD.** 2062f865ed0SJakub Grajciar 207fb8bf05fSJohn McNamara * Added support for abstract socket addresses. 2082f865ed0SJakub Grajciar * Changed default socket address type to abstract. 2092f865ed0SJakub Grajciar 210e2d81106SYi Yang* **Added UDP/IPv4 GRO support for VxLAN and non-VxLAN packets.** 2111ca5e674SYi Yang 212e2d81106SYi Yang For VxLAN packets, added inner UDP/IPv4 support. 2131ca5e674SYi Yang For non-VxLAN packets, added UDP/IPv4 support. 2141ca5e674SYi Yang 215fb8bf05fSJohn McNamara* **Extended the flow-perf application.** 2169001a863SWisam Jaddo 217fb8bf05fSJohn McNamara * Added support for user order instead of bit mask. 2189001a863SWisam Jaddo Now the user can create any structure of rte_flow 219fb8bf05fSJohn McNamara using the flow performance application with any order. 220fb8bf05fSJohn McNamara Moreover the app also now starts to support inner 2219001a863SWisam Jaddo items matching as well. 222ef9ae0cfSWisam Jaddo * Added header modify actions. 223d71bc9e9SWisam Jaddo * Added flag action. 2240c8f1f4aSWisam Jaddo * Added raw encap/decap actions. 2250a0757a0SWisam Jaddo * Added VXLAN encap/decap actions. 226b1088fccSLi Zhang * Added ICMP (code/type/identifier/sequence number) and ICMP6 (code/type) matching items. 227325bd805SWisam Jaddo * Added option to set port mask for insertion/deletion: 228325bd805SWisam Jaddo ``--portmask=N`` 229fb8bf05fSJohn McNamara where N represents the hexadecimal bitmask of the ports used. 2309001a863SWisam Jaddo 231eb7eed34SFan Zhang* **Added raw data-path APIs for cryptodev library.** 232eb7eed34SFan Zhang 233fb8bf05fSJohn McNamara Added raw data-path APIs to Cryptodev to help accelerate external libraries 234fb8bf05fSJohn McNamara or applications which need to avail of fast cryptodev enqueue/dequeue 235fb8bf05fSJohn McNamara operations but which do not necessarily need to depend on mbufs and 236fb8bf05fSJohn McNamara cryptodev operation mempools. 237eb7eed34SFan Zhang 238fd8df854SPablo de Lara* **Updated the aesni_mb crypto PMD.** 239c94c520bSMarcel Cornu 24039831d49SPablo de Lara * Added support for intel-ipsec-mb version 0.55. 241fd8df854SPablo de Lara * Added support for AES-ECB 128, 192 and 256. 242fd8df854SPablo de Lara * Added support for ZUC-EEA3/EIA3 algorithms. 2436c42e0cfSPablo de Lara * Added support for SNOW3G-UEA2/UIA2 algorithms. 244ae8e085cSPablo de Lara * Added support for KASUMI-F8/F9 algorithms. 245010230a1SPablo de Lara * Added support for Chacha20-Poly1305. 246a141f0c7SPablo de Lara * Added support for AES-256 CCM algorithm. 247c94c520bSMarcel Cornu 248515a6cc2SPablo de Lara* **Updated the aesni_gcm crypto PMD.** 249515a6cc2SPablo de Lara 250515a6cc2SPablo de Lara * Added SGL support for AES-GMAC. 251515a6cc2SPablo de Lara 252c8e79da7SVikas Gupta* **Added Broadcom BCMFS symmetric crypto PMD.** 253c8e79da7SVikas Gupta 254c8e79da7SVikas Gupta Added a symmetric crypto PMD for Broadcom FlexSparc crypto units. 255c8e79da7SVikas Gupta See :doc:`../cryptodevs/bcmfs` guide for more details on this new PMD. 256c8e79da7SVikas Gupta 257fb8bf05fSJohn McNamara* **Updated NXP DPAA2_SEC crypto PMD.** 258a6e892f4SAkhil Goyal 259a6e892f4SAkhil Goyal * Added DES-CBC support for cipher_only, chain and ipsec protocol. 260a054c627SAkhil Goyal * Added support for non-HMAC auth algorithms 261a054c627SAkhil Goyal (MD5, SHA1, SHA224, SHA256, SHA384, SHA512). 262a6e892f4SAkhil Goyal 26393ba4a6eSNagadheeraj Rottela* **Updated Marvell NITROX symmetric crypto PMD.** 26493ba4a6eSNagadheeraj Rottela 26593ba4a6eSNagadheeraj Rottela * Added AES-GCM support. 266678f3ecaSNagadheeraj Rottela * Added cipher only offload support. 26793ba4a6eSNagadheeraj Rottela 268fb8bf05fSJohn McNamara* **Updated Marvell OCTEON TX2 crypto PMD.** 2694edede7bSTejasree Kondoj 2704edede7bSTejasree Kondoj * Updated the OCTEON TX2 crypto PMD lookaside protocol offload for IPsec with 2714edede7bSTejasree Kondoj IPv6 support. 2724edede7bSTejasree Kondoj 273fb8bf05fSJohn McNamara* **Updated Intel QAT PMD.** 274728c76b0SFan Zhang 275728c76b0SFan Zhang * Added Raw Data-path APIs support. 276fb8bf05fSJohn McNamara * Added support for write combining stores. 277728c76b0SFan Zhang 278b17d7092SNicolas Chautru* **Added Intel ACC100 bbdev PMD.** 279b17d7092SNicolas Chautru 280b17d7092SNicolas Chautru Added a new ``acc100`` bbdev driver for the Intel\ |reg| ACC100 accelerator 281b17d7092SNicolas Chautru also known as Mount Bryce. See the 282b17d7092SNicolas Chautru :doc:`../bbdevs/acc100` BBDEV guide for more details on this new driver. 283b17d7092SNicolas Chautru 284486f067aSAkhil Goyal* **Updated rte_security library to support SDAP.** 285486f067aSAkhil Goyal 286486f067aSAkhil Goyal ``rte_security_pdcp_xform`` in ``rte_security`` lib is updated to enable 287fb8bf05fSJohn McNamara 5G NR processing of SDAP headers in PMDs. 288486f067aSAkhil Goyal 2894cd1c5fdSGuy Kaneti* **Added Marvell OCTEON TX2 regex PMD.** 2904cd1c5fdSGuy Kaneti 291f8dbaebbSSean Morrissey Added a new PMD for the hardware regex offload block for OCTEON TX2 SoC. 2924cd1c5fdSGuy Kaneti 29372c00ae9SLiron Himi See ``regexdevs/octeontx2`` for more details. 2944cd1c5fdSGuy Kaneti 29570207f35SRadu Nicolau* **Updated Software Eventdev driver.** 29670207f35SRadu Nicolau 29770207f35SRadu Nicolau Added performance tuning arguments to allow tuning the scheduler for 298fb8bf05fSJohn McNamara better throughput in high core count use cases. 29970207f35SRadu Nicolau 300218be034STimothy McDaniel* **Added a new driver for the Intel Dynamic Load Balancer v1.0 device.** 301218be034STimothy McDaniel 302698fa829STimothy McDaniel Added the new ``dlb`` eventdev driver for the Intel DLB V1.0 device. 303218be034STimothy McDaniel 304166378a7STimothy McDaniel* **Added a new driver for the Intel Dynamic Load Balancer v2.0 device.** 305166378a7STimothy McDaniel 306166378a7STimothy McDaniel Added the new ``dlb2`` eventdev driver for the Intel DLB V2.0 device. See the 307166378a7STimothy McDaniel :doc:`../eventdevs/dlb2` eventdev guide for more details on this new driver. 308166378a7STimothy McDaniel 309fb8bf05fSJohn McNamara* **Added Ice Lake (Gen4) support for Intel NTB.** 310fb8bf05fSJohn McNamara 311fb8bf05fSJohn McNamara Added NTB device support (4th generation) for the Intel Ice Lake platform. 312fb8bf05fSJohn McNamara 313fb8bf05fSJohn McNamara* **Updated ioat rawdev driver.** 31495b686a6SCheng Jiang 31595b686a6SCheng Jiang The ioat rawdev driver has been updated and enhanced. Changes include: 31695b686a6SCheng Jiang 317fb8bf05fSJohn McNamara * Added support for Intel\ |reg| Data Streaming Accelerator hardware. For 318fb8bf05fSJohn McNamara more information, see `Introducing the Intel Data Streaming Accelerator 319fb8bf05fSJohn McNamara (Intel DSA) 320fb8bf05fSJohn McNamara <https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator>`_. 3212ae23f56SKevin Laatz * Added support for the fill operation via the API ``rte_ioat_enqueue_fill()``, 3222ae23f56SKevin Laatz where the hardware fills an area of memory with a repeating pattern. 32395b686a6SCheng Jiang * Added a per-device configuration flag to disable management 32495b686a6SCheng Jiang of user-provided completion handles. 325979e29ddSBruce Richardson * Renamed the ``rte_ioat_do_copies()`` API to ``rte_ioat_perform_ops()``, 326979e29ddSBruce Richardson and renamed the ``rte_ioat_completed_copies()`` API to ``rte_ioat_completed_ops()`` 327979e29ddSBruce Richardson to better reflect the APIs' purposes, and remove the implication that 328979e29ddSBruce Richardson they are limited to copy operations only. 329fb8bf05fSJohn McNamara Note: The old API is still provided but marked as deprecated in the code. 330f55d1855SBruce Richardson * Added a new API ``rte_ioat_fence()`` to add a fence between operations. 331f55d1855SBruce Richardson This API replaces the ``fence`` flag parameter in the ``rte_ioat_enqueue_copies()`` function, 332f55d1855SBruce Richardson and is clearer as there is no ambiguity as to whether the flag should be 333f55d1855SBruce Richardson set on the last operation before the fence or the first operation after it. 33495b686a6SCheng Jiang 335c2b603bdSCristian Dumitrescu* **Updated the pipeline library for alignment with the P4 language.** 336c2b603bdSCristian Dumitrescu 337fb8bf05fSJohn McNamara Added a new Software Switch (SWX) pipeline type that provides more 338fb8bf05fSJohn McNamara flexibility through APIs and feature alignment with the P4 language. 339fb8bf05fSJohn McNamara Some enhancements are: 340c2b603bdSCristian Dumitrescu 341c2b603bdSCristian Dumitrescu * The packet headers, meta-data, actions, tables and pipelines are 342fb8bf05fSJohn McNamara dynamically defined instead of selected from a pre-defined set. 343c2b603bdSCristian Dumitrescu * The actions and the pipeline are defined with instructions. 344c2b603bdSCristian Dumitrescu * Extern objects and functions can be plugged into the pipeline. 345c2b603bdSCristian Dumitrescu * Transaction-oriented table updates. 346c2b603bdSCristian Dumitrescu 347fb8bf05fSJohn McNamara* **Added new AVX512 specific classify algorithms for ACL library.** 348b64c2295SKonstantin Ananyev 349b64c2295SKonstantin Ananyev * Added new ``RTE_ACL_CLASSIFY_AVX512X16`` vector implementation, 350b64c2295SKonstantin Ananyev which can process up to 16 flows in parallel. Requires AVX512 support. 351b64c2295SKonstantin Ananyev 35245da22e4SKonstantin Ananyev * Added new ``RTE_ACL_CLASSIFY_AVX512X32`` vector implementation, 35345da22e4SKonstantin Ananyev which can process up to 32 flows in parallel. Requires AVX512 support. 35445da22e4SKonstantin Ananyev 355b3509fa3SVladimir Medvedkin* **Added AVX512 lookup implementation for FIB.** 356b3509fa3SVladimir Medvedkin 3571e5630e4SVladimir Medvedkin Added a AVX512 lookup functions implementation into FIB and FIB6 libraries. 358b3509fa3SVladimir Medvedkin 359ac6fcb84SSavinay Dharmappa* **Added support to update subport bandwidth dynamically.** 360ac6fcb84SSavinay Dharmappa 361ac6fcb84SSavinay Dharmappa * Added new API ``rte_sched_port_subport_profile_add`` to add new 362fb8bf05fSJohn McNamara subport bandwidth profiles to the subport profile table at runtime. 363ac6fcb84SSavinay Dharmappa 364fb8bf05fSJohn McNamara * Added support to update the subport rate dynamically. 365ac6fcb84SSavinay Dharmappa 366952e10cdSFan Zhang* **Updated FIPS validation sample application.** 367952e10cdSFan Zhang 368952e10cdSFan Zhang * Added scatter gather support. 369d09abf2dSFan Zhang * Added NIST GCMVS complaint GMAC test method support. 370952e10cdSFan Zhang 37120f76bb6SKonstantin Ananyev* **Updated l3wfd-acl sample application.** 37220f76bb6SKonstantin Ananyev 37320f76bb6SKonstantin Ananyev * Added new optional parameter ``--eth-dest`` for the ``l3fwd-acl`` to allow 37420f76bb6SKonstantin Ananyev the user to specify the destination mac address for each ethernet port 37520f76bb6SKonstantin Ananyev used. 3765636d603SKonstantin Ananyev * Replaced ``--scalar`` command-line option with ``--alg=<value>``, to allow 3775636d603SKonstantin Ananyev the user to select the desired classify method. 37820f76bb6SKonstantin Ananyev 379abec60e7SCheng Jiang* **Updated vhost sample application.** 380abec60e7SCheng Jiang 381fb8bf05fSJohn McNamara Added vhost asynchronous APIs support, which demonstrates how the application 382fb8bf05fSJohn McNamara can leverage IOAT DMA channels with vhost asynchronous APIs. 383abec60e7SCheng Jiang See the :doc:`../sample_app_ug/vhost` for more details. 384abec60e7SCheng Jiang 3854f86c0baSThomas Monjalon 3864f86c0baSThomas MonjalonRemoved Items 3874f86c0baSThomas Monjalon------------- 3884f86c0baSThomas Monjalon 389fb8bf05fSJohn McNamara* build: Support for the Make build system has been removed from DPDK. 390194124fbSCiara Power Meson is now the primary build system. 391194124fbSCiara Power Sample applications can still be built with Make standalone, using pkg-config. 392194124fbSCiara Power 393cacf8267SMaxime Coquelin* vhost: Dequeue zero-copy support has been removed. 394cacf8267SMaxime Coquelin 39556bb5841SThomas Monjalon* kernel: The module ``igb_uio`` has been moved to the git repository 396fb8bf05fSJohn McNamara `dpdk-kmods <https://git.dpdk.org/dpdk-kmods/>`_ in a new directory 397fb8bf05fSJohn McNamara ``linux/igb_uio``. 3983f6f8362SLouise Kilheeney 399fb8bf05fSJohn McNamara* Removed Python 2 support since it was sunsetted in January 2020. See 400fb8bf05fSJohn McNamara `Sunsetting Python 2 <https://www.python.org/doc/sunset-python-2/>`_ 4014f86c0baSThomas Monjalon 402079981e9SXiaoyun Li* Removed TEP termination sample application. 403079981e9SXiaoyun Li 404b0a49787SDavid Marchand* Removed the deprecated ``dpdk-setup.sh`` script. 405b0a49787SDavid Marchand 406079981e9SXiaoyun Li 4074f86c0baSThomas MonjalonAPI Changes 4084f86c0baSThomas Monjalon----------- 4094f86c0baSThomas Monjalon 410fb8bf05fSJohn McNamara* build macros: The macros defining ``RTE_MACHINE_CPUFLAG_*`` have been removed. 411fb8bf05fSJohn McNamara The information provided by these macros is now available through standard 41284fb33feSRadu Nicolau compiler macros. 41384fb33feSRadu Nicolau 414fb8bf05fSJohn McNamara* eal: Replaced the function ``rte_get_master_lcore()`` with 415cb056611SStephen Hemminger ``rte_get_main_lcore()``. The old function is deprecated. 416cb056611SStephen Hemminger 417cb056611SStephen Hemminger The iterator for worker lcores is also changed: 418cb056611SStephen Hemminger ``RTE_LCORE_FOREACH_SLAVE`` is replaced with 419cb056611SStephen Hemminger ``RTE_LCORE_FOREACH_WORKER``. 420cb056611SStephen Hemminger 421db27370bSStephen Hemminger* eal: The definitions related to including and excluding devices 422fb8bf05fSJohn McNamara have been changed from blacklist/whitelist to block/allow list. 423db27370bSStephen Hemminger There are compatibility macros and command line mapping to accept 424db27370bSStephen Hemminger the old values but applications and scripts are strongly encouraged 425db27370bSStephen Hemminger to migrate to the new names. 426db27370bSStephen Hemminger 427f484baeeSStephen Hemminger* eal: The ``rte_logs`` struct and global symbol was made private 428f484baeeSStephen Hemminger and is no longer part of the API. 429f484baeeSStephen Hemminger 43022a2f54fSDavid Marchand* eal: Made the ``rte_dev_event`` structure private to the EAL as no public API 43122a2f54fSDavid Marchand used it. 43222a2f54fSDavid Marchand 433f0f5d844SPhil Yang* eal: ``rte_cio_rmb()`` and ``rte_cio_wmb()`` were deprecated since 20.08 434f0f5d844SPhil Yang and are removed in this release. 435f0f5d844SPhil Yang 43672f82c43SThomas Monjalon* mem: Removed the unioned field ``phys_addr`` from 43772f82c43SThomas Monjalon the structures ``rte_memseg`` and ``rte_memzone``. 438fb8bf05fSJohn McNamara The field ``iova`` remains from the old unions. 43972f82c43SThomas Monjalon 44028e3c8b2SThomas Monjalon* mempool: Removed the unioned fields ``phys_addr`` and ``physaddr`` from 44128e3c8b2SThomas Monjalon the structures ``rte_mempool_memhdr`` and ``rte_mempool_objhdr``. 442fb8bf05fSJohn McNamara The field ``iova`` remains from the old unions. 44328e3c8b2SThomas Monjalon The flag name ``MEMPOOL_F_NO_PHYS_CONTIG`` is removed, 44428e3c8b2SThomas Monjalon while the aliased flag ``MEMPOOL_F_NO_IOVA_CONTIG`` is kept. 44528e3c8b2SThomas Monjalon 446ce627d63SThomas Monjalon* mbuf: Removed the functions ``rte_mbuf_data_dma_addr*`` 447ce627d63SThomas Monjalon and the macros ``rte_pktmbuf_mtophys*``. 448ce627d63SThomas Monjalon The same functionality is still available with the functions and macros 449ce627d63SThomas Monjalon having ``iova`` in their names instead of ``dma_addr`` or ``mtophys``. 450ce627d63SThomas Monjalon 4514be71727SThomas Monjalon* mbuf: Removed the unioned field ``buf_physaddr`` from ``rte_mbuf``. 452fb8bf05fSJohn McNamara The field ``buf_iova`` remains from the old union. 4534be71727SThomas Monjalon 454e41d27a6SPhil Yang* mbuf: Removed the unioned field ``refcnt_atomic`` from 455e41d27a6SPhil Yang the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``. 456fb8bf05fSJohn McNamara The field ``refcnt`` remains from the old unions. 457e41d27a6SPhil Yang 4585284adadSThomas Monjalon* mbuf: Removed the unioned fields ``userdata`` and ``udata64`` 4595284adadSThomas Monjalon from the structure ``rte_mbuf``. It is replaced with dynamic fields. 4605284adadSThomas Monjalon 46179d69c6dSDavid Marchand* mbuf: Removed the field ``seqn`` from the structure ``rte_mbuf``. 46279d69c6dSDavid Marchand It is replaced with dynamic fields. 46379d69c6dSDavid Marchand 464c7e857e1SThomas Monjalon* mbuf: Removed the field ``timestamp`` from the structure ``rte_mbuf``. 465c7e857e1SThomas Monjalon It is replaced with the dynamic field RTE_MBUF_DYNFIELD_TIMESTAMP_NAME 466c7e857e1SThomas Monjalon which was previously used only for Tx. 467c7e857e1SThomas Monjalon 4687c0d798aSDavid Marchand* pci: Removed the ``rte_kernel_driver`` enum defined in rte_dev.h and 4697c0d798aSDavid Marchand replaced with a private enum in the PCI subsystem. 4707c0d798aSDavid Marchand 471e1ece609SDavid Marchand* pci: Removed the PCI resources map API from the public API 472e1ece609SDavid Marchand (``pci_map_resource`` and ``pci_unmap_resource``) and moved it to the 473e1ece609SDavid Marchand PCI bus driver along with the PCI resources lists and associated structures 474e1ece609SDavid Marchand (``pci_map``, ``pci_msix_table``, ``mapped_pci_resource`` and 475e1ece609SDavid Marchand ``mapped_pci_res_list``). 476e1ece609SDavid Marchand 477dbd38092SDavid Marchand* ethdev: Removed the ``kdrv`` field in the ethdev ``rte_eth_dev_data`` 478dbd38092SDavid Marchand structure as it gave no useful abstracted information to the applications. 479dbd38092SDavid Marchand 480fa1f5fe4SFerruh Yigit* ethdev: ``rte_eth_rx_descriptor_done()`` API has been deprecated. 481fa1f5fe4SFerruh Yigit 4821372d0cbSThomas Monjalon* ethdev: Renamed basic statistics per queue. An underscore is inserted 4831372d0cbSThomas Monjalon between the queue number and the rest of the xstat name: 4841372d0cbSThomas Monjalon 4851372d0cbSThomas Monjalon * ``rx_qN*`` -> ``rx_qN_*`` 4861372d0cbSThomas Monjalon * ``tx_qN*`` -> ``tx_qN_*`` 4871372d0cbSThomas Monjalon 488f6859b51SDekel Peled* ethdev: Added capability to query age flow action. 489f6859b51SDekel Peled 49058af5917SIvan Ilchenko* ethdev: Changed ``rte_eth_dev_stop`` return value from ``void`` to 49158af5917SIvan Ilchenko ``int`` to provide a way to report various error conditions. 49258af5917SIvan Ilchenko 4938a5a0aadSThomas Monjalon* ethdev: Added ``int`` return type to ``rte_eth_dev_close()``. 4948a5a0aadSThomas Monjalon 4951372d0cbSThomas Monjalon* ethdev: Renamed internal functions: 4965723fbedSFerruh Yigit 4975723fbedSFerruh Yigit * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()`` 4985723fbedSFerruh Yigit * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()`` 4995723fbedSFerruh Yigit 5009f6dc859SHuisong Li* ethdev: Modified field type of ``base`` and ``nb_queue`` in struct 5019f6dc859SHuisong Li ``rte_eth_dcb_tc_queue_mapping`` from ``uint8_t`` to ``uint16_t``. 502fb8bf05fSJohn McNamara As the data of ``uint8_t`` will be truncated when queue number in 5039f6dc859SHuisong Li a TC is greater than 256. 5049f6dc859SHuisong Li 5050b46e9b4SAndrew Rybchenko* ethdev: Removed the legacy filter API, including 5060b46e9b4SAndrew Rybchenko ``rte_eth_dev_filter_supported()`` and ``rte_eth_dev_filter_ctrl()``. 5070b46e9b4SAndrew Rybchenko 50899a1b689SAndrew Rybchenko* ethdev: Removed the legacy L2 tunnel configuration API, including 509cf47acc0SAndrew Rybchenko ``rte_eth_dev_l2_tunnel_eth_type_conf()`` and 510cf47acc0SAndrew Rybchenko ``rte_eth_dev_l2_tunnel_offload_set()``.. 51199a1b689SAndrew Rybchenko 512eca9a0d6SMaxime Coquelin* vhost: Moved vDPA APIs from experimental to stable. 513eca9a0d6SMaxime Coquelin 514ea1b835aSFan Zhang* vhost: Add a new function ``rte_vhost_crypto_driver_start`` to be called 515ea1b835aSFan Zhang instead of ``rte_vhost_driver_start`` by crypto applications. 516ea1b835aSFan Zhang 5178d928d47SFan Zhang* cryptodev: The structure ``rte_crypto_sym_vec`` is updated to support both 518fb8bf05fSJohn McNamara cpu_crypto synchronous operations and asynchronous raw data-path APIs. 5198d928d47SFan Zhang 5203a6f835bSArek Kusztal* cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``, 5213a6f835bSArek Kusztal ``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and 5223a6f835bSArek Kusztal ``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm`` 5233a6f835bSArek Kusztal are removed to avoid future ABI breakage while adding new algorithms. 5243a6f835bSArek Kusztal 52585b00824SAdam Dybkowski* scheduler: Renamed functions ``rte_cryptodev_scheduler_slave_attach``, 52685b00824SAdam Dybkowski ``rte_cryptodev_scheduler_slave_detach`` and 52785b00824SAdam Dybkowski ``rte_cryptodev_scheduler_slaves_get`` to 52885b00824SAdam Dybkowski ``rte_cryptodev_scheduler_worker_attach``, 52985b00824SAdam Dybkowski ``rte_cryptodev_scheduler_worker_detach`` and 53085b00824SAdam Dybkowski ``rte_cryptodev_scheduler_workers_get`` accordingly. 53185b00824SAdam Dybkowski 53285b00824SAdam Dybkowski* scheduler: Renamed the configuration value 53385b00824SAdam Dybkowski ``RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES`` to 53485b00824SAdam Dybkowski ``RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS``. 53585b00824SAdam Dybkowski 536fb8bf05fSJohn McNamara* security: The ``hfn_ovrd`` field in ``rte_security_pdcp_xform`` is changed from 537486f067aSAkhil Goyal ``uint32_t`` to ``uint8_t`` so that a new field ``sdap_enabled`` can be added 538486f067aSAkhil Goyal to support SDAP. 539486f067aSAkhil Goyal 540e30b2833SAkhil Goyal* security: The API ``rte_security_session_create`` is updated to take two 541fb8bf05fSJohn McNamara mempool objects: one for session and other for session private data. 542e30b2833SAkhil Goyal So the application need to create two mempools and get the size of session 543e30b2833SAkhil Goyal private data using API ``rte_security_session_get_size`` for private session 544e30b2833SAkhil Goyal mempool. 545e30b2833SAkhil Goyal 546a748d24dSConor Walsh* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum`` and 547a748d24dSConor Walsh subsequently moved ``rte_ipsec`` lib from experimental to stable. 548a748d24dSConor Walsh 549e6925585SMaxime Coquelin* baseband/fpga_lte_fec: Renamed function ``fpga_lte_fec_configure`` to 550e6925585SMaxime Coquelin ``rte_fpga_lte_fec_configure`` and structure ``fpga_lte_fec_conf`` to 551e6925585SMaxime Coquelin ``rte_fpga_lte_fec_conf``. 552e6925585SMaxime Coquelin 5537adbb468SMaxime Coquelin* baseband/fpga_5gnr_fec: Renamed function ``fpga_5gnr_fec_configure`` to 5547adbb468SMaxime Coquelin ``rte_fpga_5gnr_fec_configure`` and structure ``fpga_5gnr_fec_conf`` to 5557adbb468SMaxime Coquelin ``rte_fpga_5gnr_fec_conf``. 5567adbb468SMaxime Coquelin 5578db9dce7SBruce Richardson* rawdev: Added a structure size parameter to the functions 558f574ed81SBruce Richardson ``rte_rawdev_queue_setup()``, ``rte_rawdev_queue_conf_get()``, 5598db9dce7SBruce Richardson ``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``, 56010b71caeSBruce Richardson allowing limited driver type-checking and ABI compatibility. 56110b71caeSBruce Richardson 562f150dd88SBruce Richardson* rawdev: Changed the return type of the function ``rte_dev_info_get()`` 56313f8e4a2SBruce Richardson and the function ``rte_rawdev_queue_conf_get()`` 564f150dd88SBruce Richardson from ``void`` to ``int`` allowing the return of error codes from drivers. 565f150dd88SBruce Richardson 56639f7b298SBruce Richardson* rawdev: The running of a drivers ``selftest()`` function can now be done 56739f7b298SBruce Richardson using the ``rawdev_autotest`` command in the ``dpdk-test`` binary. This 56839f7b298SBruce Richardson command now calls the self-test function for each rawdev found on the 56939f7b298SBruce Richardson system, and does not require a specific command per device type. 5704b3f8119SBruce Richardson Following this change, the ``ioat_rawdev_autotest`` command has been 5714b3f8119SBruce Richardson removed as no longer needed. 57239f7b298SBruce Richardson 573979e29ddSBruce Richardson* raw/ioat: As noted above, the ``rte_ioat_do_copies()`` and 574979e29ddSBruce Richardson ``rte_ioat_completed_copies()`` functions have been renamed to 575979e29ddSBruce Richardson ``rte_ioat_perform_ops()`` and ``rte_ioat_completed_ops()`` respectively. 576979e29ddSBruce Richardson 577100d9b80SGage Eads* stack: the experimental tag has been dropped from the stack library, and its 578100d9b80SGage Eads interfaces are considered stable as of DPDK 20.11. 579100d9b80SGage Eads 580dc18be1dSConor Walsh* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``. 581dc18be1dSConor Walsh 582c0d002aeSYi Yang* gso: Changed ``rte_gso_segment`` behaviour and return value: 583c0d002aeSYi Yang 584c0d002aeSYi Yang * ``pkt`` is not saved to ``pkts_out[0]`` if not GSOed. 585c0d002aeSYi Yang * Return 0 instead of 1 for the above case. 586c0d002aeSYi Yang * ``pkt`` is not freed, no matter whether it is GSOed, leaving to the caller. 587c0d002aeSYi Yang 588ad20877aSKonstantin Ananyev* acl: ``RTE_ACL_CLASSIFY_NUM`` enum value has been removed. 589fb8bf05fSJohn McNamara This enum value was not used inside DPDK, while it prevented the addition of new 590ad20877aSKonstantin Ananyev classify algorithms without causing an ABI breakage. 591ad20877aSKonstantin Ananyev 592fb8bf05fSJohn McNamara* sched: Added ``subport_profile_id`` as an argument 593ac6fcb84SSavinay Dharmappa to function ``rte_sched_subport_config``. 594ac6fcb84SSavinay Dharmappa 595bf32a357SSavinay Dharmappa* sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size`` 596bf32a357SSavinay Dharmappa from ``struct rte_sched_subport_params``. 597bf32a357SSavinay Dharmappa 5984f86c0baSThomas Monjalon 5994f86c0baSThomas MonjalonABI Changes 6004f86c0baSThomas Monjalon----------- 6014f86c0baSThomas Monjalon 602fb8bf05fSJohn McNamara* eal: Removed the unimplemented function ``rte_dump_registers()``. 6033cd73a1aSThomas Monjalon 604cbfc6111SFerruh Yigit* ``ethdev`` changes 605cbfc6111SFerruh Yigit 606fb8bf05fSJohn McNamara * The following device operation function pointers moved 607cbfc6111SFerruh Yigit from ``struct eth_dev_ops`` to ``struct rte_eth_dev``: 608cbfc6111SFerruh Yigit 609cbfc6111SFerruh Yigit * ``eth_rx_queue_count_t rx_queue_count;`` 610cbfc6111SFerruh Yigit * ``eth_rx_descriptor_done_t rx_descriptor_done;`` 611cbfc6111SFerruh Yigit * ``eth_rx_descriptor_status_t rx_descriptor_status;`` 612cbfc6111SFerruh Yigit * ``eth_tx_descriptor_status_t tx_descriptor_status;`` 613cbfc6111SFerruh Yigit 614fb8bf05fSJohn McNamara * ``struct eth_dev_ops`` is no longer accessible by applications, 615fb8bf05fSJohn McNamara which was already an internal data structure. 61647909357SFerruh Yigit 617cb4115cbSFerruh Yigit * ``ethdev`` internal functions are marked with ``__rte_internal`` tag. 618cb4115cbSFerruh Yigit 619ad976bd4SDekel Peled * Added extensions' attributes to struct ``rte_flow_item_ipv6``. 620ad976bd4SDekel Peled A set of additional values added to struct, indicating the existence of 621ad976bd4SDekel Peled every defined extension header type. 622ad976bd4SDekel Peled Applications should use the new values for identification of existing 623ad976bd4SDekel Peled extensions in the packet header. 624ad976bd4SDekel Peled 6254ff702b5SViacheslav Ovsiienko * Added fields ``rx_seg`` and ``rx_nseg`` to ``rte_eth_rxconf`` structure 6264ff702b5SViacheslav Ovsiienko to provide extended description of the receiving buffer. 6274ff702b5SViacheslav Ovsiienko 6285d9f23fbSBing Zhao * ``struct rte_eth_hairpin_conf`` has two new members: 6295d9f23fbSBing Zhao 6305d9f23fbSBing Zhao * ``uint32_t tx_explicit:1;`` 6315d9f23fbSBing Zhao * ``uint32_t manual_bind:1;`` 6325d9f23fbSBing Zhao 63309315fc8SDekel Peled * Added new field ``has_vlan`` to structure ``rte_flow_item_eth``, 63409315fc8SDekel Peled indicating that packet header contains at least one VLAN. 63509315fc8SDekel Peled 636fb8bf05fSJohn McNamara * Added new field ``has_more_vlan`` to the structure 63709315fc8SDekel Peled ``rte_flow_item_vlan``, indicating that packet header contains 63809315fc8SDekel Peled at least one more VLAN, after this VLAN. 63909315fc8SDekel Peled 640fb8bf05fSJohn McNamara* eventdev: The following structures are modified to support DLB/DLB2 PMDs 64175d11313STimothy McDaniel and future extensions: 64275d11313STimothy McDaniel 64375d11313STimothy McDaniel * ``rte_event_dev_info`` 64475d11313STimothy McDaniel * ``rte_event_dev_config`` 64575d11313STimothy McDaniel * ``rte_event_port_conf`` 64675d11313STimothy McDaniel 6470ea4c6afSSavinay Dharmappa* sched: Added new fields to ``struct rte_sched_subport_port_params``. 6480ea4c6afSSavinay Dharmappa 649ced5a6ceSRuifeng Wang* lpm: Removed fields other than ``tbl24`` and ``tbl8`` from the struct 650ced5a6ceSRuifeng Wang ``rte_lpm``. The removed fields were made internal. 651ced5a6ceSRuifeng Wang 6524f86c0baSThomas Monjalon 6534f86c0baSThomas MonjalonTested Platforms 6544f86c0baSThomas Monjalon---------------- 6554f86c0baSThomas Monjalon 6566070ae89SBo Chen* Intel\ |reg| platforms with Intel\ |reg| NICs combinations 6576070ae89SBo Chen 6586070ae89SBo Chen * CPU 6596070ae89SBo Chen 6606070ae89SBo Chen * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz 6616070ae89SBo Chen * Intel\ |reg| Atom\ |trade| CPU C3858 @ 2.00GHz 6626070ae89SBo Chen * Intel\ |reg| Atom\ |trade| CPU C3958 @ 2.00GHz 6636070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU D-1541 @ 2.10GHz 6646070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz 6656070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU E5-2680 0 @ 2.70GHz 6666070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 6676070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz 6686070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz 6696070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| Gold 5218N CPU @ 2.30GHz 6706070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz 6716070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz 6726070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz 6736070ae89SBo Chen * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz 6746070ae89SBo Chen 6756070ae89SBo Chen * OS: 6766070ae89SBo Chen 6776070ae89SBo Chen * CentOS 8.2 6786070ae89SBo Chen * Fedora 33 6796070ae89SBo Chen * FreeBSD 12.1 6806070ae89SBo Chen * OpenWRT 19.07.3 6816070ae89SBo Chen * Red Hat Enterprise Linux Server release 8.2 6826070ae89SBo Chen * Suse 15 SP1 6836070ae89SBo Chen * Ubuntu 18.04 6846070ae89SBo Chen * Ubuntu 20.04 6856070ae89SBo Chen * Ubuntu 20.10 6866070ae89SBo Chen 6876070ae89SBo Chen * NICs: 6886070ae89SBo Chen 6896070ae89SBo Chen * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G) 6906070ae89SBo Chen 6916070ae89SBo Chen * Firmware version: 2.30 0x80004dcf 1.2839.0 6926070ae89SBo Chen * Device id (pf/vf): 8086:1593 / 8086:1889 6936070ae89SBo Chen * Driver version: 1.3.0 (ice) 6946070ae89SBo Chen * OS Default DDP: 1.3.20.0 6956070ae89SBo Chen * COMMS DDP: 1.3.24.0 6966070ae89SBo Chen 6976070ae89SBo Chen * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G) 6986070ae89SBo Chen 6996070ae89SBo Chen * Firmware version: 2.30 0x80004dd0 1.2839.0 7006070ae89SBo Chen * Device id (pf/vf): 8086:1592 / 8086:1889 7016070ae89SBo Chen * Driver version: 1.3.0 (ice) 7026070ae89SBo Chen * OS Default DDP: 1.3.20.0 7036070ae89SBo Chen * COMMS DDP: 1.3.24.0 7046070ae89SBo Chen 7056070ae89SBo Chen * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller 7066070ae89SBo Chen 7076070ae89SBo Chen * Firmware version: 0x61bf0001 7086070ae89SBo Chen * Device id (pf/vf): 8086:10fb / 8086:10ed 7096070ae89SBo Chen * Driver version: 5.7.1 (ixgbe) 7106070ae89SBo Chen 7116070ae89SBo Chen * Intel\ |reg| Corporation Ethernet Connection X552/X557-AT 10GBASE-T 7126070ae89SBo Chen 7136070ae89SBo Chen * Firmware version: 0x800003e7 7146070ae89SBo Chen * Device id (pf/vf): 8086:15ad / 8086:15a8 7156070ae89SBo Chen * Driver version: 5.1.0-k (ixgbe) 7166070ae89SBo Chen 7176070ae89SBo Chen * Intel\ |reg| Corporation Ethernet Controller 10G X550T 7186070ae89SBo Chen 7196070ae89SBo Chen * Firmware version: 0x80000482 7206070ae89SBo Chen * Device id (pf): 8086:1563 7216070ae89SBo Chen * Driver version: 5.7.1 (ixgbe) 7226070ae89SBo Chen 7236070ae89SBo Chen * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G) 7246070ae89SBo Chen 7256070ae89SBo Chen * Firmware version: 8.00 0x80008b82 1.2766.0 7266070ae89SBo Chen * Device id (pf/vf): 8086:1572 / 8086:154c 7276070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7286070ae89SBo Chen 7296070ae89SBo Chen * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) 7306070ae89SBo Chen 7316070ae89SBo Chen * Firmware version: 5.00 0x800023c3 1.2766.0 7326070ae89SBo Chen * Device id (pf/vf): 8086:37d0 / 8086:37cd 7336070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7346070ae89SBo Chen 7356070ae89SBo Chen * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T (2x10G) 7366070ae89SBo Chen 7376070ae89SBo Chen * Firmware version: 4.10 0x80001a7a 7386070ae89SBo Chen * Device id (pf/vf): 8086:37d2 / 8086:37cd 7396070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7406070ae89SBo Chen 7416070ae89SBo Chen * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 7426070ae89SBo Chen 7436070ae89SBo Chen * Firmware version: 8.00 0x80008c1a 1.2766.0 7446070ae89SBo Chen * Device id (pf/vf): 8086:158b / 8086:154c 7456070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7466070ae89SBo Chen 7476070ae89SBo Chen * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 7486070ae89SBo Chen 7496070ae89SBo Chen * Firmware version: 8.00 0x80008b82 1.2766.0 7506070ae89SBo Chen * Device id (pf/vf): 8086:1583 / 8086:154c 7516070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7526070ae89SBo Chen 7536070ae89SBo Chen * Intel\ |reg| Corporation I350 Gigabit Network Connection 7546070ae89SBo Chen 7556070ae89SBo Chen * Firmware version: 1.63, 0x80000cbc 7566070ae89SBo Chen * Device id (pf/vf): 8086:1521 / 8086:1520 7576070ae89SBo Chen * Driver version: 5.4.0-k (igb) 7586070ae89SBo Chen 7596070ae89SBo Chen * Intel\ |reg| Corporation I210 Gigabit Network Connection 7606070ae89SBo Chen 7616070ae89SBo Chen * Firmware version: 3.25, 0x800006eb 7626070ae89SBo Chen * Device id (pf): 8086:1533 7636070ae89SBo Chen * Driver version: 5.4.0-k (igb) 7646070ae89SBo Chen 7656070ae89SBo Chen * Intel\ |reg| Ethernet Controller 10-Gigabit X540-AT2 7666070ae89SBo Chen 7676070ae89SBo Chen * Firmware version: 0x800005f9 7686070ae89SBo Chen * Device id (pf): 8086:1528 7696070ae89SBo Chen * Driver version: 5.1.0-k (ixgbe) 7706070ae89SBo Chen 7716070ae89SBo Chen * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L 7726070ae89SBo Chen 7736070ae89SBo Chen * Firmware version: 8.00 0x80008d10 1.2766.0 7746070ae89SBo Chen * Device id (pf): 8086:15ff 7756070ae89SBo Chen * Driver version: 2.13.10 (i40e) 7766070ae89SBo Chen 7774d319541SRaslan Darawsheh* Intel\ |reg| platforms with Mellanox\ |reg| NICs combinations 7784d319541SRaslan Darawsheh 7794d319541SRaslan Darawsheh * CPU: 7804d319541SRaslan Darawsheh 7814d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz 7824d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz 7834d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz 7844d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz 7854d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz 7864d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz 7874d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz 7884d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz 7894d319541SRaslan Darawsheh * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz 7904d319541SRaslan Darawsheh 7914d319541SRaslan Darawsheh * OS: 7924d319541SRaslan Darawsheh 7934d319541SRaslan Darawsheh * Red Hat Enterprise Linux release 8.2 (Ootpa) 7944d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.8 (Maipo) 7954d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.6 (Maipo) 7964d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.5 (Maipo) 7974d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.4 (Maipo) 7984d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.3 (Maipo) 7994d319541SRaslan Darawsheh * Red Hat Enterprise Linux Server release 7.2 (Maipo) 8004d319541SRaslan Darawsheh * Ubuntu 20.04 8014d319541SRaslan Darawsheh * Ubuntu 18.04 8024d319541SRaslan Darawsheh * Ubuntu 16.04 8034d319541SRaslan Darawsheh * SUSE Enterprise Linux 15 SP2 8044d319541SRaslan Darawsheh * SUSE Enterprise Linux 12 SP4 8054d319541SRaslan Darawsheh 8064d319541SRaslan Darawsheh * OFED: 8074d319541SRaslan Darawsheh 8084d319541SRaslan Darawsheh * MLNX_OFED 5.2-0.3.3.0 and above 8094d319541SRaslan Darawsheh * MLNX_OFED 5.1-2.5.8.0 8104d319541SRaslan Darawsheh 8114d319541SRaslan Darawsheh * upstream kernel: 8124d319541SRaslan Darawsheh 8134d319541SRaslan Darawsheh * Linux 5.10.0-rc2 and above 8144d319541SRaslan Darawsheh 8154d319541SRaslan Darawsheh * rdma-core: 8164d319541SRaslan Darawsheh 8174d319541SRaslan Darawsheh * rdma-core-31.0-1 and above 8184d319541SRaslan Darawsheh 8194d319541SRaslan Darawsheh * NICs: 8204d319541SRaslan Darawsheh 8214d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G) 8224d319541SRaslan Darawsheh 8234d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 8244d319541SRaslan Darawsheh * Device ID: 15b3:1007 8254d319541SRaslan Darawsheh * Firmware version: 2.42.5000 8264d319541SRaslan Darawsheh 8274d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G) 8284d319541SRaslan Darawsheh 8294d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 8304d319541SRaslan Darawsheh * Device ID: 15b3:1007 8314d319541SRaslan Darawsheh * Firmware version: 2.42.5000 8324d319541SRaslan Darawsheh 8334d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G) 8344d319541SRaslan Darawsheh 8354d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 8364d319541SRaslan Darawsheh * Device ID: 15b3:1015 8374d319541SRaslan Darawsheh * Firmware version: 14.29.0476 and above 8384d319541SRaslan Darawsheh 8394d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G) 8404d319541SRaslan Darawsheh 8414d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x8 8424d319541SRaslan Darawsheh * Device ID: 15b3:1015 8434d319541SRaslan Darawsheh * Firmware version: 14.29.0476 and above 8444d319541SRaslan Darawsheh 8454d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G) 8464d319541SRaslan Darawsheh 8474d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 8484d319541SRaslan Darawsheh * Device ID: 15b3:1017 8494d319541SRaslan Darawsheh * Firmware version: 16.29.0476 and above 8504d319541SRaslan Darawsheh 8514d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G) 8524d319541SRaslan Darawsheh 8534d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 8544d319541SRaslan Darawsheh * Device ID: 15b3:1017 8554d319541SRaslan Darawsheh * Firmware version: 16.29.0476 and above 8564d319541SRaslan Darawsheh 8574d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G) 8584d319541SRaslan Darawsheh 8594d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 8604d319541SRaslan Darawsheh * Device ID: 15b3:1017 8614d319541SRaslan Darawsheh * Firmware version: 16.29.0476 and above 8624d319541SRaslan Darawsheh 8634d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G) 8644d319541SRaslan Darawsheh 8654d319541SRaslan Darawsheh * Host interface: PCI Express 4.0 x16 8664d319541SRaslan Darawsheh * Device ID: 15b3:1019 8674d319541SRaslan Darawsheh * Firmware version: 16.29.0476 and above 8684d319541SRaslan Darawsheh 8694d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G) 8704d319541SRaslan Darawsheh 8714d319541SRaslan Darawsheh * Host interface: PCI Express 4.0 x16 8724d319541SRaslan Darawsheh * Device ID: 15b3:101d 8734d319541SRaslan Darawsheh * Firmware version: 22.29.0476 and above 8744d319541SRaslan Darawsheh 8754d319541SRaslan Darawsheh * Mellanox\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G) 8764d319541SRaslan Darawsheh 8774d319541SRaslan Darawsheh * Host interface: PCI Express 4.0 x8 8784d319541SRaslan Darawsheh * Device ID: 15b3:101f 8794d319541SRaslan Darawsheh * Firmware version: 26.29.0470 and above 8804d319541SRaslan Darawsheh 8814d319541SRaslan Darawsheh* Mellanox\ |reg| BlueField\ |reg| SmartNIC 8824d319541SRaslan Darawsheh 883*eb1dcc01SThomas Monjalon * Mellanox\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT (2x25G) 8844d319541SRaslan Darawsheh 8854d319541SRaslan Darawsheh * Host interface: PCI Express 3.0 x16 8864d319541SRaslan Darawsheh * Device ID: 15b3:a2d2 8874d319541SRaslan Darawsheh * Firmware version: 24.29.0476 and above 8884d319541SRaslan Darawsheh 8894d319541SRaslan Darawsheh * Embedded software: 8904d319541SRaslan Darawsheh 8914d319541SRaslan Darawsheh * CentOS Linux release 7.6.1810 (AltArch) 8924d319541SRaslan Darawsheh * MLNX_OFED 5.2-0.3.2 and above 8934d319541SRaslan Darawsheh * DPDK application running on Arm cores 89417829023SAjit Khaparde 89517829023SAjit Khaparde* Intel\ |reg| platforms with Broadcom\ |reg| NICs combinations 89617829023SAjit Khaparde 89717829023SAjit Khaparde * CPU: 89817829023SAjit Khaparde 89917829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz 90017829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| CPU E5-2667 v3 @ 3.20GHz 90117829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v2 @ 2.60GHz 90217829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| Gold 6142 CPU @ 2.60GHz 90317829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| Silver 4110 CPU @ 2.10GHz 90417829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| CPU E3-1270 v3 @ 3.50GHz 90517829023SAjit Khaparde * Intel\ |reg| Xeon\ |reg| Gold 6134M CPU @ 3.20GHz 90617829023SAjit Khaparde 90717829023SAjit Khaparde * OS: 90817829023SAjit Khaparde 90917829023SAjit Khaparde * Red Hat Enterprise Linux Server release 8.1 91017829023SAjit Khaparde * Red Hat Enterprise Linux Server release 7.6 91117829023SAjit Khaparde * Red Hat Enterprise Linux Server release 7.5 91217829023SAjit Khaparde * Ubuntu 16.04 91317829023SAjit Khaparde * Centos 8.1 91417829023SAjit Khaparde * Centos 7.8 91517829023SAjit Khaparde * Centos 7.7 91617829023SAjit Khaparde 91717829023SAjit Khaparde * upstream kernel: 91817829023SAjit Khaparde 91917829023SAjit Khaparde * Linux 5.3.4 92017829023SAjit Khaparde 92117829023SAjit Khaparde * NICs: 92217829023SAjit Khaparde 92317829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-E\ |reg| Series P225p (2x25G) 92417829023SAjit Khaparde 92517829023SAjit Khaparde * Host interface: PCI Express 3.0 x8 92617829023SAjit Khaparde * Firmware version: 214.4.114.0 and above 92717829023SAjit Khaparde 92817829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-E\ |reg| Series P425p (4x25G) 92917829023SAjit Khaparde 93017829023SAjit Khaparde * Host interface: PCI Express 3.0 x16 93117829023SAjit Khaparde * Firmware version: 216.4.259.0 and above 93217829023SAjit Khaparde 93317829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-E\ |reg| Series P2100G (2x100G) 93417829023SAjit Khaparde 93517829023SAjit Khaparde * Host interface: PCI Express 3.0 x16 93617829023SAjit Khaparde * Firmware version: 216.1.259.0 and above 93717829023SAjit Khaparde 93817829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-E\ |reg| Series P425p (4x25G) 93917829023SAjit Khaparde 94017829023SAjit Khaparde * Host interface: PCI Express 4.0 x16 94117829023SAjit Khaparde * Firmware version: 216.1.259.0 and above 94217829023SAjit Khaparde 94317829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-E\ |reg| Series P2100G (2x100G) 94417829023SAjit Khaparde 94517829023SAjit Khaparde * Host interface: PCI Express 4.0 x16 94617829023SAjit Khaparde * Firmware version: 216.1.259.0 and above 94717829023SAjit Khaparde 94817829023SAjit Khaparde* Broadcom\ |reg| NetXtreme-S\ |reg| Series SmartNIC 94917829023SAjit Khaparde 95017829023SAjit Khaparde * Broadcom\ |reg| NetXtreme-S\ |reg| Series PS225-H16 SmartNIC (2x25G) 95117829023SAjit Khaparde 95217829023SAjit Khaparde * Host interface: PCI Express 3.0 x8 95317829023SAjit Khaparde * Firmware version: 217.0.59.0, 218.1.63.0 95417829023SAjit Khaparde 95517829023SAjit Khaparde * Embedded software: 95617829023SAjit Khaparde 95717829023SAjit Khaparde * Broadcom Yocto Linux 95817829023SAjit Khaparde * Kernel version: 4.14.174 95917829023SAjit Khaparde * DPDK application running on 8 Arm Cortex-A72 cores 960