[v8,0/3] add RSS configuration for iavf
Message ID | 20200422010255.76137-1-jia.guo@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 dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3D8FCA0597; Tue, 21 Apr 2020 15:04:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C96381D5D7; Tue, 21 Apr 2020 15:03:37 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id E034E1D5AD for <dev@dpdk.org>; Tue, 21 Apr 2020 15:03:35 +0200 (CEST) IronPort-SDR: XgMYJq+hRu3hqRJcEdHH6yf/B2maDjyoZgf/8SwlZBsU+6k30mKFlFHq7MoGiCTuyIVWmiscWZ nK1iVB4/0Gnw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2020 06:03:35 -0700 IronPort-SDR: dpW7FkJAM++r0VmPYFVhU6MHxZ2/rzdCedsvuhAsaiFI8lPYQXCZGTpB4MtwIK3nws24JcUuT2 E3/FG4vjF7Lg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,410,1580803200"; d="scan'208";a="279630540" Received: from npg-dpdk-cvl-jeffguo-01.sh.intel.com ([10.67.111.128]) by fmsmga004.fm.intel.com with ESMTP; 21 Apr 2020 06:03:32 -0700 From: Jeff Guo <jia.guo@intel.com> To: bernard.iremonger@intel.com, orika@mellanox.com, wenzhuo.lu@intel.com, stephen@networkplumber.org, qi.z.zhang@intel.com, jingjing.wu@intel.com Cc: beilei.xing@intel.com, xiaolong.ye@intel.com, dev@dpdk.org, yahui.cao@intel.com, simei.su@intel.com, jia.guo@intel.com Date: Tue, 21 Apr 2020 21:02:52 -0400 Message-Id: <20200422010255.76137-1-jia.guo@intel.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200318170401.7938-5-jia.guo@intel.com> References: <20200318170401.7938-5-jia.guo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [dpdk-dev v8 0/3] add RSS configuration for iavf X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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 Sender: "dev" <dev-bounces@dpdk.org> |
Message
Guo, Jia
April 22, 2020, 1:02 a.m. UTC
Because the VF must be capable of configuring RSS, so add RSS configuration
for iavf, VFs could add or delete a RSS rule base on the PF's capability.
The supported protocol rss input set as below.
l2-src-only/
l2-dst-only/
svlan/
cvlan/
ipv4/
ipv6/
l3_src_only/
l3_dst_only/
l2tpv3/
esp/
ah/
pfcp/
gtpu down/
gtpu up/
udp/
tcp/
sctp/
use tespmd for example:
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types l3-src-only end key_len 0 queues end / end
use scapy for example:
> sendp(Ether(dst="00:01:23:45:67:01")/IP(src=RandIP())/Raw('x'*20),iface="ens785f1",loop=1,inter=0.3)
the expect result:
the rss hash works and the packets will go to difference queue for load balance.
This patchset depends on below patch sets.
(1)http://patches.dpdk.org/project/dpdk/list/?series=8950
add generic filter support for iavf
(2)http://patches.dpdk.org/project/dpdk/list/?series=9280
iavf share code update
(3)http://patches.dpdk.org/project/dpdk/list/?series=9244
framework for advanced iAVF PMD
v8:
1.rebase patch and refine guide doc
v7:
1.rebase and add ETH_RSS_VLAN to cover ETH_RSS_S_VLAN and ETH_RSS_C_VLAN
2.add misssing type and add change in doc for port rss configure.
v6:
1.rename some struct and type
2.use pattern hint to distingush different layer for hash
3.add some missing part and refine commit log
v5:
1.rename ETH_XXX to L2_XXX.
2.NULL checking and commit log refine.
v4:
1.refine the rss type checking
2.delete unnecessary pdu type item.
v3:
1.refince rss offload types.
2.add doc in release note
3.refine some naming base on virtchnl definition.
4.move gtp pdu index from normal to special.
v2:
1.refine some rte eth rss offload types.
2.add NAT T ESP and refine gtpu down/up
3.reference some fixing patch from pf side.
Jeff Guo (3):
ethdev: add new RSS offload types
net/iavf: add RSS configuration for VFs
app/testpmd: add new types to RSS hash commands
app/test-pmd/cmdline.c | 34 +-
app/test-pmd/config.c | 14 +-
doc/guides/rel_notes/release_20_05.rst | 1 +
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 6 +-
drivers/net/iavf/Makefile | 1 +
drivers/net/iavf/iavf.h | 2 +
drivers/net/iavf/iavf_hash.c | 1053 +++++++++++++++++++
drivers/net/iavf/iavf_vchnl.c | 33 +-
drivers/net/iavf/meson.build | 1 +
lib/librte_ethdev/rte_ethdev.h | 17 +-
10 files changed, 1143 insertions(+), 19 deletions(-)
create mode 100644 drivers/net/iavf/iavf_hash.c