Message ID | 20221031033651.98072-1-beilei.xing@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6341EA00C4; Mon, 31 Oct 2022 05:07:12 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4816140685; Mon, 31 Oct 2022 05:07:12 +0100 (CET) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 1086E400D5 for <dev@dpdk.org>; Mon, 31 Oct 2022 05:07:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667189231; x=1698725231; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=lBXTrSt96GnSH3jIvgDo38/uDLsmQ614Xg0epl6YwCo=; b=lpnD5MLiq5kThpB58bBCiEruoUYYLD19+9JCPaWPF3gb1f6oDoOCHr5W 2o238LRLns/WnJah1pb/VP/EO1J5aI18s6VII48kmT8prkLmrcbqTHuvc 4F75IXlzLUlugbl5X6Y9NUnCtBGaXSXMnUh+AnoHLKUMNiXZ76SWIa+O/ NnJlIILnTycTuOrTZWifZAdNPHJHXeW0isLcZUGM1hPxopBQMV5EHAEyd OffLmq/MgbFP25+xiooKHuScuHNApUCUb6At3VJ9nhnqL/a533F3uxImQ YfEEarcQhO0PlWI5mfBzS/CnnNXcB35iN79sfKYlnSc8jDjH9isd/zaoZ A==; X-IronPort-AV: E=McAfee;i="6500,9779,10516"; a="310508258" X-IronPort-AV: E=Sophos;i="5.95,227,1661842800"; d="scan'208";a="310508258" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2022 21:07:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10516"; a="584527030" X-IronPort-AV: E=Sophos;i="5.95,227,1661842800"; d="scan'208";a="584527030" Received: from dpdk-beileix-3.sh.intel.com ([10.67.110.253]) by orsmga003.jf.intel.com with ESMTP; 30 Oct 2022 21:07:00 -0700 From: beilei.xing@intel.com To: andrew.rybchenko@oktetlabs.ru, jingjing.wu@intel.com, beilei.xing@intel.com Cc: dev@dpdk.org Subject: [PATCH v16 00/18] add support for idpf PMD in DPDK Date: Mon, 31 Oct 2022 03:36:33 +0000 Message-Id: <20221031033651.98072-1-beilei.xing@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20221029032729.22772-1-beilei.xing@intel.com> References: <20221029032729.22772-1-beilei.xing@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
add support for idpf PMD in DPDK
|
|
Message
Xing, Beilei
Oct. 31, 2022, 3:36 a.m. UTC
From: Beilei Xing <beilei.xing@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.brady@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
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 | 871 +++++
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, 15228 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