From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 5F19D36E for ; Thu, 9 Mar 2017 11:43:06 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Mar 2017 02:43:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,268,1486454400"; d="scan'208";a="832695153" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by FMSMGA003.fm.intel.com with ESMTP; 09 Mar 2017 02:43:05 -0800 Received: from fmsmsx116.amr.corp.intel.com (10.18.116.20) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 9 Mar 2017 02:43:05 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx116.amr.corp.intel.com (10.18.116.20) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 9 Mar 2017 02:43:04 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.177]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.204]) with mapi id 14.03.0248.002; Thu, 9 Mar 2017 18:43:01 +0800 From: "Xing, Beilei" To: "Yigit, Ferruh" , "Wu, Jingjing" CC: "Zhang, Helin" , "dev@dpdk.org" , "Iremonger, Bernard" , "Stroe, Laura" Thread-Topic: [dpdk-dev] [PATCH 1/4] net/i40e: support replace filter type Thread-Index: AQHSlAEw6xjI++oqsUGrwcV+HCC5q6GKmTyAgAFmlED//8phAIAAj4Fw Date: Thu, 9 Mar 2017 10:43:00 +0000 Message-ID: <94479800C636CB44BD422CB454846E01315A80A1@SHSMSX101.ccr.corp.intel.com> References: <1488533497-27682-1-git-send-email-beilei.xing@intel.com> <1488533497-27682-2-git-send-email-beilei.xing@intel.com> <94479800C636CB44BD422CB454846E01315A7CF0@SHSMSX101.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 1/4] net/i40e: support replace filter type 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: , X-List-Received-Date: Thu, 09 Mar 2017 10:43:06 -0000 > -----Original Message----- > From: Yigit, Ferruh > Sent: Thursday, March 9, 2017 6:02 PM > To: Xing, Beilei ; Wu, Jingjing > Cc: Zhang, Helin ; dev@dpdk.org; Iremonger, > Bernard ; Stroe, Laura > > Subject: Re: [dpdk-dev] [PATCH 1/4] net/i40e: support replace filter type >=20 > On 3/9/2017 5:59 AM, Xing, Beilei wrote: > > > > > >> -----Original Message----- > >> From: Yigit, Ferruh > >> Sent: Wednesday, March 8, 2017 11:50 PM > >> To: Xing, Beilei ; Wu, Jingjing > >> > >> Cc: Zhang, Helin ; dev@dpdk.org; Iremonger, > >> Bernard ; Stroe, Laura > >> > >> Subject: Re: [dpdk-dev] [PATCH 1/4] net/i40e: support replace filter > >> type > >> > >> On 3/3/2017 9:31 AM, Beilei Xing wrote: > >>> Add new admin queue function and extended fields in DCR 288: > >>> - Add admin queue function for Replace filter > >>> command (Opcode: 0x025F) > >>> - Add General fields for Add/Remove Cloud filters > >>> command > >>> > >>> This patch will be removed to base driver in future. > >>> > >>> Signed-off-by: Bernard Iremonger > >>> Signed-off-by: Stroe Laura > >>> Signed-off-by: Jingjing Wu > >>> Signed-off-by: Beilei Xing > >>> --- > >>> drivers/net/i40e/i40e_ethdev.h | 106 > ++++++++++++++++++++++++++++ > >>> drivers/net/i40e/i40e_flow.c | 152 > >> +++++++++++++++++++++++++++++++++++++++++ > >>> 2 files changed, 258 insertions(+) > >>> > >>> diff --git a/drivers/net/i40e/i40e_ethdev.h > >>> b/drivers/net/i40e/i40e_ethdev.h index f545850..3a49865 100644 > >>> --- a/drivers/net/i40e/i40e_ethdev.h > >>> +++ b/drivers/net/i40e/i40e_ethdev.h > >>> @@ -729,6 +729,100 @@ struct i40e_valid_pattern { > >>> parse_filter_t parse_filter; > >>> }; > >>> > >>> +/* Support replace filter */ > >>> + > >>> +/* i40e_aqc_add_remove_cloud_filters_element_big_data is used > when > >>> + * I40E_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set. refer to > >>> + * DCR288 > >> > >> Please do not refer to DCR, unless you can provide a public link for i= t. > > OK, got it. > > > >> > >>> + */ > >>> +struct i40e_aqc_add_remove_cloud_filters_element_big_data { > >>> + struct i40e_aqc_add_remove_cloud_filters_element_data element; > >> > >> What is the difference between > >> "i40e_aqc_add_remove_cloud_filters_element_big_data" and > >> "i40e_aqc_add_remove_cloud_filters_element_data", why need > big_data > >> one? > > > > As ' Add/Remove Cloud filters -command buffer ' is changed in the DCR28= 8, > 'general fields' exists only when big_buffer is set. >=20 > What does it mean having "big_buffer" set? What changes functionally bein= g > big_buffer set or not? According to DCR288, "Add/Remove Cloud Filter Command" should add 'Big Buff= er' in byte20, but we can't change ' struct i40e_aqc_add_remove_cloud_filte= rs ' in base code, struct i40e_aqc_add_remove_cloud_filters { u8 num_filters; u8 reserved; __le16 seid; #define I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT 0 #define I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_MASK (0x3FF << \ I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_SHI= FT) u8 reserved2[4]; __le32 addr_high; __le32 addr_low; }; So we use reserverd[0] for 'Big Buffer' here, in the patch for ND, we chang= ed above structure with following: struct i40e_aqc_add_remove_cloud_filters { u8 num_filters; u8 reserved; __le16 seid; #define I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT 0 #define I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_MASK (0x3FF << \ I40E_AQC_ADD_CLOUD_CMD_SEID_NUM_SHI= FT) u8 big_buffer; u8 reserved2[3]; __le32 addr_high; __le32 addr_low; }; >=20 > > But we don't want to change the " > i40e_aqc_add_remove_cloud_filters_element_data " as it will cause ABI/API > change in kernel driver. > > > <...>