Hi all, Here is a new stable release: https://fast.dpdk.org/rel/dpdk-20.11.5.tar.xz
The git tree is at: https://dpdk.org/browse/dpdk-stable/?h=20.11 Luca Boccassi --- MAINTAINERS | 2 + VERSION | 2 +- app/pdump/main.c | 16 +- app/proc-info/main.c | 6 +- app/test-acl/main.c | 6 +- app/test-compress-perf/comp_perf_test_cyclecount.c | 9 +- app/test-compress-perf/comp_perf_test_throughput.c | 2 +- app/test-compress-perf/comp_perf_test_verify.c | 2 +- app/test-compress-perf/main.c | 5 +- app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 2 +- app/test-eventdev/evt_options.c | 2 +- app/test-eventdev/test_order_common.c | 2 +- app/test-fib/main.c | 12 +- app/test-flow-perf/config.h | 2 +- app/test-pmd/cmdline.c | 18 +- app/test-pmd/cmdline_flow.c | 8 +- app/test-pmd/cmdline_tm.c | 4 +- app/test-pmd/config.c | 22 +- app/test-pmd/csumonly.c | 17 +- app/test-pmd/parameters.c | 2 +- app/test-pmd/testpmd.c | 28 +- app/test-pmd/testpmd.h | 1 + app/test-pmd/txonly.c | 24 +- app/test/meson.build | 2 +- app/test/test_barrier.c | 2 +- app/test/test_bpf.c | 4 +- app/test/test_compressdev.c | 2 +- app/test/test_cryptodev.c | 2 +- app/test/test_cryptodev_asym.c | 2 +- app/test/test_cryptodev_rsa_test_vectors.h | 2 +- app/test/test_efd.c | 2 +- app/test/test_fib_perf.c | 2 +- app/test/test_kni.c | 4 +- app/test/test_kvargs.c | 16 +- app/test/test_lpm6_data.h | 2 +- app/test/test_mbuf.c | 4 - app/test/test_member.c | 2 +- app/test/test_memory.c | 2 +- app/test/test_mempool.c | 4 +- app/test/test_memzone.c | 6 +- app/test/test_metrics.c | 2 +- app/test/test_power_cpufreq.c | 2 +- app/test/test_rcu_qsbr.c | 4 +- app/test/test_red.c | 8 +- app/test/test_security.c | 2 +- app/test/test_table_pipeline.c | 2 +- buildtools/call-sphinx-build.py | 4 +- buildtools/pmdinfogen/pmdinfogen.c | 3 +- config/arm/meson.build | 4 +- config/meson.build | 7 +- config/ppc/meson.build | 4 +- config/x86/meson.build | 2 +- devtools/check-forbidden-tokens.awk | 3 + devtools/check-symbol-change.sh | 6 +- doc/api/generate_examples.sh | 14 +- doc/api/meson.build | 10 +- doc/guides/conf.py | 6 +- doc/guides/eventdevs/dlb2.rst | 19 +- .../img/virtio_user_for_container_networking.svg | 2 +- doc/guides/linux_gsg/enable_func.rst | 8 +- doc/guides/linux_gsg/linux_drivers.rst | 11 +- doc/guides/linux_gsg/sys_reqs.rst | 6 +- doc/guides/nics/af_packet.rst | 2 +- doc/guides/nics/features/ice_dcf.ini | 5 + doc/guides/nics/ice.rst | 18 +- doc/guides/nics/kni.rst | 2 +- doc/guides/nics/mlx4.rst | 6 +- doc/guides/nics/mlx5.rst | 23 +- doc/guides/prog_guide/cryptodev_lib.rst | 2 +- doc/guides/prog_guide/env_abstraction_layer.rst | 4 +- ...{flow_tru_droppper.png => flow_tru_dropper.png} | Bin doc/guides/prog_guide/img/turbo_tb_decode.svg | 2 +- doc/guides/prog_guide/img/turbo_tb_encode.svg | 2 +- doc/guides/prog_guide/qos_framework.rst | 6 +- doc/guides/prog_guide/rte_flow.rst | 8 +- doc/guides/regexdevs/features_overview.rst | 2 +- doc/guides/regexdevs/mlx5.rst | 8 +- doc/guides/rel_notes/release_16_07.rst | 2 +- doc/guides/rel_notes/release_17_08.rst | 2 +- doc/guides/rel_notes/release_20_11.rst | 375 +++++++++++ doc/guides/rel_notes/release_2_1.rst | 2 +- doc/guides/sample_app_ug/fips_validation.rst | 3 +- doc/guides/sample_app_ug/vm_power_management.rst | 2 +- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +- drivers/baseband/acc100/rte_acc100_pmd.c | 3 +- drivers/baseband/acc100/rte_acc100_pmd.h | 1 + drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 8 +- drivers/baseband/null/bbdev_null.c | 2 +- drivers/baseband/turbo_sw/bbdev_turbo_software.c | 2 +- drivers/bus/dpaa/dpaa_bus.c | 2 +- drivers/bus/dpaa/include/fsl_fman.h | 4 - drivers/bus/dpaa/include/fsl_qman.h | 6 +- drivers/bus/dpaa/include/fsl_usd.h | 2 +- drivers/bus/dpaa/include/process.h | 2 +- drivers/bus/dpaa/rte_dpaa_bus.h | 4 + drivers/bus/fslmc/fslmc_bus.c | 2 +- drivers/bus/fslmc/portal/dpaa2_hw_dpio.c | 2 +- drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 2 +- drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h | 20 +- drivers/bus/ifpga/ifpga_bus.c | 6 +- drivers/bus/pci/linux/pci_vfio.c | 2 +- drivers/bus/vdev/rte_bus_vdev.h | 2 +- drivers/bus/vmbus/vmbus_common.c | 2 +- drivers/common/cpt/cpt_ucode.h | 4 +- drivers/common/cpt/cpt_ucode_asym.h | 2 +- drivers/common/dpaax/caamflib/desc/algo.h | 2 +- drivers/common/dpaax/caamflib/desc/sdap.h | 6 +- drivers/common/dpaax/dpaax_iova_table.c | 2 +- drivers/common/iavf/iavf_type.h | 2 +- drivers/common/mlx5/linux/meson.build | 2 +- drivers/common/mlx5/linux/mlx5_common_verbs.c | 1 - drivers/common/mlx5/linux/mlx5_nl.c | 105 ++- drivers/common/mlx5/linux/mlx5_nl.h | 8 +- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/common/mlx5/mlx5_common_pci.c | 7 +- drivers/common/mlx5/mlx5_devx_cmds.c | 32 +- drivers/common/mlx5/mlx5_devx_cmds.h | 1 + drivers/common/mlx5/mlx5_malloc.c | 4 +- drivers/common/mlx5/mlx5_malloc.h | 2 +- drivers/common/mlx5/mlx5_prm.h | 40 +- drivers/common/mlx5/version.map | 3 + drivers/common/octeontx2/otx2_mbox.h | 11 +- .../qat/qat_adf/adf_transport_access_macros.h | 2 +- drivers/common/sfc_efx/efsys.h | 2 +- drivers/compress/octeontx/include/zip_regs.h | 4 +- drivers/compress/octeontx/otx_zip.h | 2 +- drivers/compress/octeontx/otx_zip_pmd.c | 6 +- drivers/compress/qat/qat_comp_pmd.c | 2 +- drivers/crypto/bcmfs/bcmfs_device.h | 2 +- drivers/crypto/bcmfs/bcmfs_qp.c | 2 +- drivers/crypto/bcmfs/bcmfs_sym_defs.h | 6 +- drivers/crypto/bcmfs/bcmfs_sym_engine.h | 2 +- drivers/crypto/bcmfs/hw/bcmfs5_rm.c | 2 +- drivers/crypto/caam_jr/caam_jr_hw_specific.h | 4 +- drivers/crypto/caam_jr/caam_jr_pvt.h | 4 +- drivers/crypto/caam_jr/caam_jr_uio.c | 2 +- drivers/crypto/ccp/ccp_crypto.c | 2 +- drivers/crypto/ccp/ccp_crypto.h | 2 +- drivers/crypto/ccp/ccp_dev.h | 2 +- drivers/crypto/dpaa_sec/dpaa_sec.c | 8 +- drivers/crypto/octeontx/otx_cryptodev_hw_access.c | 2 +- drivers/crypto/octeontx/otx_cryptodev_mbox.h | 2 +- drivers/crypto/octeontx/otx_cryptodev_ops.c | 2 +- drivers/crypto/qat/qat_asym.c | 6 +- drivers/crypto/qat/qat_sym.c | 2 +- drivers/crypto/virtio/virtio_rxtx.c | 3 + drivers/crypto/virtio/virtqueue.h | 2 +- drivers/crypto/zuc/rte_zuc_pmd.c | 17 +- drivers/crypto/zuc/zuc_pmd_private.h | 3 +- drivers/event/dlb2/dlb2.c | 2 +- drivers/event/dlb2/dlb2_priv.h | 2 +- drivers/event/dlb2/dlb2_selftest.c | 2 +- drivers/event/dlb2/rte_pmd_dlb2.h | 2 +- drivers/event/dpaa2/dpaa2_eventdev_selftest.c | 2 +- drivers/event/dsw/dsw_evdev.h | 4 +- drivers/event/dsw/dsw_event.c | 4 +- drivers/event/octeontx/ssovf_evdev.h | 2 +- drivers/event/octeontx/ssovf_evdev_selftest.c | 2 +- drivers/event/octeontx2/otx2_evdev_selftest.c | 2 +- drivers/event/octeontx2/otx2_worker_dual.h | 2 +- drivers/event/opdl/opdl_evdev.c | 2 +- drivers/event/opdl/opdl_test.c | 2 +- drivers/event/sw/sw_evdev.h | 2 +- drivers/event/sw/sw_evdev_selftest.c | 2 +- drivers/mempool/dpaa/dpaa_mempool.c | 2 +- drivers/mempool/octeontx/octeontx_fpavf.c | 4 +- drivers/net/af_xdp/rte_eth_af_xdp.c | 142 ++-- drivers/net/atlantic/atl_ethdev.c | 2 +- drivers/net/atlantic/atl_rxtx.c | 2 +- drivers/net/atlantic/hw_atl/hw_atl_b0.c | 2 +- drivers/net/axgbe/axgbe_dev.c | 2 +- drivers/net/axgbe/axgbe_ethdev.c | 41 +- drivers/net/axgbe/axgbe_ethdev.h | 2 +- drivers/net/axgbe/axgbe_phy_impl.c | 4 +- drivers/net/axgbe/axgbe_rxtx_vec_sse.c | 2 +- drivers/net/bnx2x/bnx2x.c | 38 +- drivers/net/bnx2x/bnx2x.h | 10 +- drivers/net/bnx2x/bnx2x_stats.c | 2 +- drivers/net/bnx2x/bnx2x_stats.h | 4 +- drivers/net/bnx2x/bnx2x_vfpf.c | 2 +- drivers/net/bnx2x/bnx2x_vfpf.h | 2 +- drivers/net/bnx2x/ecore_fw_defs.h | 2 +- drivers/net/bnx2x/ecore_hsi.h | 26 +- drivers/net/bnx2x/ecore_init_ops.h | 6 +- drivers/net/bnx2x/ecore_reg.h | 28 +- drivers/net/bnx2x/ecore_sp.c | 6 +- drivers/net/bnx2x/ecore_sp.h | 6 +- drivers/net/bnx2x/elink.c | 20 +- drivers/net/bnxt/bnxt.h | 15 +- drivers/net/bnxt/bnxt_cpr.c | 22 + drivers/net/bnxt/bnxt_ethdev.c | 106 ++- drivers/net/bnxt/bnxt_hwrm.c | 91 ++- drivers/net/bnxt/bnxt_hwrm.h | 3 + drivers/net/bnxt/bnxt_reps.c | 33 +- drivers/net/bnxt/bnxt_ring.c | 1 + drivers/net/bnxt/bnxt_rxq.c | 5 +- drivers/net/bnxt/bnxt_rxr.c | 3 + drivers/net/bnxt/bnxt_stats.c | 105 ++- drivers/net/bnxt/bnxt_vnic.c | 84 ++- drivers/net/bnxt/bnxt_vnic.h | 7 +- drivers/net/bnxt/tf_core/tf_session.c | 9 +- drivers/net/bnxt/tf_core/tfp.c | 2 +- drivers/net/bnxt/tf_core/tfp.h | 2 +- drivers/net/bonding/eth_bond_8023ad_private.h | 2 +- drivers/net/bonding/eth_bond_private.h | 4 +- drivers/net/bonding/rte_eth_bond_8023ad.c | 20 +- drivers/net/bonding/rte_eth_bond_8023ad.h | 4 +- drivers/net/bonding/rte_eth_bond_alb.h | 2 +- drivers/net/bonding/rte_eth_bond_api.c | 6 +- drivers/net/bonding/rte_eth_bond_pmd.c | 102 ++- drivers/net/cxgbe/base/adapter.h | 2 - drivers/net/cxgbe/base/common.h | 4 - drivers/net/cxgbe/base/t4_hw.c | 83 +-- drivers/net/cxgbe/base/t4vf_hw.c | 28 +- drivers/net/cxgbe/cxgbe_ethdev.c | 3 +- drivers/net/cxgbe/cxgbe_flow.c | 2 +- drivers/net/cxgbe/cxgbevf_main.c | 2 +- drivers/net/cxgbe/sge.c | 8 +- drivers/net/dpaa/dpaa_ethdev.c | 6 +- drivers/net/dpaa/dpaa_rxtx.c | 4 +- drivers/net/dpaa/fmlib/fm_ext.h | 2 +- drivers/net/dpaa/fmlib/fm_pcd_ext.h | 8 +- drivers/net/dpaa/fmlib/fm_port_ext.h | 14 +- drivers/net/dpaa2/dpaa2_ethdev.c | 21 +- drivers/net/dpaa2/dpaa2_ethdev.h | 4 +- drivers/net/dpaa2/dpaa2_flow.c | 8 +- drivers/net/dpaa2/dpaa2_mux.c | 2 +- drivers/net/dpaa2/dpaa2_ptp.c | 8 +- drivers/net/dpaa2/dpaa2_rxtx.c | 48 +- drivers/net/dpaa2/dpaa2_sparser.h | 4 - drivers/net/dpaa2/mc/fsl_dpni.h | 8 +- drivers/net/e1000/e1000_ethdev.h | 4 +- drivers/net/e1000/em_ethdev.c | 10 +- drivers/net/e1000/em_rxtx.c | 6 +- drivers/net/e1000/igb_ethdev.c | 18 +- drivers/net/e1000/igb_flow.c | 4 +- drivers/net/e1000/igb_pf.c | 2 +- drivers/net/e1000/igb_rxtx.c | 14 +- drivers/net/ena/ena_ethdev.c | 71 +- drivers/net/ena/ena_ethdev.h | 7 +- drivers/net/enic/enic_flow.c | 18 +- drivers/net/enic/enic_fm_flow.c | 8 +- drivers/net/enic/enic_main.c | 2 +- drivers/net/enic/enic_rxtx.c | 2 +- drivers/net/fm10k/fm10k.h | 2 +- drivers/net/fm10k/fm10k_ethdev.c | 12 +- drivers/net/fm10k/fm10k_rxtx_vec.c | 10 +- drivers/net/hinic/hinic_pmd_ethdev.c | 4 +- drivers/net/hinic/hinic_pmd_ethdev.h | 2 +- drivers/net/hinic/hinic_pmd_flow.c | 4 +- drivers/net/hinic/hinic_pmd_tx.c | 2 +- drivers/net/hns3/hns3_cmd.h | 1 - drivers/net/hns3/hns3_dcb.c | 10 +- drivers/net/hns3/hns3_ethdev.c | 37 +- drivers/net/hns3/hns3_ethdev.h | 9 +- drivers/net/hns3/hns3_ethdev_vf.c | 13 +- drivers/net/hns3/hns3_fdir.h | 2 +- drivers/net/hns3/hns3_flow.c | 27 +- drivers/net/hns3/hns3_mbx.c | 4 +- drivers/net/hns3/hns3_mbx.h | 2 +- drivers/net/hns3/hns3_rss.c | 62 +- drivers/net/hns3/hns3_rss.h | 2 +- drivers/net/hns3/hns3_rxtx.c | 12 +- drivers/net/hns3/hns3_rxtx.h | 2 +- drivers/net/hns3/hns3_stats.c | 122 ++-- drivers/net/hns3/hns3_stats.h | 11 +- drivers/net/i40e/i40e_ethdev.c | 53 +- drivers/net/i40e/i40e_ethdev.h | 10 +- drivers/net/i40e/i40e_fdir.c | 10 +- drivers/net/i40e/i40e_flow.c | 2 +- drivers/net/i40e/i40e_pf.c | 9 +- drivers/net/i40e/i40e_rxtx.c | 20 +- drivers/net/i40e/i40e_rxtx_vec_altivec.c | 2 +- drivers/net/i40e/i40e_rxtx_vec_neon.c | 4 +- drivers/net/i40e/i40e_rxtx_vec_sse.c | 6 +- drivers/net/i40e/rte_pmd_i40e.c | 2 +- drivers/net/iavf/iavf_ethdev.c | 6 +- drivers/net/iavf/iavf_rxtx.c | 92 ++- drivers/net/iavf/iavf_rxtx.h | 2 - drivers/net/iavf/iavf_rxtx_vec_sse.c | 4 +- drivers/net/iavf/iavf_vchnl.c | 4 +- drivers/net/ice/base/ice_flex_pipe.c | 11 +- drivers/net/ice/base/ice_flex_type.h | 1 + drivers/net/ice/base/ice_protocol_type.h | 1 + drivers/net/ice/base/ice_switch.c | 1 + drivers/net/ice/ice_dcf.c | 2 +- drivers/net/ice/ice_dcf_ethdev.c | 15 +- drivers/net/ice/ice_dcf_ethdev.h | 1 + drivers/net/ice/ice_dcf_parent.c | 12 +- drivers/net/ice/ice_ethdev.c | 14 +- drivers/net/ice/ice_ethdev.h | 2 + drivers/net/ice/ice_generic_flow.c | 4 +- drivers/net/ice/ice_rxtx.c | 20 +- drivers/net/ice/ice_rxtx_vec_sse.c | 4 +- drivers/net/ice/ice_switch_filter.c | 45 +- drivers/net/igc/igc_filter.c | 2 +- drivers/net/igc/igc_txrx.c | 4 +- drivers/net/ionic/ionic_if.h | 2 +- drivers/net/ipn3ke/ipn3ke_ethdev.c | 2 +- drivers/net/ipn3ke/ipn3ke_ethdev.h | 4 +- drivers/net/ipn3ke/ipn3ke_flow.c | 2 +- drivers/net/ipn3ke/ipn3ke_representor.c | 12 +- drivers/net/ipn3ke/meson.build | 2 +- drivers/net/ixgbe/ixgbe_bypass.c | 2 +- drivers/net/ixgbe/ixgbe_bypass_api.h | 4 +- drivers/net/ixgbe/ixgbe_ethdev.c | 65 +- drivers/net/ixgbe/ixgbe_ethdev.h | 2 +- drivers/net/ixgbe/ixgbe_fdir.c | 2 +- drivers/net/ixgbe/ixgbe_flow.c | 4 +- drivers/net/ixgbe/ixgbe_ipsec.c | 2 +- drivers/net/ixgbe/ixgbe_pf.c | 2 +- drivers/net/ixgbe/ixgbe_rxtx.c | 10 +- drivers/net/ixgbe/ixgbe_rxtx_vec_sse.c | 13 +- drivers/net/kni/rte_eth_kni.c | 2 +- drivers/net/memif/memif_socket.c | 5 +- drivers/net/memif/rte_eth_memif.c | 21 +- drivers/net/mlx4/meson.build | 2 +- drivers/net/mlx4/mlx4.h | 2 +- drivers/net/mlx4/mlx4_ethdev.c | 2 +- drivers/net/mlx5/linux/mlx5_ethdev_os.c | 64 +- drivers/net/mlx5/linux/mlx5_os.c | 179 ++--- drivers/net/mlx5/linux/mlx5_verbs.c | 4 +- drivers/net/mlx5/linux/mlx5_vlan_os.c | 2 +- drivers/net/mlx5/mlx5.c | 15 +- drivers/net/mlx5/mlx5.h | 33 +- drivers/net/mlx5/mlx5_defs.h | 6 +- drivers/net/mlx5/mlx5_devx.c | 4 +- drivers/net/mlx5/mlx5_flow.c | 315 +++++---- drivers/net/mlx5/mlx5_flow.h | 20 +- drivers/net/mlx5/mlx5_flow_age.c | 112 ++-- drivers/net/mlx5/mlx5_flow_dv.c | 74 ++- drivers/net/mlx5/mlx5_flow_meter.c | 12 +- drivers/net/mlx5/mlx5_flow_verbs.c | 89 ++- drivers/net/mlx5/mlx5_rxq.c | 259 +++++--- drivers/net/mlx5/mlx5_rxtx.c | 23 +- drivers/net/mlx5/mlx5_rxtx.h | 13 +- drivers/net/mlx5/mlx5_rxtx_vec.c | 8 +- drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 2 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 2 +- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 2 +- drivers/net/mlx5/mlx5_trigger.c | 12 +- drivers/net/mlx5/mlx5_utils.h | 2 +- drivers/net/mvneta/mvneta_ethdev.c | 2 +- drivers/net/mvpp2/mrvl_ethdev.c | 2 +- drivers/net/mvpp2/mrvl_qos.c | 2 +- drivers/net/netvsc/hn_nvs.c | 2 +- drivers/net/netvsc/hn_rxtx.c | 4 +- drivers/net/nfb/nfb.h | 4 - drivers/net/nfb/nfb_ethdev.c | 15 +- drivers/net/nfb/nfb_rxmode.c | 20 +- drivers/net/nfp/nfp_net.c | 20 +- drivers/net/nfp/nfp_net_pmd.h | 6 + drivers/net/nfp/nfpcore/nfp-common/nfp_resid.h | 6 +- drivers/net/nfp/nfpcore/nfp_cppcore.c | 2 +- drivers/net/nfp/nfpcore/nfp_nsp.h | 2 +- drivers/net/nfp/nfpcore/nfp_resource.c | 2 +- drivers/net/nfp/nfpcore/nfp_rtsym.c | 2 +- drivers/net/nfp/nfpcore/nfp_target.h | 26 +- drivers/net/octeontx/octeontx_ethdev.c | 2 +- drivers/net/octeontx2/otx2_ethdev_irq.c | 2 +- drivers/net/octeontx2/otx2_flow.c | 145 +--- drivers/net/octeontx2/otx2_flow.h | 33 +- drivers/net/octeontx2/otx2_flow_utils.c | 729 +++++++++++---------- drivers/net/octeontx2/otx2_ptp.c | 2 +- drivers/net/octeontx2/otx2_tx.h | 4 +- drivers/net/octeontx2/otx2_vlan.c | 2 +- drivers/net/pfe/pfe_ethdev.c | 2 +- drivers/net/pfe/pfe_hal.c | 2 +- drivers/net/pfe/pfe_hif.c | 4 +- drivers/net/pfe/pfe_hif.h | 2 +- drivers/net/pfe/pfe_hif_lib.c | 8 +- drivers/net/qede/qede_debug.c | 6 +- drivers/net/qede/qede_ethdev.c | 2 +- drivers/net/qede/qede_rxtx.c | 61 +- drivers/net/qede/qede_rxtx.h | 2 +- drivers/net/sfc/sfc_dp.c | 2 +- drivers/net/sfc/sfc_dp_rx.h | 4 +- drivers/net/sfc/sfc_ef100.h | 2 +- drivers/net/sfc/sfc_ef100_rx.c | 2 +- drivers/net/sfc/sfc_ef10_essb_rx.c | 2 +- drivers/net/sfc/sfc_ef10_rx_ev.h | 2 +- drivers/net/sfc/sfc_ethdev.c | 6 - drivers/net/sfc/sfc_flow.c | 8 +- drivers/net/sfc/sfc_intr.c | 2 +- drivers/net/sfc/sfc_rx.c | 2 +- drivers/net/sfc/sfc_tx.c | 8 + drivers/net/softnic/rte_eth_softnic_flow.c | 2 +- drivers/net/tap/rte_eth_tap.c | 82 ++- drivers/net/tap/tap_bpf_api.c | 4 +- drivers/net/tap/tap_flow.c | 4 +- drivers/net/thunderx/nicvf_svf.c | 2 +- drivers/net/txgbe/base/meson.build | 2 +- drivers/net/txgbe/base/txgbe_eeprom.c | 41 +- drivers/net/txgbe/base/txgbe_hw.c | 185 +----- drivers/net/txgbe/base/txgbe_mbx.c | 22 - drivers/net/txgbe/base/txgbe_mng.c | 15 +- drivers/net/txgbe/base/txgbe_osdep.h | 1 + drivers/net/txgbe/base/txgbe_phy.c | 66 +- drivers/net/txgbe/txgbe_ethdev.c | 8 +- drivers/net/txgbe/txgbe_logs.h | 7 +- drivers/net/txgbe/txgbe_pf.c | 2 +- drivers/net/virtio/virtio_ethdev.c | 4 +- drivers/net/virtio/virtio_pci.c | 2 +- drivers/net/virtio/virtio_rxtx.c | 6 +- drivers/net/virtio/virtio_user/vhost_user.c | 6 +- drivers/net/virtio/virtio_user_ethdev.c | 1 + drivers/net/virtio/virtqueue.c | 2 +- drivers/net/virtio/virtqueue.h | 4 +- drivers/raw/dpaa2_qdma/dpaa2_qdma.c | 2 +- drivers/raw/dpaa2_qdma/dpaa2_qdma.h | 4 +- drivers/raw/ifpga/base/ifpga_defines.h | 6 +- drivers/raw/ifpga/base/opae_spi.c | 12 + drivers/raw/ifpga/base/opae_spi.h | 4 + drivers/raw/ifpga/base/opae_spi_transaction.c | 215 +++--- drivers/raw/ifpga/ifpga_rawdev.c | 169 +++-- drivers/raw/ifpga/ifpga_rawdev.h | 9 +- drivers/raw/ioat/dpdk_idxd_cfg.py | 17 +- drivers/raw/ntb/ntb.c | 4 + drivers/raw/ntb/ntb.h | 2 +- drivers/regex/mlx5/mlx5_rxp.c | 2 +- drivers/vdpa/ifc/base/ifcvf.c | 14 +- drivers/vdpa/mlx5/mlx5_vdpa.c | 6 +- drivers/vdpa/mlx5/mlx5_vdpa_mem.c | 2 +- drivers/vdpa/mlx5/mlx5_vdpa_virtq.c | 2 +- examples/bbdev_app/main.c | 2 +- examples/bond/main.c | 4 +- examples/distributor/main.c | 2 +- examples/ethtool/lib/rte_ethtool.c | 2 +- examples/ethtool/lib/rte_ethtool.h | 4 +- examples/flow_classify/flow_classify.c | 2 +- examples/ioat/ioatfwd.c | 2 +- examples/ip_reassembly/main.c | 4 +- examples/ipsec-secgw/event_helper.c | 19 +- examples/ipsec-secgw/ipsec-secgw.c | 21 +- examples/ipsec-secgw/sa.c | 6 +- examples/ipsec-secgw/sp4.c | 2 +- examples/ipsec-secgw/sp6.c | 2 +- examples/ipsec-secgw/test/common_defs.sh | 4 +- examples/kni/main.c | 4 +- examples/l2fwd-crypto/main.c | 2 +- examples/l2fwd-event/l2fwd_event_generic.c | 2 +- examples/l2fwd-event/l2fwd_event_internal_port.c | 2 +- examples/l2fwd-jobstats/main.c | 2 +- examples/l3fwd-acl/main.c | 6 +- examples/l3fwd-power/main.c | 4 +- examples/l3fwd/l3fwd.h | 4 + examples/l3fwd/l3fwd_common.h | 8 +- examples/l3fwd/l3fwd_event.c | 2 - examples/l3fwd/l3fwd_event_internal_port.c | 2 + examples/l3fwd/l3fwd_neon.h | 2 +- examples/l3fwd/l3fwd_sse.h | 2 +- examples/l3fwd/main.c | 59 +- examples/multi_process/hotplug_mp/commands.c | 2 +- examples/multi_process/simple_mp/main.c | 2 +- examples/multi_process/symmetric_mp/main.c | 2 +- examples/ntb/ntb_fwd.c | 2 +- examples/packet_ordering/main.c | 2 +- examples/performance-thread/common/lthread.c | 6 +- examples/performance-thread/common/lthread_diag.c | 2 +- examples/performance-thread/common/lthread_int.h | 2 +- examples/performance-thread/common/lthread_tls.c | 2 +- examples/performance-thread/l3fwd-thread/main.c | 12 +- .../performance-thread/pthread_shim/pthread_shim.h | 2 +- examples/qos_sched/args.c | 5 +- examples/qos_sched/cmdline.c | 2 +- examples/vhost/main.c | 93 +-- examples/vm_power_manager/channel_monitor.c | 2 +- examples/vm_power_manager/power_manager.h | 2 +- examples/vmdq/main.c | 2 +- kernel/freebsd/meson.build | 2 +- kernel/linux/kni/kni_fifo.h | 2 +- kernel/linux/kni/kni_misc.c | 33 +- kernel/linux/kni/meson.build | 10 +- kernel/linux/meson.build | 4 +- lib/librte_acl/acl_bld.c | 2 +- lib/librte_acl/acl_run_altivec.h | 2 +- lib/librte_acl/acl_run_avx512.c | 2 +- lib/librte_acl/acl_run_avx512x16.h | 14 +- lib/librte_acl/acl_run_avx512x8.h | 12 +- lib/librte_acl/rte_acl_osdep.h | 8 + lib/librte_bpf/bpf_impl.h | 6 +- lib/librte_compressdev/rte_compressdev_internal.h | 13 +- lib/librte_cryptodev/rte_crypto.h | 9 + lib/librte_cryptodev/rte_crypto_asym.h | 4 +- lib/librte_distributor/rte_distributor_single.c | 3 +- lib/librte_eal/arm/include/rte_cycles_32.h | 2 +- lib/librte_eal/common/eal_common_dynmem.c | 4 + lib/librte_eal/common/eal_common_proc.c | 20 +- lib/librte_eal/freebsd/eal_interrupts.c | 4 +- lib/librte_eal/freebsd/include/rte_os.h | 8 + lib/librte_eal/include/generic/rte_ticketlock.h | 14 +- lib/librte_eal/include/rte_bitops.h | 8 + lib/librte_eal/include/rte_branch_prediction.h | 8 + lib/librte_eal/include/rte_compat.h | 8 + lib/librte_eal/include/rte_hypervisor.h | 8 + lib/librte_eal/include/rte_keepalive.h | 8 + lib/librte_eal/include/rte_malloc.h | 4 +- lib/librte_eal/include/rte_pci_dev_feature_defs.h | 8 + lib/librte_eal/include/rte_pci_dev_features.h | 8 + lib/librte_eal/include/rte_time.h | 8 + lib/librte_eal/include/rte_trace_point.h | 2 +- lib/librte_eal/include/rte_trace_point_register.h | 8 + lib/librte_eal/linux/eal.c | 4 + lib/librte_eal/linux/eal_dev.c | 4 +- lib/librte_eal/linux/eal_interrupts.c | 4 +- lib/librte_eal/linux/eal_memalloc.c | 8 +- lib/librte_eal/linux/eal_vfio.h | 3 +- lib/librte_eal/linux/eal_vfio_mp_sync.c | 8 + lib/librte_eal/linux/include/rte_os.h | 8 + lib/librte_eal/windows/eal_memalloc.c | 6 +- lib/librte_eal/windows/eal_windows.h | 2 +- lib/librte_eal/windows/include/dirent.h | 7 +- lib/librte_eal/windows/include/fnmatch.h | 4 +- lib/librte_eal/x86/include/rte_atomic.h | 2 +- lib/librte_efd/rte_efd.c | 2 +- lib/librte_ethdev/rte_dev_info.h | 8 + lib/librte_ethdev/rte_ethdev.c | 11 + lib/librte_ethdev/rte_ethdev.h | 4 +- lib/librte_ethdev/rte_ethdev_driver.h | 22 + lib/librte_ethdev/rte_ethdev_pci.h | 13 +- lib/librte_ethdev/rte_ethdev_vdev.h | 8 + lib/librte_ethdev/version.map | 1 + lib/librte_eventdev/rte_event_eth_tx_adapter.c | 14 +- lib/librte_eventdev/rte_event_ring.h | 9 + lib/librte_eventdev/rte_event_timer_adapter.h | 4 + lib/librte_eventdev/rte_eventdev.h | 2 +- lib/librte_eventdev/rte_eventdev_pmd.h | 8 + lib/librte_eventdev/rte_eventdev_pmd_pci.h | 4 + lib/librte_eventdev/rte_eventdev_pmd_vdev.h | 4 + lib/librte_fib/rte_fib.c | 6 +- lib/librte_fib/rte_fib.h | 4 +- lib/librte_fib/rte_fib6.c | 6 +- lib/librte_fib/rte_fib6.h | 4 +- lib/librte_graph/rte_graph_worker.h | 2 +- lib/librte_ipsec/rte_ipsec_group.h | 4 +- lib/librte_ipsec/rte_ipsec_sad.h | 2 +- lib/librte_kni/rte_kni_common.h | 8 + lib/librte_mbuf/rte_mbuf_core.h | 2 +- lib/librte_metrics/rte_metrics_telemetry.h | 7 + lib/librte_regexdev/rte_regexdev.h | 6 +- lib/librte_ring/rte_ring.c | 4 +- lib/librte_ring/rte_ring_core.h | 2 +- lib/librte_ring/rte_ring_elem.h | 12 +- lib/librte_sched/rte_red.h | 4 +- lib/librte_sched/rte_sched.c | 2 +- lib/librte_sched/rte_sched.h | 2 +- lib/librte_stack/meson.build | 4 +- lib/librte_table/rte_swx_table.h | 2 +- lib/librte_table/rte_table_hash_func.h | 32 +- lib/librte_telemetry/rte_telemetry.h | 9 + lib/librte_telemetry/telemetry_json.h | 2 +- lib/librte_vhost/rte_vdpa.h | 9 + lib/librte_vhost/rte_vdpa_dev.h | 8 + lib/librte_vhost/rte_vhost.h | 2 + lib/librte_vhost/rte_vhost_crypto.h | 8 + lib/librte_vhost/vhost.h | 28 +- lib/librte_vhost/vhost_user.c | 39 +- lib/librte_vhost/virtio_net.c | 8 +- lib/meson.build | 2 +- meson.build | 10 +- 560 files changed, 4782 insertions(+), 3163 deletions(-) Adham Masarwah (1): app/testpmd: fix show RSS RETA on Windows Ajit Khaparde (4): net/bnxt: fix PAM4 mask setting net/bnxt: check VF representor pointer before access net/bnxt: fix VF resource allocation strategy net/bnxt: fix ring calculation for representors Alexander Kozyrev (2): net/mlx5: fix maximum packet headers size for TSO net/mlx5: fix committed bucket size Ali Alnubani (1): doc: fix typos and punctuation in flow API guide Anatoly Burakov (1): net/qede: fix redundant condition in debug code Andrzej Ostruszka (1): ring: optimize corner case for enqueue/dequeue Andy Pei (1): vdpa/ifc: fix log info mismatch Arek Kusztal (1): cryptodev: fix RSA key type name Bin Zheng (1): net/ixgbe: add vector Rx parameter check Bing Zhao (2): net/mlx5: fix matcher priority with ICMP or ICMPv6 net/mlx5: remove unused reference counter Brian Dooley (11): eal: add missing C++ guards telemetry: add missing C++ guards ethdev: add missing C++ guards metrics: add missing C++ guards acl: add missing C++ guards compressdev: add missing C++ guards eventdev: add missing C++ guards kni: add missing C++ guards vhost: add missing C++ guards examples/l2fwd-crypto: fix port mask overflow crypto/virtio: fix out-of-bounds access Bruce Richardson (19): doc: remove dependency on findutils on FreeBSD dma/idxd: fix paths to driver sysfs directory build: fix warnings when running external commands build: fix warning about using -Wextra flag build: remove deprecated Meson functions eal: fix C++ include eventdev: fix C++ include graph: fix C++ include ipsec: fix C++ include table: fix C++ include vhost: fix C++ include ethdev: fix cast for C++ compatibility dma/idxd: configure maximum batch size to high value distributor: fix potential overflow eal/freebsd: add missing C++ include guards compressdev: fix missing space in log macro cryptodev: fix clang C++ include doc: replace characters for (R) symbol in Linux guide doc: fix missing note on UIO module in Linux guide Chandubabu Namburu (1): net/axgbe: use PCI root complex device to distinguish device Chenbo Xia (1): vhost: fix queue number check when setting inflight FD Chengchang Tang (1): net/bonding: fix offloading configuration Chengwen Feng (1): net/hns3: delete duplicated RSS type Chuanshe Zhang (1): examples/flow_classify: fix failure message Ciara Loftus (2): net/af_xdp: fix build with -Wunused-function net/af_xdp: ensure socket is deleted on Rx queue setup error Dapeng Yu (2): net/ice: track DCF state of PF net/i40e: enable maximum frame size at port level Dariusz Sosnowski (2): net/mlx5: fix inline length for multi-segment TSO net/mlx5: fix MPLS/GRE Verbs spec ordering David Marchand (7): config/ppc: fix build with GCC >= 10 devtools: fix comment detection in forbidden token check stack: fix stubs header export test/mbuf: fix mbuf data content check net/af_xdp: add missing trailing newline in logs vhost: fix FD leak with inflight messages bpf: fix build with some libpcap version on FreeBSD Dawid Gorecki (2): net/ena: fix reset reason being overwritten net/ena: check memory BAR before initializing LLQ Devendra Singh Rawat (1): net/qede: fix Rx bulk mbuf allocation Dmitry Kozlyuk (6): net/mlx5: relax headroom assertion app/testpmd: fix external buffer allocation net/mlx5: fix modify port action validation common/mlx5: add Netlink event helpers net/mlx5: fix link status change detection net/mlx5: fix initial link status detection Ferruh Yigit (3): kni: update kernel API to set random MAC address ethdev: fix doxygen comments for device info struct net/cxgbe: remove useless address check Gregory Etelson (5): net/mlx5: fix RSS expansion with explicit next protocol net/mlx5: fix GRE protocol type translation for Verbs net/mlx5: fix GRE item translation in Verbs net/mlx5: fix inet IPIP protocol type net/mlx5: fix next protocol RSS expansion Haiyue Wang (1): doc: fix KNI PMD name typo Harold Huang (2): net/virtio-user: fix resource leak on probing failure net/kni: fix config initialization Heinrich Kuhn (1): net/nfp: free HW rings memzone on queue release Hemant Agrawal (1): crypto/dpaax_sec: fix auth/cipher xform chain checks Honnappa Nagarahalli (3): examples/distributor: reduce Tx queue number to 1 examples/l3fwd: share queue size variables examples/l3fwd: make Rx and Tx queue size configurable Huisong Li (8): net/hns3: fix using enum as boolean net/hns3: fix max packet size rollback in PF net/hns3: fix insecure way to query MAC statistics net/hns3: fix operating queue when TCAM table is invalid kni: fix freeing order in device release net/hns3: fix RSS TC mode entry net/hns3: fix VF RSS TC mode entry net/hns3: increase time waiting for PF reset completion Ivan Malov (3): net/sfc: validate queue span when parsing flow action RSS net/sfc: do not push fast free offload to default TxQ config net/sfc: demand Tx fast free offload on EF10 simple datapath Jakub Poczatek (1): doc: fix FIPS guide Jiawei Wang (3): net/mlx5: fix NIC egress flow mismatch in switchdev mode net/mlx5: fix sample flow action on trusted device net/mlx5: fix port matching in sample flow rule Jiawen Wu (1): net/txgbe: fix debug logs Jie Hai (1): net/hns3: remove duplicate macro definition Jie Zhou (2): eal/windows: fix error code for not supported API test/mem: fix error check Josh Soref (1): fix spelling in comments and strings Junfeng Guo (1): raw/ntb: clear all valid doorbell bits on init Kalesh AP (13): net/bnxt: fix multicast address set net/bnxt: fix multicast MAC restore during reset recovery net/bnxt: fix queue stop operation net/bnxt: restore RSS configuration after reset recovery net/bnxt: fix restoring VLAN filtering after recovery net/bnxt: cap maximum number of unicast MAC addresses net/bnxt: add null check for mark table net/bnxt: get maximum supported multicast filters count net/bnxt: fix handling of VF configuration change net/bnxt: fix xstats query net/bnxt: fix check for autoneg enablement net/bnxt: handle ring cleanup in case of error net/bnxt: fix memzone allocation per VNIC Kathleen Capella (2): net/iavf: count continuous DD bits for Arm net/iavf: count continuous DD bits for Arm in flex Rx Kevin Liu (2): net/ice: fix Tx checksum offload net/ice: fix Tx offload path choice Kevin Traynor (2): maintainers: update for stable branches examples/qos_sched: fix compile failure Kiran Kumar K (1): common/octeontx2: update mailbox version to 0xb Kumara Parameshwaran (2): ethdev: add internal function to device struct from name net/tap: fix to populate FDs in secondary process Lance Richardson (1): net/bnxt: fix xstats names query overrun Leyi Rong (1): net/iavf: fix potential out-of-bounds access Lijun Ou (1): net/hns3: fix RSS key with null Lior Margalit (1): net/mlx5: fix assertion on flags set in packet mbuf Luca Boccassi (6): cryptodev: add backward-compatible enum version: 20.11.5-rc1 Revert "regexdev: fix section attribute of symbols" pmdinfogen: fix compilation with Clang 3.4.2 on CentOS 7 dpaa2: fix build with RTE_LIBRTE_IEEE1588 version: 20.11.5 Markus Theil (1): kni: fix ioctl signature Martin Spinler (2): net/nfb: fix array indexes in deinit functions net/nfb: fix multicast/promiscuous mode switching Matan Azrad (1): vdpa/mlx5: workaround queue stop with traffic Maxime Coquelin (1): vhost: fix unsafe vring addresses modifications Maxime Gouin (3): bus/ifpga: remove useless check while browsing devices net/nfp: remove duplicated check when setting MAC address net/nfp: remove useless range checks Megha Ajmera (1): examples/qos_sched: fix core mask overflow Michael Baum (11): common/mlx5: add minimum WQE size for striding RQ net/mlx5: improve stride parameter names net/mlx5: fix MPRQ stride devargs adjustment net/mlx5: fix memory socket selection in ASO management common/mlx5: fix error handling in multi-class probe net/mlx5: fix ineffective metadata argument adjustment doc: remove obsolete vector Tx explanations from mlx5 guide doc: replace broken links in mlx guides doc: correct name of BlueField-2 in mlx5 guide net/mlx5: fix sibling device config check net/mlx5: workaround ASO memory region creation Michal Krawczyk (5): net/ena: remove unused enumeration net/ena: remove unused offload variables net/ena: skip timer if reset is triggered net/ena: fix meta descriptor DF flag setup net/ena: fix checksum flag for L4 Michal Wilczynski (1): net/ice: fix overwriting of LSE bit by DCF Min Hu (Connor) (4): net/bonding: fix promiscuous and allmulticast state net/bonding: fix reference count on mbufs app/testpmd: fix bonding mode set app/testpmd: check starting port is not in bonding Naga Harish K S V (1): eventdev/eth_tx: fix queue add error code Nicolas Chautru (1): baseband/acc100: avoid out-of-bounds access Nipun Gupta (1): examples/l3fwd: fix Rx burst size for event mode Nithin Dabilpuram (2): examples/ipsec-secgw: fix eventdev start sequence examples/ipsec-secgw: fix default flow rule creation Pablo de Lara (4): crypto/ipsec_mb: fix ZUC authentication verify crypto/ipsec_mb: fix ZUC operation overwrite test/efd: fix sockets mask size efd: fix uninitialized structure Qi Zhang (2): net/ice: fix Tx checksum offload capability doc: update matching versions in ice guide Rahul Bhansali (1): examples/l3fwd: fix buffer overflow in Tx Rahul Lakkireddy (1): net/cxgbe: fix dangling pointer by mailbox access rework Raja Zidane (7): net/mlx5: fix mark enabling for Rx app/testpmd: fix GENEVE parsing in checksum mode app/compress-perf: fix cycle count operations allocation app/compress-perf: optimize operations pool allocation app/compress-perf: fix socket ID type during init app/compress-perf: fix number of queue pairs to setup compressdev: fix socket ID type Rashmi Shetty (1): doc: fix dlb2 guide Reshma Pattan (1): app/pdump: abort on multi-core capture limit Rongwei Liu (1): net/mlx5: fix shared RSS destroy Ruifeng Wang (1): config: add arch define for Arm Satheesh Paul (2): net/octeontx2:: fix base rule merge net/octeontx2: fix flow MCAM priority management Sean Morrissey (1): app/testpmd: fix dereference before null check Stephen Douthit (1): net/ixgbe: fix FSP check for X550EM devices Stephen Hemminger (4): eal/linux: log hugepage create errors with filename net/memif: remove unnecessary Rx interrupt stub ipc: end multiprocess thread during cleanup vfio: cleanup the multiprocess sync handle Steve Yang (4): app/testpmd: fix stack overflow for EEPROM display net/i40e: fix unintentional integer overflow eal/linux: fix illegal memory access in uevent handler net/iavf: fix function pointer in multi-process Thomas Monjalon (3): doc: replace deprecated distutils version parsing app/testpmd: fix build without drivers regexdev: fix section attribute of symbols Tianfei Zhang (2): raw/ifpga/base: fix SPI transaction raw/ifpga: fix thread closing Tianli Lai (1): examples/kni: add missing trailing newline in log Vanshika Shukla (2): net/dpaa2: fix unregistering interrupt handler net/dpaa2: fix timestamping for IEEE1588 Viacheslav Ovsiienko (1): app/testpmd: fix Tx scheduling interval Vladimir Medvedkin (1): app/fib: fix division by zero Wei Huang (5): raw/ifpga/base: fix port feature ID raw/ifpga: fix variable initialization in probing raw/ifpga: fix monitor thread raw/ifpga: fix interrupt handle allocation raw/ifpga: fix build with optimization Weiguo Li (10): bus/dpaa: fix C++ include guard net/cxgbe: remove useless C++ include guard net/dpaa2: remove useless C++ include guard eal/windows: remove useless C++ include guard net/enic: fix dereference before null check regex/mlx5: fix memory allocation check net/memif: remove pointer deference before null check compress/octeontx: fix null pointer dereference net/txgbe: fix queue statistics mapping net/bnxt: fix null dereference in session cleanup Wenwu Ma (1): examples/vhost: fix launch with physical port Xiaoyu Min (1): net/mlx5: reject jump to root table Xuan Ding (1): vhost: fix field naming in guest page struct Xueming Li (1): net/virtio: fix Tx queue 0 overriden by queue 128 Yajun Wu (1): common/mlx5: fix queue pair ack timeout configuration Yiding Zhou (1): net/ice: fix build with 16-byte Rx descriptor Yu Wenjun (1): net/bonding: fix RSS with early configure Yuan Wang (1): vhost: fix guest to host physical address mapping Yunjian Wang (7): net/bonding: fix mode type mismatch net/ice: fix link up when starting device net/virtio-user: check FD flags getting failure ring: fix error code when creating ring net/ixgbe: check filter init failure mem: check allocation in dynamic hugepage init net/ixgbe: reset security context pointer on close Yuying Zhang (1): net/ice/base: add profile validation on switch filter Zhihong Wang (1): ring: fix overflow in memory size calculation