14/10/2021 17:11, Ferruh Yigit: > On 10/13/2021 6:13 PM, Gregory Etelson wrote: > > 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.