On Tue, Nov 24, 2020 at 01:15:35PM +0000, Ferruh Yigit 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.yi...@intel.com>
> Acked-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
> ---
> Cc: Thomas Monjalon <tho...@monjalon.net>
> Cc: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
> Cc: Ori Kam <or...@nvidia.com>
> 
Acked-by: Bruce Richardson <bruce.richard...@intel.com>

Reply via email to