This is a draft of idpf (Infrastructure Data Path Function) PMD in DPDK for Intel Device ID of 0x1452.
v2: fix code typo in func idpf_set_tx_function. Junfeng Guo (9): net/idpf/base: introduce base code net/idpf/base: add OS specific implementation net/idpf: support device initialization net/idpf: support queue ops net/idpf: support getting device information net/idpf: support packet type getting net/idpf: support link update net/idpf: support basic Rx/Tx net/idpf: support RSS drivers/net/idpf/base/iecm_alloc.h | 22 + drivers/net/idpf/base/iecm_common.c | 359 +++ drivers/net/idpf/base/iecm_controlq.c | 662 ++++ drivers/net/idpf/base/iecm_controlq.h | 214 ++ drivers/net/idpf/base/iecm_controlq_api.h | 227 ++ drivers/net/idpf/base/iecm_controlq_setup.c | 179 ++ drivers/net/idpf/base/iecm_devids.h | 17 + drivers/net/idpf/base/iecm_lan_pf_regs.h | 134 + drivers/net/idpf/base/iecm_lan_txrx.h | 428 +++ drivers/net/idpf/base/iecm_lan_vf_regs.h | 114 + drivers/net/idpf/base/iecm_osdep.h | 365 +++ drivers/net/idpf/base/iecm_prototype.h | 45 + drivers/net/idpf/base/iecm_type.h | 106 + drivers/net/idpf/base/meson.build | 27 + drivers/net/idpf/base/siov_regs.h | 41 + drivers/net/idpf/base/virtchnl.h | 2743 +++++++++++++++++ drivers/net/idpf/base/virtchnl2.h | 1411 +++++++++ drivers/net/idpf/base/virtchnl2_lan_desc.h | 603 ++++ drivers/net/idpf/base/virtchnl_inline_ipsec.h | 567 ++++ drivers/net/idpf/idpf_ethdev.c | 1030 +++++++ drivers/net/idpf/idpf_ethdev.h | 223 ++ drivers/net/idpf/idpf_logs.h | 38 + drivers/net/idpf/idpf_rxtx.c | 2180 +++++++++++++ drivers/net/idpf/idpf_rxtx.h | 203 ++ drivers/net/idpf/idpf_vchnl.c | 900 ++++++ drivers/net/idpf/meson.build | 19 + drivers/net/idpf/version.map | 3 + drivers/net/meson.build | 1 + 28 files changed, 12861 insertions(+) create mode 100644 drivers/net/idpf/base/iecm_alloc.h create mode 100644 drivers/net/idpf/base/iecm_common.c create mode 100644 drivers/net/idpf/base/iecm_controlq.c create mode 100644 drivers/net/idpf/base/iecm_controlq.h create mode 100644 drivers/net/idpf/base/iecm_controlq_api.h create mode 100644 drivers/net/idpf/base/iecm_controlq_setup.c create mode 100644 drivers/net/idpf/base/iecm_devids.h create mode 100644 drivers/net/idpf/base/iecm_lan_pf_regs.h create mode 100644 drivers/net/idpf/base/iecm_lan_txrx.h create mode 100644 drivers/net/idpf/base/iecm_lan_vf_regs.h create mode 100644 drivers/net/idpf/base/iecm_osdep.h create mode 100644 drivers/net/idpf/base/iecm_prototype.h create mode 100644 drivers/net/idpf/base/iecm_type.h create mode 100644 drivers/net/idpf/base/meson.build create mode 100644 drivers/net/idpf/base/siov_regs.h create mode 100644 drivers/net/idpf/base/virtchnl.h create mode 100644 drivers/net/idpf/base/virtchnl2.h create mode 100644 drivers/net/idpf/base/virtchnl2_lan_desc.h create mode 100644 drivers/net/idpf/base/virtchnl_inline_ipsec.h 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_vchnl.c create mode 100644 drivers/net/idpf/meson.build create mode 100644 drivers/net/idpf/version.map -- 2.25.1