summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorAntoine Tenart <atenart@kernel.org>2026-07-09 14:48:00 +0200
committerJakub Kicinski <kuba@kernel.org>2026-07-21 10:13:52 -0700
commit751bfa982b4a6de8275a552804f6971adcf08473 (patch)
tree442abecdf2fbbc436aa56a3a792e9b9774604e29 /drivers/net
parentfca68249b6f5e84859b200b54cb5e0aef98f2b3a (diff)
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: e0a12cbf262b ("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>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/geneve.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 396e1a113cd4..bed1c9713e0a 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -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;