geneve: fix hint header definition wrt endianness

Bitfields are packed differently depending on the endianness, take it into
account in the GRO hint header definition.

Fixes: e0a12cbf26 ("geneve: add GRO hint output path")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://sashiko.dev/#/patchset/20260529144713.780938-1-atenart%40kernel.org
Signed-off-by: Antoine Tenart <atenart@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260709124801.140632-1-atenart@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Antoine Tenart 2026-07-09 14:48:00 +02:00 committed by Jakub Kicinski
parent fca68249b6
commit 751bfa982b

View File

@ -43,8 +43,17 @@ MODULE_PARM_DESC(log_ecn_error, "Log packets received with corrupted ECN");
#define GENEVE_OPT_GRO_HINT_LEN 1
struct geneve_opt_gro_hint {
#if defined(__LITTLE_ENDIAN_BITFIELD)
u8 inner_proto_id:2,
nested_is_v6:1;
nested_is_v6:1,
rsvd:5;
#elif defined(__BIG_ENDIAN_BITFIELD)
u8 rsvd:5,
nested_is_v6:1,
inner_proto_id:2;
#else
#error "Please fix <asm/byteorder.h>"
#endif
u8 nested_nh_offset;
u8 nested_tp_offset;
u8 nested_hdr_len;