From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 03E5CA0552; Fri, 21 Oct 2022 07:19:51 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9DC1742836; Fri, 21 Oct 2022 07:19:51 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id B3C974282D for ; Fri, 21 Oct 2022 07:19:49 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666329589; x=1697865589; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7Vs3rsEjEQJPeKdPJ7uDzvO3mmCzjS1CgcLJODB30tQ=; b=Xv89CjogJw8e8YbsrPeq8K/Z3a8nKkhoCxnyV/RDsDEokGBhMjKrC0tn VXwBiGCI/gRpEyVJzGAfSpM7evfirkPcqK+KIOZs/2LvkZ3iiZ2V0BRwM 5ZUD441esxM/sUIa9pghUwu/Xh8hSui5WD58VcXB+Fi+f750Dm83nB/Vp sYxs+8V0fkaU9tjDtepJbfkzNpUK2e7YAmUa2jtTW7ssuH5ZUeZOuArRc hP+oThf/6gboVxONR28EcJyP8ld9Cklx3EpbHFY0MC6/TzqQxMO4eUoS7 rW96nphQY5VS1qX+9AFtRIfJxo+usTXAgvSsUem/Y/qJou5rKlga9E6wB Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10506"; a="371128534" X-IronPort-AV: E=Sophos;i="5.95,200,1661842800"; d="scan'208";a="371128534" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Oct 2022 22:19:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10506"; a="772826247" X-IronPort-AV: E=Sophos;i="5.95,200,1661842800"; d="scan'208";a="772826247" Received: from dpdk-jf-ntb-one.sh.intel.com ([10.67.111.104]) by fmsmga001.fm.intel.com with ESMTP; 20 Oct 2022 22:19:46 -0700 From: Junfeng Guo To: andrew.rybchenko@oktetlabs.ru, qi.z.zhang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com Cc: dev@dpdk.org, Junfeng Guo Subject: [PATCH v9 00/14] add support for idpf PMD in DPDK Date: Fri, 21 Oct 2022 13:18:07 +0800 Message-Id: <20221021051821.2164939-1-junfeng.guo@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221020062951.645121-2-junfeng.guo@intel.com> References: <20221020062951.645121-2-junfeng.guo@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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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. Junfeng Guo (14): common/idpf: introduce common library net/idpf: add support for device initialization net/idpf: add queue setup and release in single queue model net/idpf: add queue setup and release in split queue model net/idpf: add support for queue start and stop net/idpf: add support for device information get net/idpf: add support for packet type get net/idpf: add support for basic Rx/Tx datapath net/idpf: add support for Rx/Tx offloading net/idpf: add support for RSS net/idpf: add support for MTU configuration net/idpf: add support for write back based on ITR expire 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 | 24 + doc/guides/nics/idpf.rst | 94 + doc/guides/nics/index.rst | 1 + doc/guides/rel_notes/release_22_11.rst | 6 + drivers/common/idpf/idpf_alloc.h | 22 + drivers/common/idpf/idpf_common.c | 364 +++ drivers/common/idpf/idpf_controlq.c | 691 +++++ drivers/common/idpf/idpf_controlq.h | 224 ++ drivers/common/idpf/idpf_controlq_api.h | 234 ++ drivers/common/idpf/idpf_controlq_setup.c | 179 ++ drivers/common/idpf/idpf_devids.h | 18 + drivers/common/idpf/idpf_lan_pf_regs.h | 134 + drivers/common/idpf/idpf_lan_txrx.h | 428 +++ drivers/common/idpf/idpf_lan_vf_regs.h | 114 + drivers/common/idpf/idpf_osdep.h | 364 +++ drivers/common/idpf/idpf_prototype.h | 45 + drivers/common/idpf/idpf_type.h | 106 + drivers/common/idpf/meson.build | 14 + drivers/common/idpf/siov_regs.h | 47 + drivers/common/idpf/version.map | 12 + drivers/common/idpf/virtchnl.h | 2866 +++++++++++++++++++ drivers/common/idpf/virtchnl2.h | 1462 ++++++++++ drivers/common/idpf/virtchnl2_lan_desc.h | 606 ++++ drivers/common/idpf/virtchnl_inline_ipsec.h | 567 ++++ drivers/common/meson.build | 1 + drivers/net/idpf/idpf_ethdev.c | 1244 ++++++++ drivers/net/idpf/idpf_ethdev.h | 273 ++ drivers/net/idpf/idpf_logs.h | 42 + drivers/net/idpf/idpf_rxtx.c | 2375 +++++++++++++++ drivers/net/idpf/idpf_rxtx.h | 324 +++ drivers/net/idpf/idpf_rxtx_vec_avx512.c | 871 ++++++ drivers/net/idpf/idpf_rxtx_vec_common.h | 100 + drivers/net/idpf/idpf_vchnl.c | 1445 ++++++++++ drivers/net/idpf/meson.build | 45 + drivers/net/idpf/version.map | 3 + drivers/net/meson.build | 1 + 37 files changed, 15355 insertions(+) create mode 100644 doc/guides/nics/features/idpf.ini create mode 100644 doc/guides/nics/idpf.rst create mode 100644 drivers/common/idpf/idpf_alloc.h create mode 100644 drivers/common/idpf/idpf_common.c create mode 100644 drivers/common/idpf/idpf_controlq.c create mode 100644 drivers/common/idpf/idpf_controlq.h create mode 100644 drivers/common/idpf/idpf_controlq_api.h create mode 100644 drivers/common/idpf/idpf_controlq_setup.c create mode 100644 drivers/common/idpf/idpf_devids.h create mode 100644 drivers/common/idpf/idpf_lan_pf_regs.h create mode 100644 drivers/common/idpf/idpf_lan_txrx.h create mode 100644 drivers/common/idpf/idpf_lan_vf_regs.h create mode 100644 drivers/common/idpf/idpf_osdep.h create mode 100644 drivers/common/idpf/idpf_prototype.h create mode 100644 drivers/common/idpf/idpf_type.h create mode 100644 drivers/common/idpf/meson.build create mode 100644 drivers/common/idpf/siov_regs.h create mode 100644 drivers/common/idpf/version.map create mode 100644 drivers/common/idpf/virtchnl.h create mode 100644 drivers/common/idpf/virtchnl2.h create mode 100644 drivers/common/idpf/virtchnl2_lan_desc.h create mode 100644 drivers/common/idpf/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_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.34.1