On Sat, Oct 19, 2019 at 10:27 AM <kirankum...@marvell.com> wrote: > > From: Kiran Kumar K <kirankum...@marvell.com> > > Add new rte_flow_item_higig2_hdr in order to match higig2 header. > It is a layer 2.5 protocol and used in Broadcom switches. > Header format is based on the following document. > http://read.pudn.com/downloads558/doc/comm/2301468/HiGig_protocol.pdf > > Signed-off-by: Kiran Kumar K <kirankum...@marvell.com>
> index 000000000..7c0dec449 > --- /dev/null > +++ b/lib/librte_net/rte_higig.h > @@ -0,0 +1,138 @@ [snip] > +/** > + * RTE_FLOW_ITEM_TYPE_HIGIG2 > + * Matches higig2 header. > + */ rte_higig.h is a generic file, it should not have any reference to rte_flow Doxygen comment could be "higig2 frc header" > +struct rte_higig2_frc { > +}; Missing doxygen comments here. > +struct rte_higig2_ppt_type0 { > +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN > +#endif > +}; Missing Doxygen comments here. > +struct rte_higig2_ppt_type1 { > +#endif > +}; > + Missing Doxygen comments here. > +RTE_STD_C11 > +struct rte_flow_item_higig2_hdr { Change to rte_higig2_hdr and see below. > + struct rte_higig2_frc fcr; > + union { > + struct rte_higig2_ppt_type0 ppt0; > + struct rte_higig2_ppt_type1 ppt1; > + }; > +}; > +/** Default mask for RTE_FLOW_ITEM_TYPE_HIGIG2. */ > +#ifndef __cplusplus > +static const struct rte_flow_item_higig2_hdr rte_flow_item_higig2_hdr_mask = > { > + .ppt1.classification = 0xffff, > + .ppt1.vid = 0xfff, > +}; > +#endif move this to rte_flow.h and add the following rte_flow.h so that rte_higig.h is standalone it can be used for other purposes other than rte_flow. /** * RTE_FLOW_ITEM_TYPE_HIGIG2. * * Matches higig2 header. */ struct rte_flow_item_higig2_hdr { struct rte_higig2_hdr hdr; /**< Higig2 header definition. */ }; See rte_flow_item_tcp and rte_tcp_hdr as reference usage. > + > +#ifdef __cplusplus > +} > +#endif > + > +#endif /* RTE_HIGIG_H_ */ > -- > 2.17.1 >