From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id D4C11A04B1;
	Tue, 24 Nov 2020 15:29:32 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B8BA9C926;
	Tue, 24 Nov 2020 15:29:31 +0100 (CET)
Received: from mail-oi1-f193.google.com (mail-oi1-f193.google.com
 [209.85.167.193]) by dpdk.org (Postfix) with ESMTP id 148CAC924
 for <dev@dpdk.org>; Tue, 24 Nov 2020 15:29:30 +0100 (CET)
Received: by mail-oi1-f193.google.com with SMTP id v202so20810035oia.9
 for <dev@dpdk.org>; Tue, 24 Nov 2020 06:29:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=/ny/GPlpmZ7br0yLB2abJKBOZEA2mSRGE9H7aKkP3uc=;
 b=cqcLgZagGciUdei3I7QtNy6tu57OuW4HXFteKmznyh3NWkoORLqZMmo/83aX664dW4
 ywP+dlRltA33JSDdfauMrZx7hMLIiooV6FqAaCLz0Bi6Og5yf6SScyAC4/vnsrkSWgRD
 33YnLjiMT6rcOObrgytbUBqhW998L29hDQKPs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=/ny/GPlpmZ7br0yLB2abJKBOZEA2mSRGE9H7aKkP3uc=;
 b=D954mNLURsTODFshXITA+xC/jp68CLiVe19jXaqsHcyUednz9oQPy6L2h33ciSwLAr
 B6e9gqKFyJ3t129bKWSBsyjXVNZ3WAGfjQGb3KBfUcfUFhf24Im9Io/ovJcbl58mLoXC
 q9zMCEAHfcR3oKWydmE20VnuWWE6NuSdTBm4wpkP/WEeTKG3z8z3+CP2SjobUbSEiiej
 lrnpREVAIyrTfy4SF3/mTy7i35qmKAmYcW7M3YBf03JICi6qltURPZXxxc6uJ2ccxf4A
 L8eU7jiyC8zoUlDrqnElBhhtqPAsSBy8JhIxZaUT9xb9NTUF5OnONhJXiH1WeQMEUFbZ
 R9Ig==
X-Gm-Message-State: AOAM531vY0aHgnIm8JyitqgknEx/SupIUd58ohxfpIETIdZNOoWBR9Tk
 W5g1o8NhsgVS3fuJW6IIzDbgUFIITGrr3etTqG7rPSlqv+RG7koT
X-Google-Smtp-Source: ABdhPJwPRAAe+S+COhA9yaCXu9/R6MenIKRwpQLJ//O7d6q6jVXiymwYhrWbHBtrbyu9Bt2A/smW9Ps0t0959TbMHRM=
X-Received: by 2002:aca:53cc:: with SMTP id h195mr2882886oib.168.1606228169284; 
 Tue, 24 Nov 2020 06:29:29 -0800 (PST)
MIME-Version: 1.0
References: <20201123134007.2870297-1-ferruh.yigit@intel.com>
 <20201124131535.276072-1-ferruh.yigit@intel.com>
In-Reply-To: <20201124131535.276072-1-ferruh.yigit@intel.com>
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Tue, 24 Nov 2020 06:29:13 -0800
Message-ID: <CACZ4nhtSC9JG7XuA7+JGqAEONuRguYi_64WY2p9+fj6x88_w1w@mail.gmail.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Ray Kinsella <mdr@ashroe.eu>, Neil Horman <nhorman@tuxdriver.com>,
 dpdk-dev <dev@dpdk.org>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
 Thomas Monjalon <thomas@monjalon.net>, Ori Kam <orika@nvidia.com>
Content-Type: text/plain; charset="UTF-8"
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Subject: Re: [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 <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Tue, Nov 24, 2020 at 5:15 AM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> 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 <ferruh.yigit@intel.com>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

> ---
> Cc: Thomas Monjalon <thomas@monjalon.net>
> Cc: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Cc: Ori Kam <orika@nvidia.com>
>
> 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
> --
> 2.26.2
>