From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0CFA6A0597; Tue, 21 Apr 2020 14:37:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3C47A1D176; Tue, 21 Apr 2020 14:37:54 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 92DBA1C2EC for ; Tue, 21 Apr 2020 14:37:52 +0200 (CEST) IronPort-SDR: DLw/gkwOjDsbRV0tOfWeidyO1JRPuvfoOiC6UJlQamZRfxUn9jFgsfO1cGMfnKwViviMODkoO1 7mYnplgAqAEA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2020 05:37:51 -0700 IronPort-SDR: t7WOEqPHsC7lDkz290S1OfXc6nilguBYixNd71JtcdUzuxiLE6SPTXwUhlamqwEn5g1XiX+jej UFUOL0rfQIvg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,410,1580803200"; d="scan'208";a="456088645" Received: from jguo15x-mobl.ccr.corp.intel.com (HELO [10.249.174.94]) ([10.249.174.94]) by fmsmga005.fm.intel.com with ESMTP; 21 Apr 2020 05:37:49 -0700 To: "Iremonger, Bernard" , "orika@mellanox.com" , "Ye, Xiaolong" , "Zhang, Qi Z" Cc: "dev@dpdk.org" , "Wu, Jingjing" , "Cao, Yahui" , "Su, Simei" References: <20200318170401.7938-5-jia.guo@intel.com> <20200417183146.112672-1-jia.guo@intel.com> <20200417183146.112672-4-jia.guo@intel.com> From: Jeff Guo Message-ID: <84477599-534a-8979-ff28-9ef3ab53c714@intel.com> Date: Tue, 21 Apr 2020 20:37:48 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: Re: [dpdk-dev] [dpdk-dev v7 3/3] app/testpmd: add new types to RSS hash commands X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" hi, bernard On 4/21/2020 5:44 PM, Iremonger, Bernard wrote: > Hi Jeff, > >> -----Original Message----- >> From: Guo, Jia >> Sent: Friday, April 17, 2020 7:32 PM >> To: Iremonger, Bernard ; >> orika@mellanox.com; Ye, Xiaolong ; Zhang, Qi Z >> >> Cc: dev@dpdk.org; Wu, Jingjing ; Cao, Yahui >> ; Su, Simei ; Guo, Jia >> >> Subject: [dpdk-dev v7 3/3] app/testpmd: add new types to RSS hash >> commands >> >> 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 >> --- >> 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|vxla >> n-gpe|none|", >> + >> "all|default|eth|vlan|ip|tcp|udp|sctp|ether|port|vxlan|geneve|" >> +"nvgre|vxlan- >> gpe|l2tpv3|esp|ah|pfcp|none|", >> .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 " >> "", >> .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|vx >> + lan-gpe|l2tpv3|esp|ah|pfcp|none) >> >> RSS is on by default. > The "all" option needs to be updated with the latest "all" values. > It would also be good to reformat the text so that the "all", "none" and "default" options are on separate lines. you are right here, bernard, will refine in next version. >> -- >> 2.20.1 > Regards, > > Bernard. > >