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 AFE38A034F; Wed, 13 May 2020 10:40:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0CC781C434; Wed, 13 May 2020 10:40:46 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 1744D1BF26 for ; Wed, 13 May 2020 10:40:44 +0200 (CEST) IronPort-SDR: 1h4s2lFn8UTVCtidmJ6Z6qJHNZVCokbgVrsDpEpbRukYTQFjdY7NPSJDiw/5F0LE/YzUhaXncu BHUGE2yUT0JA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 May 2020 01:40:44 -0700 IronPort-SDR: c0DqvvS6LIewH/RDYd+zAuMqgcnb8Rz/XDsBTPYApbS/gbDjkvg3RPtN6xzAR1FANXBNMQNUV9 WC0cTgWgiCFw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,387,1583222400"; d="scan'208";a="265796403" Received: from jguo15x-mobl.ccr.corp.intel.com (HELO [10.67.68.157]) ([10.67.68.157]) by orsmga006.jf.intel.com with ESMTP; 13 May 2020 01:40:42 -0700 To: "Xu, HailinX" , "Wang, ShougangX" , "Xing, Beilei" , "dev@dpdk.org" References: <20200507094401.54928-1-shougangx.wang@intel.com> <8e8523f82a2e46cd85055ee52ad088a7@intel.com> From: Jeff Guo Message-ID: <4af98506-2136-d855-3c12-e192d6dbd780@intel.com> Date: Wed, 13 May 2020 16:40:42 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix hash enable issue in RSS flow 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, hailin Seems that this patch is fixing a issue about l2-playload but it is related with the priors wrong usage of the pattern. The rework need further to do and sincerely it it not very easy to review it.  But if consider it for the work around solution, commend as below. On 5/8/2020 11:32 AM, Xu, HailinX wrote: > Tested-by: Xu, Hailin > > Regards, > Xu, Hailin > > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wang, ShougangX > Sent: Friday, May 8, 2020 9:52 AM > To: Xing, Beilei ; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] net/i40e: fix hash enable issue in RSS flow > > Hi, Beilei > >> -----Original Message----- >> From: Xing, Beilei >> Sent: Friday, May 8, 2020 9:04 AM >> To: Wang, ShougangX ; dev@dpdk.org >> Subject: RE: [PATCH] net/i40e: fix hash enable issue in RSS flow >> >> >> >>> -----Original Message----- >>> From: Wang, ShougangX >>> Sent: Thursday, May 7, 2020 5:44 PM >>> To: dev@dpdk.org >>> Cc: Xing, Beilei ; Wang, ShougangX >>> >>> Subject: [PATCH] net/i40e: fix hash enable issue in RSS flow >>> >>> This patch fixes the issue that failed to create an RSS rule with >>> type >>> L2- payload. >>> >>> Fixes: feaae285b342 ("net/i40e: support hash configuration in RSS >>> flow") >>> >>> Signed-off-by: Shougang Wang >>> --- >>> drivers/net/i40e/i40e_flow.c | 14 ++++++-------- >>> 1 file changed, 6 insertions(+), 8 deletions(-) >>> >>> diff --git a/drivers/net/i40e/i40e_flow.c >>> b/drivers/net/i40e/i40e_flow.c index 7e64ae53a..f5f2f0d5d 100644L2- >>> --- a/drivers/net/i40e/i40e_flow.c >>> +++ b/drivers/net/i40e/i40e_flow.c >>> @@ -4511,6 +4511,7 @@ i40e_flow_parse_rss_pattern(__rte_unused >> struct >>> rte_eth_dev *dev, >> <...> >> >>> @@ -4544,8 +4545,7 @@ i40e_flow_parse_rss_pattern(__rte_unused >> struct >>> rte_eth_dev *dev, if >>> (i40e_match_pattern(i40e_rss_pctype_patterns[i].item_array, >>> items)) { >>> p_info->types = i40e_rss_pctype_patterns[i].type; -rte_free(items); >>> -return 0; >>> +break; >>> } >>> } >>> >>> @@ -4580,11 +4580,9 @@ i40e_flow_parse_rss_pattern(__rte_unused >>> struct rte_eth_dev *dev, >>> } >>> break; >>> default: >>> -rte_flow_error_set(error, EINVAL, >>> -RTE_FLOW_ERROR_TYPE_ITEM, >>> -item, >>> -"Not support range"); >>> -return -rte_errno; >>> +p_info->action_flag = 0; >>> +memset(info, 0, sizeof(struct i40e_queue_regions)); return 0; Could you check if all case have set p_info->action_flag such as RTE_FLOW_ITEM_TYPE_VLAN case. >>> } >>> } >>> >>> @@ -4640,7 +4638,7 @@ i40e_flow_parse_rss_action(struct rte_eth_dev >>> *dev, return -rte_errno; } >>> >>> -if (p_info.action_flag) { >>> +if (p_info.action_flag && rss->queue_num) { >>> for (n = 0; n < 64; n++) { >>> if (rss->types & (hf_bit << n)) { >>> conf_info->region[0].hw_flowtype[0] = n; >>> -- >>> 2.17.1 >> Are the above changes relating to L2-payload? >> > Yes, in order to resolve the conflict between hash enable and queue region which caused by ether pattern, there are also a little bit changes for queue region. > > Thanks. > Shougang