From patchwork Tue Nov 24 13:15:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 84513 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B65A9A04B1; Tue, 24 Nov 2020 14:15:45 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7D9B5C90E; Tue, 24 Nov 2020 14:15:43 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 3A60EC90C for ; Tue, 24 Nov 2020 14:15:41 +0100 (CET) IronPort-SDR: WQ8Icx9D3+1Ycd4Om9ZC19cum0VhgPnt0WbgdxHTlvznKP1kAM/JzeUraxecFEjeV9yo6HdYYo Szbi2iDlkcjw== X-IronPort-AV: E=McAfee;i="6000,8403,9814"; a="168431432" X-IronPort-AV: E=Sophos;i="5.78,366,1599548400"; d="scan'208";a="168431432" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2020 05:15:39 -0800 IronPort-SDR: FDI6Ab2uZuKD7CpIq/pIovfE6rY9xRuVTdtSTq7ZxN//vc9/MA3b4yFR/SO/Ye1dymH3nnz7WM 5M4KfKIXqKsA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,366,1599548400"; d="scan'208";a="361873766" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.180]) by fmsmga004.fm.intel.com with ESMTP; 24 Nov 2020 05:15:37 -0800 From: Ferruh Yigit To: Ray Kinsella , Neil Horman Cc: Ferruh Yigit , dev@dpdk.org, Andrew Rybchenko , Thomas Monjalon , Ori Kam Date: Tue, 24 Nov 2020 13:15:35 +0000 Message-Id: <20201124131535.276072-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201123134007.2870297-1-ferruh.yigit@intel.com> References: <20201123134007.2870297-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2] 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" Proposing to replace protocol header fields in the ``rte_flow_item_*`` structures with the protocol structs. This is both for documenting the intention and to be sure ``rte_flow_item_*`` always starts with complete protocol header. Change will be done in two steps, at first step in v21.02 release, protocol header struct will be added as union, for example: 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 in v21.02: __extension__ struct rte_flow_item_eth { union { struct { struct rte_ether_addr dst; struct rte_ether_addr src; rte_be16_t type; }; struct rte_ether_hdr hdr; }; uint32_t has_vlan:1; uint32_t reserved:31; } After this point usage should switch to 'hdr' struct. And in the second step, in the v21.11 LTS release the protocol fields will be removed, and the struct will become: struct rte_flow_item_eth { struct rte_ether_hdr hdr; uint32_t has_vlan:1; uint32_t reserved:31; } Already many ``rte_flow_item_*`` structures implemented to have protocol struct, target is convert all to this usage. Signed-off-by: Ferruh Yigit Acked-by: Andrew Rybchenko Acked-by: Ajit Khaparde Acked-by: Bruce Richardson Acked-by: Thomas Monjalon --- Cc: Thomas Monjalon Cc: Andrew Rybchenko Cc: Ori Kam v2: * Defer actual cleanup to the v21.11 LTS release --- doc/guides/rel_notes/deprecation.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 96986fabd598..90b6fbc9548c 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -88,6 +88,16 @@ 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. + In v21.02 both individual protocol header fields and the protocol header struct + will be added as union, target is switch usage to the protocol header by time. + In v21.11 LTS, protocol header fields will be cleaned and only protocol header + struct will remain. + * 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