summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAlice Mikityanska <alice@isovalent.com>2026-02-05 16:39:15 +0300
committerJakub Kicinski <kuba@kernel.org>2026-02-07 07:50:12 +0300
commit741d069aa488866ae8425f87ad270ed3815ccaac (patch)
tree65114ea5d20be61173b52a4bced08432bd3539f6 /include/linux
parentb2936b4fd56294e49d6c8e9152ea6c4982757c7d (diff)
downloadlinux-741d069aa488866ae8425f87ad270ed3815ccaac.tar.xz
net/ipv6: Drop HBH for BIG TCP on TX side
BIG TCP IPv6 inserts a hop-by-hop extension header to indicate the real IPv6 payload length when it doesn't fit into the 16-bit field in the IPv6 header itself. While it helps tools parse the packet, it also requires every driver that supports TSO and BIG TCP to remove this 8-byte extension header. It might not sound that bad until we try to apply it to tunneled traffic. Currently, the drivers don't attempt to strip HBH if skb->encapsulation = 1. Moreover, trying to do so would require dissecting different tunnel protocols and making corresponding adjustments on case-by-case basis, which would slow down the fastpath (potentially also requiring adjusting checksums in outer headers). At the same time, BIG TCP IPv4 doesn't insert any extra headers and just calculates the payload length from skb->len, significantly simplifying implementing BIG TCP for tunnels. Stop inserting HBH when building BIG TCP GSO SKBs. Signed-off-by: Alice Mikityanska <alice@isovalent.com> Acked-by: Paolo Abeni <pabeni@redhat.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260205133925.526371-3-alice.kernel@fastmail.im Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ipv6.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index 57ab6c97ee7e..bdbd63f9a85e 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -177,7 +177,6 @@ struct inet6_skb_parm {
#define IP6SKB_L3SLAVE 64
#define IP6SKB_JUMBOGRAM 128
#define IP6SKB_SEG6 256
-#define IP6SKB_FAKEJUMBO 512
#define IP6SKB_MULTIPATH 1024
#define IP6SKB_MCROUTE 2048
};