DPDK patches and discussions
 help / color / mirror / Atom feed
From: <kirankumark@marvell.com>
To: Wenzhuo Lu <wenzhuo.lu@intel.com>,
	Beilei Xing <beilei.xing@intel.com>,
	Bernard Iremonger <bernard.iremonger@intel.com>
Cc: <dev@dpdk.org>, <jerinj@marvell.com>, <thomas@monjalon.net>,
	<ferruh.yigit@intel.com>, <arybchenko@solarflare.com>,
	<orika@mellanox.com>, <xuanziyang2@huawei.com>,
	<cloud.wangxiaoyun@huawei.com>, <zhouguoyang@huawei.com>,
	<rosen.xu@intel.com>, <jia.guo@intel.com>, <rmody@marvell.com>,
	<shshaikh@marvell.com>, <ndabilpuram@marvell.com>,
	<qiming.yang@intel.com>, <qi.z.zhang@intel.com>,
	<keith.wiles@intel.com>, <hemant.agrawal@nxp.com>,
	<sachin.saxena@nxp.com>, <wei.zhao1@intel.com>,
	<johndale@cisco.com>, <hyonkim@cisco.com>, <chas3@att.com>,
	<matan@mellanox.com>, <shahafs@mellanox.com>,
	<viacheslavo@mellanox.com>, <rahul.lakkireddy@chelsio.com>,
	<grive@u256.net>, <lironh@marvell.com>, <jingjing.wu@intel.com>,
	<xavier.huwei@huawei.com>, <humin29@huawei.com>,
	<yisen.zhuang@huawei.com>, <ajit.khaparde@broadcom.com>,
	<somnath.kotur@broadcom.com>, <jasvinder.singh@intel.com>,
	<cristian.dumitrescu@intel.com>,
	Kiran Kumar K <kirankumark@marvell.com>
Subject: [dpdk-dev] [PATCH v8 2/3] app/testpmd: support ethdev rss level config
Date: Thu, 17 Sep 2020 07:37:34 +0530
Message-ID: <20200917020735.2195069-2-kirankumark@marvell.com> (raw)
In-Reply-To: <20200917020735.2195069-1-kirankumark@marvell.com>

From: Kiran Kumar K <kirankumark@marvell.com>

Adding support to set RSS level from ethdev config.
level-default will requests the default behavior.
level-outer will requests RSS to be performed on the outermost packet
encapsulation level.
level-inner will request RSS to be performed on the specified inner packet
encapsulation level, from outermost to innermost.

Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
---
 app/test-pmd/cmdline.c    | 17 ++++++++++++++---
 app/test-pmd/parameters.c | 14 +++++++++++---
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 0a6ed85f3..db6263026 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -794,7 +794,8 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"receive buffers available.\n\n"
 
 			"port config all rss (all|default|ip|tcp|udp|sctp|"
-			"ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>)\n"
+			"ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|level-default|"
+			"level-outer|level-inner|<flowtype_id>)\n"
 			"    Set the RSS mode.\n\n"
 
 			"port config port-id rss reta (hash,queue)[,(hash,queue)]\n"
@@ -2334,7 +2335,16 @@ cmd_config_rss_parsed(void *parsed_result,
 		rss_conf.rss_hf = ETH_RSS_GTPU;
 	else if (!strcmp(res->value, "none"))
 		rss_conf.rss_hf = 0;
-	else if (!strcmp(res->value, "default"))
+	else if (!strcmp(res->value, "level-default")) {
+		rss_hf &= (~ETH_RSS_LEVEL_MASK);
+		rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_PMD_DEFAULT);
+	} else if (!strcmp(res->value, "level-outer")) {
+		rss_hf &= (~ETH_RSS_LEVEL_MASK);
+		rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_OUTERMOST);
+	} else if (!strcmp(res->value, "level-inner")) {
+		rss_hf &= (~ETH_RSS_LEVEL_MASK);
+		rss_conf.rss_hf = (rss_hf | ETH_RSS_LEVEL_INNERMOST);
+	} else if (!strcmp(res->value, "default"))
 		use_default = 1;
 	else if (isdigit(res->value[0]) && atoi(res->value) > 0 &&
 						atoi(res->value) < 64)
@@ -2393,7 +2403,8 @@ cmdline_parse_inst_t cmd_config_rss = {
 	.data = NULL,
 	.help_str = "port config all rss "
 		"all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|"
-		"nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|<flowtype_id>",
+		"nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|level-default|"
+		"level-outer|level-inner|<flowtype_id>",
 	.tokens = {
 		(void *)&cmd_config_rss_port,
 		(void *)&cmd_config_rss_keyword,
diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c
index 7cb0e3d6e..34a793945 100644
--- a/app/test-pmd/parameters.c
+++ b/app/test-pmd/parameters.c
@@ -66,9 +66,9 @@ usage(char* progname)
 	       "--tx-ip=SRC,DST | --tx-udp=PORT | "
 #endif
 	       "--pkt-filter-mode= |"
-	       "--rss-ip | --rss-udp | "
-	       "--rxpt= | --rxht= | --rxwt= | --rxfreet= | "
-	       "--txpt= | --txht= | --txwt= | --txfreet= | "
+	       "--rss-ip | --rss-udp | --rss-level-inner | --rss-level-outer |"
+	       "--rxpt= | --rxht= | --rxwt= |"
+	       " --rxfreet= | --txpt= | --txht= | --txwt= | --txfreet= | "
 	       "--txrst= | --tx-offloads= | | --rx-offloads= | "
 	       "--vxlan-gpe-port= ]\n",
 	       progname);
@@ -151,6 +151,8 @@ usage(char* progname)
 			"swap L2,L3,L4 for MAC, IPv4/IPv6 and TCP/UDP only.\n");
 	printf("  --rss-ip: set RSS functions to IPv4/IPv6 only .\n");
 	printf("  --rss-udp: set RSS functions to IPv4/IPv6 + UDP.\n");
+	printf("  --rss-level-inner: set RSS hash level to innermost\n");
+	printf("  --rss-level-outer: set RSS hash level to outermost\n");
 	printf("  --rxq=N: set the number of RX queues per port to N.\n");
 	printf("  --rxd=N: set the number of descriptors in RX rings to N.\n");
 	printf("  --txq=N: set the number of TX queues per port to N.\n");
@@ -632,6 +634,8 @@ launch_args_parse(int argc, char** argv)
 		{ "forward-mode",               1, 0, 0 },
 		{ "rss-ip",			0, 0, 0 },
 		{ "rss-udp",			0, 0, 0 },
+		{ "rss-level-outer",		0, 0, 0 },
+		{ "rss-level-inner",		0, 0, 0 },
 		{ "rxq",			1, 0, 0 },
 		{ "txq",			1, 0, 0 },
 		{ "rxd",			1, 0, 0 },
@@ -1051,6 +1055,10 @@ launch_args_parse(int argc, char** argv)
 				rss_hf = ETH_RSS_IP;
 			if (!strcmp(lgopts[opt_idx].name, "rss-udp"))
 				rss_hf = ETH_RSS_UDP;
+			if (!strcmp(lgopts[opt_idx].name, "rss-level-inner"))
+				rss_hf |= ETH_RSS_LEVEL_INNERMOST;
+			if (!strcmp(lgopts[opt_idx].name, "rss-level-outer"))
+				rss_hf |= ETH_RSS_LEVEL_OUTERMOST;
 			if (!strcmp(lgopts[opt_idx].name, "rxq")) {
 				n = atoi(optarg);
 				if (n >= 0 && check_nb_rxq((queueid_t)n) == 0)
-- 
2.25.1


  reply	other threads:[~2020-09-17  2:08 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07 12:04 [dpdk-dev] [PATCH 1/2] ethdev: add level support for RSS offload types kirankumark
2020-08-07 12:04 ` [dpdk-dev] [PATCH 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-08 14:36 ` [dpdk-dev] [PATCH v2 1/2] ethdev: add level support for RSS offload types kirankumark
2020-08-08 14:36   ` [dpdk-dev] [PATCH v2 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-08 14:40   ` [dpdk-dev] [PATCH v2 1/2] ethdev: add level support for RSS offload types Ajit Khaparde
2020-08-14  3:55     ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-18  7:21   ` [dpdk-dev] [PATCH v3 " kirankumark
2020-08-18  7:21     ` [dpdk-dev] [PATCH v3 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-18 10:03       ` Jerin Jacob
2020-08-18 10:10         ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-18 10:31     ` [dpdk-dev] [PATCH v4 1/2] ethdev: add level support for RSS offload types kirankumark
2020-08-18 10:31       ` [dpdk-dev] [PATCH v4 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-18 10:52       ` [dpdk-dev] [PATCH v4 1/2] ethdev: add level support for RSS offload types Jeff Guo
2020-08-18 11:43         ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-19  6:04       ` [dpdk-dev] [PATCH v5 " kirankumark
2020-08-19  6:04         ` [dpdk-dev] [PATCH v5 2/2] net/octeontx2: add rss hash level support kirankumark
2020-08-20  3:19         ` [dpdk-dev] [PATCH v5 1/2] ethdev: add level support for RSS offload types Ajit Khaparde
2020-08-21 10:57           ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-08-21 11:03         ` [dpdk-dev] [PATCH v6 1/3] " kirankumark
2020-08-21 11:03           ` [dpdk-dev] [PATCH v6 2/3] app/testpmd: support ethdev rss level config kirankumark
2020-08-29  0:48             ` Ajit Khaparde
2020-08-21 11:03           ` [dpdk-dev] [PATCH v6 3/3] net/octeontx2: add rss hash level support kirankumark
2020-08-29 14:52           ` [dpdk-dev] [PATCH v6 1/3] ethdev: add level support for RSS offload types Andrew Rybchenko
2020-09-01 13:23             ` Ferruh Yigit
2020-09-01  3:27           ` [dpdk-dev] [PATCH v7 " kirankumark
2020-09-01  3:27             ` [dpdk-dev] [PATCH v7 2/3] app/testpmd: support ethdev rss level config kirankumark
2020-09-01  3:27             ` [dpdk-dev] [PATCH v7 3/3] net/octeontx2: add rss hash level support kirankumark
2020-09-01 13:37             ` [dpdk-dev] [PATCH v7 1/3] ethdev: add level support for RSS offload types Ferruh Yigit
2020-09-01 14:27               ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-09-01 14:44                 ` Ferruh Yigit
2020-09-01 14:54                 ` Ferruh Yigit
2020-09-01 17:11                 ` Ajit Khaparde
2020-09-03 10:11                   ` Kiran Kumar Kokkilagadda
2020-09-03 13:14                     ` Ferruh Yigit
2020-09-07  8:12                       ` Andrew Rybchenko
2020-09-08 19:40                         ` Ajit Khaparde
2020-09-17  2:07             ` [dpdk-dev] [PATCH v8 " kirankumark
2020-09-17  2:07               ` kirankumark [this message]
2020-09-17 18:58                 ` [dpdk-dev] [PATCH v8 2/3] app/testpmd: support ethdev rss level config Ajit Khaparde
2020-09-17  2:07               ` [dpdk-dev] [PATCH v8 3/3] net/octeontx2: add rss hash level support kirankumark
2020-09-17  9:36               ` [dpdk-dev] [PATCH v8 1/3] ethdev: add level support for RSS offload types Andrew Rybchenko
2020-09-17 18:56                 ` Ajit Khaparde
2020-09-18 11:40                   ` Ferruh Yigit
2020-08-18 17:39     ` [dpdk-dev] [PATCH v3 1/2] " Ajit Khaparde
2020-08-19  3:58       ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200917020735.2195069-2-kirankumark@marvell.com \
    --to=kirankumark@marvell.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=arybchenko@solarflare.com \
    --cc=beilei.xing@intel.com \
    --cc=bernard.iremonger@intel.com \
    --cc=chas3@att.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=grive@u256.net \
    --cc=hemant.agrawal@nxp.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jerinj@marvell.com \
    --cc=jia.guo@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=keith.wiles@intel.com \
    --cc=lironh@marvell.com \
    --cc=matan@mellanox.com \
    --cc=ndabilpuram@marvell.com \
    --cc=orika@mellanox.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=shahafs@mellanox.com \
    --cc=shshaikh@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=thomas@monjalon.net \
    --cc=viacheslavo@mellanox.com \
    --cc=wei.zhao1@intel.com \
    --cc=wenzhuo.lu@intel.com \
    --cc=xavier.huwei@huawei.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=zhouguoyang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git