From: Jeff Guo <jia.guo@intel.com>
To: bernard.iremonger@intel.com, orika@mellanox.com,
xiaolong.ye@intel.com, qi.z.zhang@intel.com
Cc: dev@dpdk.org, jingjing.wu@intel.com, yahui.cao@intel.com,
simei.su@intel.com, jia.guo@intel.com
Subject: [dpdk-dev] [dpdk-dev v7 3/3] app/testpmd: add new types to RSS hash commands
Date: Fri, 17 Apr 2020 14:31:46 -0400 [thread overview]
Message-ID: <20200417183146.112672-4-jia.guo@intel.com> (raw)
In-Reply-To: <20200417183146.112672-1-jia.guo@intel.com>
Add some new types, such as eth/l2-src-only/l2-dst-only/svlan/cvlan/
l2tpv3/esp/ah/pfcp types into RSS hash commands, it could be used
to configure these rss input set by cmdline.
Example flow commands was:
testpmd>flow create 0 ingress pattern eth / ipv4 / l2tpv3oip / end \
actions rss types l2tpv3 end key_len 0 queues end / end
port config commands was:
testpmd>port config all rss l2tpv3
Signed-off-by: Jeff Guo <jia.guo@intel.com>
---
v7->v6:
add missing type
add change in doc for port rss configure
---
app/test-pmd/cmdline.c | 34 +++++++++++++++++----
app/test-pmd/config.c | 14 +++++++--
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 2 +-
3 files changed, 40 insertions(+), 10 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 982322c35..97cf6ee35 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -2270,9 +2270,14 @@ cmd_config_rss_parsed(void *parsed_result,
int ret;
if (!strcmp(res->value, "all"))
- rss_conf.rss_hf = ETH_RSS_IP | ETH_RSS_TCP |
- ETH_RSS_UDP | ETH_RSS_SCTP |
- ETH_RSS_L2_PAYLOAD;
+ rss_conf.rss_hf = ETH_RSS_ETH | ETH_RSS_VLAN | ETH_RSS_IP |
+ ETH_RSS_TCP | ETH_RSS_UDP | ETH_RSS_SCTP |
+ ETH_RSS_L2_PAYLOAD | ETH_RSS_L2TPV3 | ETH_RSS_ESP |
+ ETH_RSS_AH | ETH_RSS_PFCP;
+ else if (!strcmp(res->value, "eth"))
+ rss_conf.rss_hf = ETH_RSS_ETH;
+ else if (!strcmp(res->value, "vlan"))
+ rss_conf.rss_hf = ETH_RSS_VLAN;
else if (!strcmp(res->value, "ip"))
rss_conf.rss_hf = ETH_RSS_IP;
else if (!strcmp(res->value, "udp"))
@@ -2299,6 +2304,18 @@ cmd_config_rss_parsed(void *parsed_result,
rss_conf.rss_hf = ETH_RSS_L4_SRC_ONLY;
else if (!strcmp(res->value, "l4-dst-only"))
rss_conf.rss_hf = ETH_RSS_L4_DST_ONLY;
+ else if (!strcmp(res->value, "l2-src-only"))
+ rss_conf.rss_hf = ETH_RSS_L2_SRC_ONLY;
+ else if (!strcmp(res->value, "l2-dst-only"))
+ rss_conf.rss_hf = ETH_RSS_L2_DST_ONLY;
+ else if (!strcmp(res->value, "l2tpv3"))
+ rss_conf.rss_hf = ETH_RSS_L2TPV3;
+ else if (!strcmp(res->value, "esp"))
+ rss_conf.rss_hf = ETH_RSS_ESP;
+ else if (!strcmp(res->value, "ah"))
+ rss_conf.rss_hf = ETH_RSS_AH;
+ else if (!strcmp(res->value, "pfcp"))
+ rss_conf.rss_hf = ETH_RSS_PFCP;
else if (!strcmp(res->value, "none"))
rss_conf.rss_hf = 0;
else if (!strcmp(res->value, "default"))
@@ -2359,7 +2376,8 @@ cmdline_parse_inst_t cmd_config_rss = {
.f = cmd_config_rss_parsed,
.data = NULL,
.help_str = "port config all rss "
- "all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none|<flowtype_id>",
+ "all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|"
+ "nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none|<flowtype_id>",
.tokens = {
(void *)&cmd_config_rss_port,
(void *)&cmd_config_rss_keyword,
@@ -2469,7 +2487,9 @@ cmdline_parse_token_string_t cmd_config_rss_hash_key_rss_type =
"ipv4-other#ipv6#ipv6-frag#ipv6-tcp#ipv6-udp#"
"ipv6-sctp#ipv6-other#l2-payload#ipv6-ex#"
"ipv6-tcp-ex#ipv6-udp-ex#"
- "l3-src-only#l3-dst-only#l4-src-only#l4-dst-only");
+ "l3-src-only#l3-dst-only#l4-src-only#l4-dst-only#"
+ "l2-src-only#l2-dst-only#s-vlan#c-vlan#"
+ "l2tpv3#esp#ah#pfcp");
cmdline_parse_token_string_t cmd_config_rss_hash_key_value =
TOKEN_STRING_INITIALIZER(struct cmd_config_rss_hash_key, key, NULL);
@@ -2480,7 +2500,9 @@ cmdline_parse_inst_t cmd_config_rss_hash_key = {
"ipv4|ipv4-frag|ipv4-tcp|ipv4-udp|ipv4-sctp|ipv4-other|"
"ipv6|ipv6-frag|ipv6-tcp|ipv6-udp|ipv6-sctp|ipv6-other|"
"l2-payload|ipv6-ex|ipv6-tcp-ex|ipv6-udp-ex|"
- "l3-src-only|l3-dst-only|l4-src-only|l4-dst-only "
+ "l3-src-only|l3-dst-only|l4-src-only|l4-dst-only|"
+ "l2-src-only|l2-dst-only|s-vlan|c-vlan|"
+ "l2tpv3|esp|ah|pfcp "
"<string of hex digits (variable length, NIC dependent)>",
.tokens = {
(void *)&cmd_config_rss_hash_key_port,
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 69c5633e8..72f25d152 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -75,10 +75,16 @@ static const struct {
};
const struct rss_type_info rss_type_table[] = {
- { "all", ETH_RSS_IP | ETH_RSS_TCP |
- ETH_RSS_UDP | ETH_RSS_SCTP |
- ETH_RSS_L2_PAYLOAD },
+ { "all", ETH_RSS_ETH | ETH_RSS_VLAN | ETH_RSS_IP | ETH_RSS_TCP |
+ ETH_RSS_UDP | ETH_RSS_SCTP | ETH_RSS_L2_PAYLOAD |
+ ETH_RSS_L2TPV3 | ETH_RSS_ESP | ETH_RSS_AH | ETH_RSS_PFCP},
{ "none", 0 },
+ { "eth", ETH_RSS_ETH },
+ { "l2-src-only", ETH_RSS_L2_SRC_ONLY },
+ { "l2-dst-only", ETH_RSS_L2_DST_ONLY },
+ { "vlan", ETH_RSS_VLAN },
+ { "s-vlan", ETH_RSS_S_VLAN },
+ { "c-vlan", ETH_RSS_C_VLAN },
{ "ipv4", ETH_RSS_IPV4 },
{ "ipv4-frag", ETH_RSS_FRAG_IPV4 },
{ "ipv4-tcp", ETH_RSS_NONFRAG_IPV4_TCP },
@@ -110,6 +116,8 @@ const struct rss_type_info rss_type_table[] = {
{ "l4-dst-only", ETH_RSS_L4_DST_ONLY },
{ "esp", ETH_RSS_ESP },
{ "ah", ETH_RSS_AH },
+ { "l2tpv3", ETH_RSS_L2TPV3 },
+ { "pfcp", ETH_RSS_PFCP },
{ NULL, 0 },
};
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index dcee5de45..2928499b6 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -2199,7 +2199,7 @@ port config - RSS
Set the RSS (Receive Side Scaling) mode on or off::
- testpmd> port config all rss (all|default|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|none)
+ testpmd> port config all rss (all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|nvgre|vxlan-gpe|l2tpv3|esp|ah|pfcp|none)
RSS is on by default.
--
2.20.1
next prev parent reply other threads:[~2020-04-17 6:32 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-18 17:03 [dpdk-dev] [dpdk-dev 0/4] add RSS configuration for iavf Jeff Guo
2020-03-18 17:03 ` [dpdk-dev] [dpdk-dev 1/4] ethdev: add new RSS offload types Jeff Guo
2020-03-18 17:03 ` [dpdk-dev] [dpdk-dev 2/4] net/iavf: add RSS configuration for VFs Jeff Guo
2020-03-18 17:04 ` [dpdk-dev] [dpdk-dev 3/4] app/testpmd: support GTP PDU type Jeff Guo
2020-03-18 17:04 ` [dpdk-dev] [dpdk-dev 4/4] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-03-26 16:40 ` [dpdk-dev] [dpdk-dev v2 0/4] add RSS configuration for iavf Jeff Guo
2020-03-26 16:40 ` [dpdk-dev] [dpdk-dev v2 1/4] ethdev: add new RSS offload types Jeff Guo
2020-04-07 17:02 ` Iremonger, Bernard
2020-04-08 0:15 ` Zhang, Qi Z
2020-04-09 2:04 ` Jeff Guo
2020-03-26 16:40 ` [dpdk-dev] [dpdk-dev v2 2/4] net/iavf: add RSS configuration for VFs Jeff Guo
2020-03-26 16:40 ` [dpdk-dev] [dpdk-dev v2 3/4] app/testpmd: support GTP PDU type Jeff Guo
2020-03-29 8:44 ` Ori Kam
2020-03-30 8:29 ` Jeff Guo
2020-03-30 10:18 ` Ori Kam
2020-03-31 8:50 ` Jeff Guo
2020-04-05 15:56 ` Ori Kam
2020-04-07 5:37 ` Jeff Guo
2020-04-12 9:58 ` Ori Kam
2020-04-14 3:05 ` Jeff Guo
2020-04-14 5:57 ` Ori Kam
2020-03-26 16:40 ` [dpdk-dev] [dpdk-dev v2 4/4] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-11 0:09 ` [dpdk-dev] [dpdk-dev v3 0/4] add RSS configuration for iavf Jeff Guo
2020-04-11 0:09 ` [dpdk-dev] [dpdk-dev v3 1/4] ethdev: add new RSS offload types Jeff Guo
2020-04-13 0:13 ` Zhang, Qi Z
2020-04-11 0:09 ` [dpdk-dev] [dpdk-dev v3 2/4] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-13 2:02 ` Zhang, Qi Z
2020-04-14 3:42 ` Jeff Guo
2020-04-11 0:09 ` [dpdk-dev] [dpdk-dev v3 3/4] app/testpmd: support GTP PDU type Jeff Guo
2020-04-11 0:09 ` [dpdk-dev] [dpdk-dev v3 4/4] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-14 17:42 ` [dpdk-dev] [dpdk-dev v4 0/3] add RSS configuration for iavf Jeff Guo
2020-04-14 17:42 ` [dpdk-dev] [dpdk-dev v4 1/3] ethdev: add new RSS offload types Jeff Guo
2020-04-14 9:42 ` Ori Kam
2020-04-15 2:31 ` Zhang, Qi Z
2020-04-15 3:11 ` Jeff Guo
2020-04-14 17:42 ` [dpdk-dev] [dpdk-dev v4 2/3] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-15 2:29 ` Zhang, Qi Z
2020-04-14 17:42 ` [dpdk-dev] [dpdk-dev v4 3/3] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-14 9:48 ` Ori Kam
2020-04-15 8:08 ` Jeff Guo
2020-04-15 16:31 ` Stephen Hemminger
2020-04-16 8:55 ` Jeff Guo
2020-04-15 17:11 ` [dpdk-dev] [dpdk-dev v5 0/3] add RSS configuration for iavf Jeff Guo
2020-04-15 17:11 ` [dpdk-dev] [dpdk-dev v5 1/3] ethdev: add new RSS offload types Jeff Guo
2020-04-15 15:38 ` Iremonger, Bernard
2020-04-15 22:13 ` Ferruh Yigit
2020-04-16 3:22 ` Jeff Guo
2020-04-16 6:57 ` Ori Kam
2020-04-15 17:11 ` [dpdk-dev] [dpdk-dev v5 2/3] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-15 17:11 ` [dpdk-dev] [dpdk-dev v5 3/3] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-15 15:01 ` Iremonger, Bernard
2020-04-16 7:51 ` Jeff Guo
2020-04-16 9:14 ` Iremonger, Bernard
2020-04-16 10:22 ` Jeff Guo
2020-04-16 19:19 ` [dpdk-dev] [dpdk-dev v6 0/3] add RSS configuration for iavf Jeff Guo
2020-04-16 19:19 ` [dpdk-dev] [dpdk-dev v6 1/3] ethdev: add new RSS offload types Jeff Guo
2020-04-16 19:19 ` [dpdk-dev] [dpdk-dev v6 2/3] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-16 19:19 ` [dpdk-dev] [dpdk-dev v6 3/3] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-16 10:40 ` Ori Kam
2020-04-16 15:16 ` Jeff Guo
2020-04-16 11:16 ` Iremonger, Bernard
2020-04-16 15:15 ` Jeff Guo
2020-04-16 15:52 ` Ferruh Yigit
2020-04-17 1:50 ` Jeff Guo
2020-04-17 18:31 ` [dpdk-dev] [dpdk-dev v7 0/3] add RSS configuration for iavf Jeff Guo
2020-04-17 18:31 ` [dpdk-dev] [dpdk-dev v7 1/3] ethdev: add new RSS offload types Jeff Guo
2020-04-21 10:14 ` Iremonger, Bernard
2020-04-17 18:31 ` [dpdk-dev] [dpdk-dev v7 2/3] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-17 18:31 ` Jeff Guo [this message]
2020-04-19 6:53 ` [dpdk-dev] [dpdk-dev v7 3/3] app/testpmd: add new types to RSS hash commands Ori Kam
2020-04-21 9:44 ` Iremonger, Bernard
2020-04-21 12:37 ` Jeff Guo
2020-04-22 1:02 ` [dpdk-dev] [dpdk-dev v8 0/3] add RSS configuration for iavf Jeff Guo
2020-04-21 17:15 ` Ferruh Yigit
2020-04-22 1:02 ` [dpdk-dev] [dpdk-dev v8 1/3] ethdev: add new RSS offload types Jeff Guo
2020-04-21 17:15 ` Ferruh Yigit
2020-04-22 1:02 ` [dpdk-dev] [dpdk-dev v8 2/3] net/iavf: add RSS configuration for VFs Jeff Guo
2020-04-22 1:02 ` [dpdk-dev] [dpdk-dev v8 3/3] app/testpmd: add new types to RSS hash commands Jeff Guo
2020-04-21 14:29 ` Iremonger, Bernard
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=20200417183146.112672-4-jia.guo@intel.com \
--to=jia.guo@intel.com \
--cc=bernard.iremonger@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=orika@mellanox.com \
--cc=qi.z.zhang@intel.com \
--cc=simei.su@intel.com \
--cc=xiaolong.ye@intel.com \
--cc=yahui.cao@intel.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).