From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 42983A034F; Mon, 29 Mar 2021 13:14:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D63AD40151; Mon, 29 Mar 2021 13:14:14 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 2203840042; Mon, 29 Mar 2021 13:14:12 +0200 (CEST) IronPort-SDR: ndFirI8I1R0t6tbNBbTYiseZc9N+wMlj/7N+Km+oHXe4Zj+6m86svG0U0uQMesnW6tOR7mKauT bkZ2kev00siA== X-IronPort-AV: E=McAfee;i="6000,8403,9937"; a="189274537" X-IronPort-AV: E=Sophos;i="5.81,287,1610438400"; d="scan'208";a="189274537" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2021 04:14:11 -0700 IronPort-SDR: G/O9O2xqrZOc4nkUj/MTJ4IyBG6m6STMgCSUgYTOr7y78db3PWZ034to3bgJV+GSzLOWkNd07R Nxaxgujm9POA== X-IronPort-AV: E=Sophos;i="5.81,287,1610438400"; d="scan'208";a="444510451" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.213.51]) ([10.213.213.51]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2021 04:14:09 -0700 To: Raslan Darawsheh , Ori Kam , "dev@dpdk.org" , Andrew Rybchenko , Ivan Malov Cc: Slava Ovsiienko , Shiri Kuzin , "ying.a.wang@intel.com" , "stable@dpdk.org" , NBU-Contact-Thomas Monjalon , Olivier Matz References: <20210323121134.19113-1-rasland@nvidia.com> <20780a26-f27a-8d43-27e3-744293538cca@intel.com> From: Ferruh Yigit X-User: ferruhy Message-ID: <3ce5f5b2-e64e-5988-1c15-360b73076c50@intel.com> Date: Mon, 29 Mar 2021 12:14:05 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] ethdev: update qfi definition X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On 3/29/2021 10:06 AM, Raslan Darawsheh wrote: > Hi, > >> -----Original Message----- >> From: Ori Kam >> Sent: Monday, March 29, 2021 11:53 AM >> To: Ferruh Yigit ; Raslan Darawsheh >> ; dev@dpdk.org; Andrew Rybchenko >> ; Ivan Malov >> Cc: Slava Ovsiienko ; Shiri Kuzin >> ; ying.a.wang@intel.com; stable@dpdk.org; NBU- >> Contact-Thomas Monjalon ; Olivier Matz >> >> Subject: RE: [dpdk-dev] [PATCH] ethdev: update qfi definition >> >> Hi >> >>> -----Original Message----- >>> From: dev On Behalf Of Ferruh Yigit >>> Subject: Re: [dpdk-dev] [PATCH] ethdev: update qfi definition >>> >>> On 3/23/2021 12:11 PM, Raslan Darawsheh wrote: >>>> qfi field is 8 bits which represent single bit for >>>> PPP (paging Policy Presence) single bit for RQI >>>> (Reflective QoS Indicator) and 6 bits for qfi >>>> (QoS Flow Identifier) >>> >>> Can you please put a reference for above information? >>>> > Sure, will send in V2, > >>>> This update the doxygen format and the mask for qfi >>>> to properly identify the full 8 bits of the field. >>>> >>>> note: changing the default mask would cause different >>>> patterns generated by testpmd. >>>> >>>> Fixes: 346553db5bd1 ("ethdev: add GTP extension header to flow API") >>>> Cc: ying.a.wang@intel.com >>>> Cc: stable@dpdk.org >>>> >>>> Signed-off-by: Raslan Darawsheh >>>> --- >>>> doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 ++- >>>> lib/librte_ethdev/rte_flow.h | 4 ++-- >>>> 2 files changed, 4 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst >>> b/doc/guides/testpmd_app_ug/testpmd_funcs.rst >>>> index f59eb8a27d..dd39c4c3c2 100644 >>>> --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst >>>> +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst >>>> @@ -3742,7 +3742,8 @@ This section lists supported pattern items and >> their >>> attributes, if any. >>>> - ``gtp_psc``: match GTP PDU extension header with type 0x85. >>>> >>>> - ``pdu_type {unsigned}``: PDU type. >>>> - - ``qfi {unsigned}``: QoS flow identifier. >>>> + >>>> + - ``qfi {unsigned}``: PPP, RQI and QoS flow identifier. >>>> >>>> - ``pppoes``, ``pppoed``: match PPPoE header. >>>> >>>> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h >>>> index 669e677e91..79106e0246 100644 >>>> --- a/lib/librte_ethdev/rte_flow.h >>>> +++ b/lib/librte_ethdev/rte_flow.h >>>> @@ -1392,14 +1392,14 @@ static const struct rte_flow_item_meta >>> rte_flow_item_meta_mask = { >>>> */ >>>> struct rte_flow_item_gtp_psc { >>>> uint8_t pdu_type; /**< PDU type. */ >>>> - uint8_t qfi; /**< QoS flow identifier. */ >>>> + uint8_t qfi; /**< PPP, RQI, QoS flow identifier. */ >>>> }; >>> >>> By design requirement, rte_flow_item_* should start with the relevant >> protocol >>> header. >>> >>> There is already a deprecation notice for using protocol header directly in >> the >>> rte_flow_item* [1] and Adrew/Ivan already fixed a few of them [2]. >>> >>> Your patch is not directly related on this, but since you are touching to the >>> flow_item, would you mind create a protocol struct for it first, and use it in >>> the "struct rte_flow_item_gtp_psc"? >>> So the protocol related update can be done in the protocol header, instead >> of >>> rte_flow struct. >>> >> +1 > Sure, I can create the new protocol and use it , and will send in V2. But, wouldn't it cause any ABI breakage ? For the protocol header, it won't be problem since it is a new struct. For the flow item struct, it may be, that is why need to use a union for now, please check what Adrew/Ivan did. >> >>> >>> [1] >>> >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.d >> pdk. >>> >> org%2Fdpdk%2Ftree%2Fdoc%2Fguides%2Frel_notes%2Fdeprecation.rst%3F >> h%3 >>> >> Dv21.02%23n99&data=04%7C01%7Corika%40nvidia.com%7C6391a4c064 >> 0 >>> >> f4592b70b08d8f058e322%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0 >>> >> %7C637523611870497932%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA >> w >>> >> MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sda >> t >>> >> a=vU%2F5oO47zb9erTnZL1pl9j0nHCKzea3NJgOeo1FTW0Q%3D&reserve >> d= >>> 0 >>> >>> [2] >>> >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.d >> pdk. >>> org%2Fnext%2Fdpdk-next- >>> >> net%2Fcommit%2F%3Fid%3D4a061a7bd70bfa023de23e8e654e&data=0 >> 4% >>> >> 7C01%7Corika%40nvidia.com%7C6391a4c0640f4592b70b08d8f058e322%7C43 >>> >> 083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637523611870497932%7CU >>> >> nknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI >> 6Ik >>> >> 1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WurlQ5VSLqFGVthfRj363xZs >> C >>> No3xJuvxNQCFVcxdkk%3D&reserved=0 >