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 EB662A0588; Thu, 16 Apr 2020 17:16:21 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C776A1DD92; Thu, 16 Apr 2020 17:16:21 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 291781DD82 for ; Thu, 16 Apr 2020 17:16:19 +0200 (CEST) IronPort-SDR: 8jxU8HQdPTZO62shAUCa1dT1O4TrX4RS3ijbLGuWFHa9Xw0p2tvHfSlux1Jb5Je1g8lqNkM8i7 aou5PCG7y7Ag== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Apr 2020 08:16:17 -0700 IronPort-SDR: lkzkBX9ciUvkqNjP8o/BhDF0I5A/FklxfeAwQhEb2Y3GY4XTRsvsY1nIzKxvp7ZB2Hwbd+wjAL SZrx+rVHLMBQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,391,1580803200"; d="scan'208";a="253891872" 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:16:15 -0700 To: Ori Kam , "bernard.iremonger@intel.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" 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: <46b156a4-d401-13a7-572c-16c4e2f63cb2@intel.com> Date: Thu, 16 Apr 2020 23:16:14 +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, Ori On 4/16/2020 6:40 PM, Ori Kam wrote: > Hi Jeff, > >> -----Original Message----- >> From: Jeff Guo >> Sent: Thursday, April 16, 2020 10:20 PM >> To: bernard.iremonger@intel.com; Ori Kam ; >> 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 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(-) >> >> 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 " > I think you are missing the eth only. oh, a missing one here, thanks Ori. > > Best, > Ori > >> "", >> .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