From: Beilei Xing <beilei.x...@intel.com> This patchset introduced the idpf (Infrastructure Data Path Function) PMD in DPDK for IntelĀ® IPU E2000 (Device ID: 0x1452). The IntelĀ® IPU E2000 targets to deliver high performance under real workloads with security and isolation. Please refer to https://www.intel.com/content/www/us/en/products/network-io/infrastructure-processing-units/asic/e2000-asic.html for more information.
Linux upstream is still ongoing, previous work refers to https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20220128001009.721392-20-alan.br...@intel.com/. v2-v4: fixed some coding style issues and did some refactors. v5: fixed typo. v6-v9: fixed build errors and coding style issues. v11: - move shared code to common/idpf/base - Create one vport if there's no vport devargs - Refactor if conditions according to coding style - Refactor virtual channel return values - Refine dev_stop function - Refine RSS lut/key - Fix build error v12: - Refine dev_configure - Fix coding style according to the comments - Re-order patch - Romove dev_supported_ptypes_get v13: - refine dev_start/stop and queue_start/stop - fix timestamp offload v14: - fix wrong position for rte_validate_tx_offload v15: - refine the return value for ethdev ops. - removce forward static declarations. - refine get caps. - fix lock/unlock handling. v16: - refine errno in shared code - remove the conditional compilation IDPF_RX_PTYPE_OFFLOAD v17: - fix build error on FreeBSD v18: - remove the conditional compilation IDPF_RX_PTYPE_OFFLOAD Junfeng Guo (18): common/idpf: introduce common library net/idpf: add support for device initialization net/idpf: add Tx queue setup net/idpf: add Rx queue setup net/idpf: add support for device start and stop net/idpf: add support for queue start net/idpf: add support for queue stop net/idpf: add queue release net/idpf: add support for MTU configuration net/idpf: add support for basic Rx datapath net/idpf: add support for basic Tx datapath net/idpf: support parsing packet type net/idpf: add support for write back based on ITR expire net/idpf: add support for RSS net/idpf: add support for Rx offloading net/idpf: add support for Tx offloading net/idpf: add AVX512 data path for single queue model net/idpf: add support for timestamp offload MAINTAINERS | 9 + doc/guides/nics/features/idpf.ini | 17 + doc/guides/nics/idpf.rst | 85 + doc/guides/nics/index.rst | 1 + doc/guides/rel_notes/release_22_11.rst | 6 + drivers/common/idpf/base/idpf_alloc.h | 22 + drivers/common/idpf/base/idpf_common.c | 364 +++ drivers/common/idpf/base/idpf_controlq.c | 691 ++++ drivers/common/idpf/base/idpf_controlq.h | 224 ++ drivers/common/idpf/base/idpf_controlq_api.h | 207 ++ .../common/idpf/base/idpf_controlq_setup.c | 179 + drivers/common/idpf/base/idpf_devids.h | 18 + drivers/common/idpf/base/idpf_lan_pf_regs.h | 134 + drivers/common/idpf/base/idpf_lan_txrx.h | 428 +++ drivers/common/idpf/base/idpf_lan_vf_regs.h | 114 + drivers/common/idpf/base/idpf_osdep.h | 364 +++ drivers/common/idpf/base/idpf_prototype.h | 45 + drivers/common/idpf/base/idpf_type.h | 106 + drivers/common/idpf/base/meson.build | 14 + drivers/common/idpf/base/siov_regs.h | 47 + drivers/common/idpf/base/virtchnl.h | 2866 +++++++++++++++++ drivers/common/idpf/base/virtchnl2.h | 1462 +++++++++ drivers/common/idpf/base/virtchnl2_lan_desc.h | 606 ++++ .../common/idpf/base/virtchnl_inline_ipsec.h | 567 ++++ drivers/common/idpf/meson.build | 4 + drivers/common/idpf/version.map | 12 + drivers/common/meson.build | 1 + drivers/net/idpf/idpf_ethdev.c | 1293 ++++++++ drivers/net/idpf/idpf_ethdev.h | 252 ++ drivers/net/idpf/idpf_logs.h | 56 + drivers/net/idpf/idpf_rxtx.c | 2308 +++++++++++++ drivers/net/idpf/idpf_rxtx.h | 291 ++ drivers/net/idpf/idpf_rxtx_vec_avx512.c | 857 +++++ drivers/net/idpf/idpf_rxtx_vec_common.h | 100 + drivers/net/idpf/idpf_vchnl.c | 1416 ++++++++ drivers/net/idpf/meson.build | 44 + drivers/net/idpf/version.map | 3 + drivers/net/meson.build | 1 + 38 files changed, 15214 insertions(+) create mode 100644 doc/guides/nics/features/idpf.ini create mode 100644 doc/guides/nics/idpf.rst create mode 100644 drivers/common/idpf/base/idpf_alloc.h create mode 100644 drivers/common/idpf/base/idpf_common.c create mode 100644 drivers/common/idpf/base/idpf_controlq.c create mode 100644 drivers/common/idpf/base/idpf_controlq.h create mode 100644 drivers/common/idpf/base/idpf_controlq_api.h create mode 100644 drivers/common/idpf/base/idpf_controlq_setup.c create mode 100644 drivers/common/idpf/base/idpf_devids.h create mode 100644 drivers/common/idpf/base/idpf_lan_pf_regs.h create mode 100644 drivers/common/idpf/base/idpf_lan_txrx.h create mode 100644 drivers/common/idpf/base/idpf_lan_vf_regs.h create mode 100644 drivers/common/idpf/base/idpf_osdep.h create mode 100644 drivers/common/idpf/base/idpf_prototype.h create mode 100644 drivers/common/idpf/base/idpf_type.h create mode 100644 drivers/common/idpf/base/meson.build create mode 100644 drivers/common/idpf/base/siov_regs.h create mode 100644 drivers/common/idpf/base/virtchnl.h create mode 100644 drivers/common/idpf/base/virtchnl2.h create mode 100644 drivers/common/idpf/base/virtchnl2_lan_desc.h create mode 100644 drivers/common/idpf/base/virtchnl_inline_ipsec.h create mode 100644 drivers/common/idpf/meson.build create mode 100644 drivers/common/idpf/version.map create mode 100644 drivers/net/idpf/idpf_ethdev.c create mode 100644 drivers/net/idpf/idpf_ethdev.h create mode 100644 drivers/net/idpf/idpf_logs.h create mode 100644 drivers/net/idpf/idpf_rxtx.c create mode 100644 drivers/net/idpf/idpf_rxtx.h create mode 100644 drivers/net/idpf/idpf_rxtx_vec_avx512.c create mode 100644 drivers/net/idpf/idpf_rxtx_vec_common.h create mode 100644 drivers/net/idpf/idpf_vchnl.c create mode 100644 drivers/net/idpf/meson.build create mode 100644 drivers/net/idpf/version.map -- 2.26.2