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 10A35A04B1; Mon, 23 Nov 2020 15:17:50 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DAC4CC8C4; Mon, 23 Nov 2020 15:17:47 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 52F84375B for ; Mon, 23 Nov 2020 15:17:44 +0100 (CET) IronPort-SDR: 3EPTC1wsajR/wY6H2IIBMD4jZeHHZ+cLMbILJfI4WasBWVXzSXZHpZlEkTBhLjSJMbwK8tE/I7 o4eHrwFtIjXw== X-IronPort-AV: E=McAfee;i="6000,8403,9813"; a="151614125" X-IronPort-AV: E=Sophos;i="5.78,363,1599548400"; d="scan'208";a="151614125" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2020 06:17:42 -0800 IronPort-SDR: VlUUhuxFC/JYjHqwlBAq4UYkhY+lqekZsNHvfuzHoboGCpDYbmBR5QujmhuIQVVBRozxtcXxGR 4b5kZIqgCTgQ== X-IronPort-AV: E=Sophos;i="5.78,363,1599548400"; d="scan'208";a="327213209" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.252.20.15]) ([10.252.20.15]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2020 06:17:40 -0800 To: Andrew Rybchenko , Ray Kinsella , Neil Horman Cc: dev@dpdk.org, Thomas Monjalon , Ori Kam References: <20201123134007.2870297-1-ferruh.yigit@intel.com> <148925d7-2ebd-fcbb-0d7c-6cbe3d15a6de@oktetlabs.ru> From: Ferruh Yigit Message-ID: Date: Mon, 23 Nov 2020 14:17:37 +0000 MIME-Version: 1.0 In-Reply-To: <148925d7-2ebd-fcbb-0d7c-6cbe3d15a6de@oktetlabs.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] doc: announce flow API matching pattern struct changes 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" On 11/23/2020 1:50 PM, Andrew Rybchenko wrote: > On 11/23/20 4:40 PM, Ferruh Yigit wrote: >> Proposing to replace protocol header fields in the ``rte_flow_item_*`` >> structures with the protocol structs, like: >> >> Current ``struct rte_flow_item_eth``, >> >> struct rte_flow_item_eth { >> struct rte_ether_addr dst; >> struct rte_ether_addr src; >> rte_be16_t type; >> uint32_t has_vlan:1; >> uint32_t reserved:31; >> } >> >> will become >> >> struct rte_flow_item_eth { >> struct rte_ether_hdr hdr; >> uint32_t has_vlan:1; >> uint32_t reserved:31; >> } >> >> This is both for documenting the intention and to be sure >> ``rte_flow_item_*`` always starts with complete protocol header. >> >> Already many ``rte_flow_item_*`` structs implemented to have protocol >> struct, target is convert all to this usage. >> >> Signed-off-by: Ferruh Yigit > > Acked-by: Andrew Rybchenko > > a minor note below > >> --- >> Cc: Thomas Monjalon >> Cc: Andrew Rybchenko >> Cc: Ori Kam >> --- >> doc/guides/rel_notes/deprecation.rst | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst >> index 96986fabd598..a2fa0c196472 100644 >> --- a/doc/guides/rel_notes/deprecation.rst >> +++ b/doc/guides/rel_notes/deprecation.rst >> @@ -88,6 +88,13 @@ Deprecation Notices >> will be limited to maximum 256 queues. >> Also compile time flag ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` will be removed. >> >> +* ethdev: The flow API matching pattern structures, ``struct rte_flow_item_*``, >> + should start with relevant protocol header. >> + Some matching pattern structures implements this by duplicating protocol header >> + fields in the struct. To clarify the intention and to be sure protocol header >> + is intact, will replace those fields with relevant protocol header struct. >> + Target is v21.02 release and this should not change the ABI. >> + >> * sched: To allow more traffic classes, flexible mapping of pipe queues to >> traffic classes, and subport level configuration of pipes and queues >> changes will be made to macros, data structures and API functions defined >> > > Just want to highlight that even API could be kept using > unnamed union for hdr and unnamed structure for existing > protocol header fields. > Then we may never clean the protocol header fields out of it, yes this will impact the user but I believe the impact is small and trivial, I prefer replacing fields with protocol struct.