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 BC49EA0588; Thu, 16 Apr 2020 17:15:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 261C81DD3E; Thu, 16 Apr 2020 17:15:10 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 772301D6FE for ; Thu, 16 Apr 2020 17:15:08 +0200 (CEST) IronPort-SDR: f15r4AvYfwzKw1BM3f05nKzE7lqo/7C2rp7nIbYLwOV/T8Ah/eoq5UQ9/jlm4mp/sAxToUrTLI OjQp4YIuPgOA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Apr 2020 08:15:07 -0700 IronPort-SDR: OePZY76I4ZB3VrcIBX0O1cSdaoaSDl5d0Ehh0yZMjPGyCTmlSmNgoNE4ad4q+KTFqxQPW/IL8M vlmamC1ihFCw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,391,1580803200"; d="scan'208";a="253891334" Received: from jguo15x-mobl.ccr.corp.intel.com (HELO [10.249.173.83]) ([10.249.173.83]) by orsmga003.jf.intel.com with ESMTP; 16 Apr 2020 08:15:04 -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> <20200416191944.23284-1-jia.guo@intel.com> <20200416191944.23284-4-jia.guo@intel.com> From: Jeff Guo Message-ID: <103d4a2c-6145-8f19-2fb3-4c5b09704528@intel.com> Date: Thu, 16 Apr 2020 23:15:03 +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 v6 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/16/2020 7:16 PM, Iremonger, Bernard wrote: > Hi Jeff, > >> -----Original Message----- >> From: Guo, Jia >> Sent: Thursday, April 16, 2020 8:20 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 v6 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 testpmd commands was: >> testpmd>flow create 0 ingress pattern eth / ipv4 / l2tpv3oip / end \ >> actions rss types l2tpv3 end key_len 0 queues end / end >> >> Signed-off-by: Jeff Guo >> --- >> v6->v5: >> add some missing part and refine commit log >> --- >> app/test-pmd/cmdline.c | 34 +++++++++++++++++++++++++++++----- >> app/test-pmd/config.c | 15 ++++++++++++--- >> 2 files changed, 41 insertions(+), 8 deletions(-) >> > The dpdk/doc/guides/testpmd_app_ug/testpmd_funcs.rst file needs to be updated for the new RSS values. > Section 4.6.16. port config -RSS ok, i think the doc is definitely need, and also the rss rule flow setting. please expect it in the next version. Thanks. >> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index >> 863b567c1..4164767b8 100644 >> --- a/app/test-pmd/cmdline.c >> +++ b/app/test-pmd/cmdline.c >> @@ -2270,9 +2270,13 @@ 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_S_VLAN | >> +ETH_RSS_C_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, "ip")) >> rss_conf.rss_hf = ETH_RSS_IP; >> else if (!strcmp(res->value, "udp")) >> @@ -2299,6 +2303,22 @@ 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, "s-vlan")) >> +rss_conf.rss_hf = ETH_RSS_S_VLAN; >> +else if (!strcmp(res->value, "c-vlan")) >> +rss_conf.rss_hf = ETH_RSS_C_VLAN; >> +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")) @@ -2467,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); >> >> @@ -2478,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 >> 71aeb5413..c8196e47a 100644 >> --- a/app/test-pmd/config.c >> +++ b/app/test-pmd/config.c >> @@ -75,10 +75,15 @@ 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_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 }, >> +{ "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 }, @@ -108,6 +113,10 >> @@ const struct rss_type_info rss_type_table[] = { >> { "l3-dst-only", ETH_RSS_L3_DST_ONLY }, >> { "l4-src-only", ETH_RSS_L4_SRC_ONLY }, >> { "l4-dst-only", ETH_RSS_L4_DST_ONLY }, >> +{ "l2tpv3", ETH_RSS_L2TPV3 }, >> +{ "esp", ETH_RSS_ESP }, >> +{ "ah", ETH_RSS_AH }, >> +{ "pfcp", ETH_RSS_PFCP }, >> { NULL, 0 }, >> }; >> >> -- >> 2.20.1 > Regards, > > Bernard.