[PATCH 8/8] net: mark all big endian types
David Marchand
david.marchand at redhat.com
Wed Oct 26 10:41:35 CEST 2022
On Tue, Oct 25, 2022 at 11:46 PM Thomas Monjalon <thomas at monjalon.net> wrote:
> diff --git a/lib/net/rte_higig.h b/lib/net/rte_higig.h
> index b55fb1a7db..bba3898a88 100644
> --- a/lib/net/rte_higig.h
> +++ b/lib/net/rte_higig.h
> @@ -112,9 +112,9 @@ struct rte_higig2_ppt_type0 {
> */
> __extension__
> struct rte_higig2_ppt_type1 {
> - uint16_t classification;
> - uint16_t resv;
> - uint16_t vid;
> + rte_be16_t classification;
> + rte_be16_t resv;
> + rte_be16_t vid;
Compiling with sparse (from OVS dpdk-latest), there are, at least,
some annotations missing in the public headers for higig2.
lib/ethdev/rte_flow.h:644: .classification = 0xffff,
lib/ethdev/rte_flow.h:645: .vid = 0xfff,
And the 0xfff mask for a 16 bits field (vid) is suspicious, isn't it?
> #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
> uint16_t opcode:3;
> uint16_t resv1:2;
--
David Marchand
More information about the dev
mailing list