Hello Thomas,

> > >   struct rte_ipv4_hdr {
> > > -   uint8_t  version_ihl;           /**< version
> and header length */
> > > +   __extension__
> > > +   union {
> > > +           uint8_t version_ihl;    /**< version
> and header length */
> > > +           struct {
> > > +#if RTE_BYTE_ORDER ==
> RTE_LITTLE_ENDIAN
> > > +                   uint8_t ihl:4;     /**< header
> length */
> > > +                   uint8_t version:4; /**< version
> */
> > > +#elif RTE_BYTE_ORDER == RTE_BIG_ENDIAN
> > > +                   uint8_t version:4; /**< version
> */
> > > +                   uint8_t ihl:4;     /**< header
> length */
> > > +#else
> > > +#error "setup endian definition"
> > > +#endif
> >
> > Do we need the last 'else' part?
> > Although it is harmless to have it, other
> protocol headers for endianness
> > check doesn't have this part, so I think better
> to be consistent.
> 
> In lib/eal/include/generic/rte_byteorder.h we
> already have
> #if !defined(RTE_BYTE_ORDER)
> #error Unknown endianness.
> #endif
> 
> So indeed we don't need this last else part.
> 
> 

I updated the patch in v7.

Regards,
Gregory

Reply via email to