From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fhigh-b2-smtp.messagingengine.com (fhigh-b2-smtp.messagingengine.com [202.12.124.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 063F31FE44A for ; Thu, 5 Feb 2026 13:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.153 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770298780; cv=none; b=bgTER8ruSTjUJF0ubxdDPahlB8xSjgLJ8+hFyl2EIkI/hdDM9A01vNlyohfTy2PpaIsBgrkp2pYXNDgkjEcPYu7rs2os9VDhpVNFlNXF9wXny5wOTchyeA1NG0o12pXIkMpPzsdnv0vI/nWqtkThlN7n5qRJXKpgvpi5e/Cs4g8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770298780; c=relaxed/simple; bh=lkCxBl3M6NUt1fSvyWm8Frnzn5OVaKvU3BJBvhtKzVE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=u9yznq/8Rt2WP0fh8XctnzfgN15/pNob/AdVcgC42//Klt3j9WNaTs/pyp0ppxJouaf9L4TMdk1SXTK7NgWJnnd3NIeyj6ZxCv3MmgXW0PxC8+Q5wiojYpCh2z9/dfaKQsEdBrDFtKaB9+e/SlRQOSrquGi4vKG6ZDjSzTaW82E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.im; spf=pass smtp.mailfrom=fastmail.im; dkim=pass (2048-bit key) header.d=fastmail.im header.i=@fastmail.im header.b=qHAutUmG; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=ou1nfzER; arc=none smtp.client-ip=202.12.124.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fastmail.im Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fastmail.im Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fastmail.im header.i=@fastmail.im header.b="qHAutUmG"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="ou1nfzER" Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 4D8FD7A00D4; Thu, 5 Feb 2026 08:39:37 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Thu, 05 Feb 2026 08:39:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.im; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to; s=fm3; t=1770298777; x=1770385177; bh=iIjgWXki2cLYVJdnUnIcQ 29iqEfAL//ZgeX1spEdvKA=; b=qHAutUmGtoBaJFmWn+ssDvUGzgVcjQT2xWf2v ZL1Hkh4cTMxGeE291s6wH7anzUCJJpyVMlW9SiFcvxBFi1FT73w6zTbg9L8IhFYz +4xW1Y4UPGz0hds5DgyjjraR0ZLJwphglNEDguiqUbFb7bbiI+To9/ElVxEHwIcF auxU5IBeS+A5tGIViCztNuiJ5ziAVNTzHLoCjBrC1bekfkJHCb5mdEMsDGiGhGh2 FLWjsudbghpHnLIuWMlFLNeeBQEUgSA/WPEwMYLByrN+wFKbd3zvePQpBts9tqSI KS4ffAQ+jOBz82NYVJ3vPBF/BYuDJYIyfKTd1SNpdYNQez5SA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1770298777; x=1770385177; bh=iIjgWXki2cLYVJdnUnIcQ29iqEfAL//ZgeX 1spEdvKA=; b=ou1nfzERgXJRZCmcIE4E4bSU0NgIf6mXhPx6mocsSewn2w96IAV CCjKOST/2adeBYiBpiR2bAlSilh9VvGlJF5V0bEyZgXgMvtwEmHRCwYhMRKD+4Tu n0+Hs5elnoElFwVuLvv6TX7azHTWT4yV2CaBG29/Cc9V4pgwaHohM0WlRrUXgf7z N74dFCOyzYoijR+uPiHIzxGIimd10YfAYPAc7fKVeo5qmRbLMwJW9OZTW2iYzGL5 Q98Z5yQtkrJSEWaQa7qVrKaVQ1tiJp1yYjHeWjEMbLbIcRoNeuPikCp7mswVSpfN JuIBH7RU4CglwKUz6w8wojCrOiOF4R9yYbg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddukeehgeegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomheptehlihgtvgcuofhi khhithihrghnshhkrgcuoegrlhhitggvrdhkvghrnhgvlhesfhgrshhtmhgrihhlrdhimh eqnecuggftrfgrthhtvghrnhepieeluefhleekiedvueeftedvheefvedujeelgffftdef veeijefhhfetleelkefgnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghdpghhithhhuh gsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho mheprghlihgtvgdrkhgvrhhnvghlsehfrghsthhmrghilhdrihhmpdhnsggprhgtphhtth hopedufedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepuggrnhhivghlsehiohhg vggrrhgsohigrdhnvghtpdhrtghpthhtohepuggrvhgvmhesuggrvhgvmhhlohhfthdrnh gvthdprhgtphhtthhopegvughumhgriigvthesghhoohhglhgvrdgtohhmpdhrtghpthht ohepkhhusggrsehkvghrnhgvlhdrohhrghdprhgtphhtthhopehprggsvghnihesrhgvug hhrghtrdgtohhmpdhrtghpthhtoheplhhutghivghnrdigihhnsehgmhgrihhlrdgtohhm pdhrtghpthhtohepfihilhhlvghmuggvsghruhhijhhnrdhkvghrnhgvlhesghhmrghilh drtghomhdprhgtphhtthhopegushgrhhgvrhhnsehkvghrnhgvlhdrohhrghdprhgtphht thhopehrrgiiohhrsegslhgrtghkfigrlhhlrdhorhhg X-ME-Proxy: Feedback-ID: i559e4809:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 5 Feb 2026 08:39:36 -0500 (EST) From: Alice Mikityanska To: Daniel Borkmann , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Xin Long , Willem de Bruijn , David Ahern , Nikolay Aleksandrov Cc: Shuah Khan , Stanislav Fomichev , netdev@vger.kernel.org, Alice Mikityanska Subject: [PATCH net-next v5 00/12] BIG TCP without HBH in IPv6 Date: Thu, 5 Feb 2026 15:39:13 +0200 Message-ID: <20260205133925.526371-1-alice.kernel@fastmail.im> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Alice Mikityanska Resubmitting after the grace period. This series is part 1 of "BIG TCP for UDP tunnels". Due to the number of patches, I'm splitting it into two logical parts: * Remove hop-by-hop header for BIG TCP IPv6 to align with BIG TCP IPv4. * Fix up things that prevent BIG TCP from working with UDP tunnels. The current BIG TCP IPv6 code inserts a hop-by-hop extension header with 32-bit length of the packet. When the packet is encapsulated, and either the outer or the inner protocol is IPv6, or both are IPv6, there will be 1 or 2 HBH headers that need to be dealt with. The issues that arise: 1. The drivers don't strip it, and they'd all need to know the structure of each tunnel protocol in order to strip it correctly, also taking into account all combinations of IPv4/IPv6 inner/outer protocols. 2. Even if (1) is implemented, it would be an additional performance penalty per aggregated packet. 3. The skb_gso_validate_network_len check is skipped in ip6_finish_output_gso when IP6SKB_FAKEJUMBO is set, but it seems that it would make sense to do the actual validation, just taking into account the length of the HBH header. When the support for tunnels is added, it becomes trickier, because there may be one or two HBH headers, depending on whether it's IPv6 in IPv6 or not. At the same time, having an HBH header to store the 32-bit length is not strictly necessary, as BIG TCP IPv4 doesn't do anything like this and just restores the length from skb->len. The same thing can be done for BIG TCP IPv6. Removing HBH from BIG TCP would allow to simplify the implementation significantly, and align it with BIG TCP IPv4, which has been a long-standing goal. v1: https://lore.kernel.org/netdev/20250923134742.1399800-1-maxtram95@gmail.com/ v2: https://lore.kernel.org/netdev/20260113212655.116122-1-alice.kernel@fastmail.im/ v2 changes: Split the series into two parts. Address the review comments in part 2 (details follow with part 2). v3: https://lore.kernel.org/netdev/20260202192338.2373930-1-alice.projects@fastmail.im/ v3 changes: No code changes. Added Paolo's ACK. Tcpdump patches have been merged and unblocked the series: https://github.com/the-tcpdump-group/tcpdump/pull/1329 v4 changes: Added one more patch for bng_en, because it started using ipv6_hopopt_jumbo_remove in the meanwhile. Added Eric's Reviewed-by. v4: https://lore.kernel.org/netdev/20260203085942.2477583-1-alice.projects@fastmail.im/ v5 changes: Rebased to solve minor conflicts. Alice Mikityanska (12): net/ipv6: Introduce payload_len helpers net/ipv6: Drop HBH for BIG TCP on TX side net/ipv6: Drop HBH for BIG TCP on RX side net/ipv6: Remove jumbo_remove step from TX path net/mlx5e: Remove jumbo_remove step from TX path net/mlx4: Remove jumbo_remove step from TX path ice: Remove jumbo_remove step from TX path bnxt_en: Remove jumbo_remove step from TX path gve: Remove jumbo_remove step from TX path net: mana: Remove jumbo_remove step from TX path bng_en: Remove jumbo_remove step from TX path net/ipv6: Remove HBH helpers .../net/ethernet/broadcom/bnge/bnge_txrx.c | 3 - drivers/net/ethernet/broadcom/bnxt/bnxt.c | 21 ----- drivers/net/ethernet/google/gve/gve_tx_dqo.c | 3 - drivers/net/ethernet/intel/ice/ice_txrx.c | 3 - drivers/net/ethernet/mellanox/mlx4/en_tx.c | 42 ++-------- .../net/ethernet/mellanox/mlx5/core/en_tx.c | 75 +++--------------- drivers/net/ethernet/microsoft/mana/mana_en.c | 3 - include/linux/ipv6.h | 21 ++++- include/net/ipv6.h | 79 ------------------- include/net/netfilter/nf_tables_ipv6.h | 4 +- net/bridge/br_netfilter_ipv6.c | 2 +- net/bridge/netfilter/nf_conntrack_bridge.c | 4 +- net/core/dev.c | 6 +- net/core/gro.c | 2 - net/ipv6/ip6_input.c | 2 +- net/ipv6/ip6_offload.c | 36 +-------- net/ipv6/ip6_output.c | 20 +---- net/ipv6/output_core.c | 7 +- net/netfilter/ipvs/ip_vs_xmit.c | 2 +- net/netfilter/nf_conntrack_ovs.c | 2 +- net/netfilter/nf_log_syslog.c | 2 +- net/sched/sch_cake.c | 2 +- 22 files changed, 59 insertions(+), 282 deletions(-) -- 2.52.0