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 <ferruh.yi...@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> a minor note below > --- > Cc: Thomas Monjalon <tho...@monjalon.net> > Cc: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > Cc: Ori Kam <or...@nvidia.com> > --- > 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.