From: Alice Mikityanska <alice.kernel@fastmail.im>
To: Daniel Borkmann <daniel@iogearbox.net>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Xin Long <lucien.xin@gmail.com>,
Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
David Ahern <dsahern@kernel.org>,
Nikolay Aleksandrov <razor@blackwall.org>
Cc: Shuah Khan <shuah@kernel.org>,
Stanislav Fomichev <stfomichev@gmail.com>,
netdev@vger.kernel.org, Alice Mikityanska <alice@isovalent.com>
Subject: [PATCH net-next v2 03/11] net/ipv6: Drop HBH for BIG TCP on RX side
Date: Tue, 13 Jan 2026 23:26:47 +0200 [thread overview]
Message-ID: <20260113212655.116122-4-alice.kernel@fastmail.im> (raw)
In-Reply-To: <20260113212655.116122-1-alice.kernel@fastmail.im>
From: Alice Mikityanska <alice@isovalent.com>
Complementary to the previous commit, stop inserting HBH when building
BIG TCP GRO SKBs.
Signed-off-by: Alice Mikityanska <alice@isovalent.com>
---
net/core/gro.c | 2 --
net/ipv6/ip6_offload.c | 28 +---------------------------
2 files changed, 1 insertion(+), 29 deletions(-)
diff --git a/net/core/gro.c b/net/core/gro.c
index 76f9c3712422..b95df1d85946 100644
--- a/net/core/gro.c
+++ b/net/core/gro.c
@@ -115,8 +115,6 @@ int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb)
if (unlikely(p->len + len >= GRO_LEGACY_MAX_SIZE)) {
if (NAPI_GRO_CB(skb)->proto != IPPROTO_TCP ||
- (p->protocol == htons(ETH_P_IPV6) &&
- skb_headroom(p) < sizeof(struct hop_jumbo_hdr)) ||
p->encapsulation)
return -E2BIG;
}
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
index 6762ce7909c8..e5861089cc80 100644
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -342,40 +342,14 @@ INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff)
const struct net_offload *ops;
struct ipv6hdr *iph;
int err = -ENOSYS;
- u32 payload_len;
if (skb->encapsulation) {
skb_set_inner_protocol(skb, cpu_to_be16(ETH_P_IPV6));
skb_set_inner_network_header(skb, nhoff);
}
- payload_len = skb->len - nhoff - sizeof(*iph);
- if (unlikely(payload_len > IPV6_MAXPLEN)) {
- struct hop_jumbo_hdr *hop_jumbo;
- int hoplen = sizeof(*hop_jumbo);
-
- /* Move network header left */
- memmove(skb_mac_header(skb) - hoplen, skb_mac_header(skb),
- skb->transport_header - skb->mac_header);
- skb->data -= hoplen;
- skb->len += hoplen;
- skb->mac_header -= hoplen;
- skb->network_header -= hoplen;
- iph = (struct ipv6hdr *)(skb->data + nhoff);
- hop_jumbo = (struct hop_jumbo_hdr *)(iph + 1);
-
- /* Build hop-by-hop options */
- hop_jumbo->nexthdr = iph->nexthdr;
- hop_jumbo->hdrlen = 0;
- hop_jumbo->tlv_type = IPV6_TLV_JUMBO;
- hop_jumbo->tlv_len = 4;
- hop_jumbo->jumbo_payload_len = htonl(payload_len + hoplen);
-
- iph->nexthdr = NEXTHDR_HOP;
- }
-
iph = (struct ipv6hdr *)(skb->data + nhoff);
- ipv6_set_payload_len(iph, payload_len);
+ ipv6_set_payload_len(iph, skb->len - nhoff - sizeof(*iph));
nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops);
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
--
2.52.0
next prev parent reply other threads:[~2026-01-13 21:27 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-13 21:26 [PATCH net-next v2 00/11] BIG TCP without HBH in IPv6 Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 01/11] net/ipv6: Introduce payload_len helpers Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 02/11] net/ipv6: Drop HBH for BIG TCP on TX side Alice Mikityanska
2026-01-13 21:26 ` Alice Mikityanska [this message]
2026-01-13 21:26 ` [PATCH net-next v2 04/11] net/ipv6: Remove jumbo_remove step from TX path Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 05/11] net/mlx5e: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 06/11] net/mlx4: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 07/11] ice: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 08/11] bnxt_en: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 09/11] gve: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 10/11] net: mana: " Alice Mikityanska
2026-01-13 21:26 ` [PATCH net-next v2 11/11] net/ipv6: Remove HBH helpers Alice Mikityanska
2026-01-20 9:17 ` [PATCH net-next v2 00/11] BIG TCP without HBH in IPv6 Paolo Abeni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260113212655.116122-4-alice.kernel@fastmail.im \
--to=alice.kernel@fastmail.im \
--cc=alice@isovalent.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=lucien.xin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=razor@blackwall.org \
--cc=shuah@kernel.org \
--cc=stfomichev@gmail.com \
--cc=willemdebruijn.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox