Thread (23 messages) 23 messages, 4 authors, 1d ago

Re: [PATCH net-next v9 8/9] geneve: Enable BIG TCP packets

From: Simon Horman <horms@kernel.org>
Date: 2026-07-16 14:48:43

This is an AI-generated review of your patch. The human sending this
email has considered the AI review valid, or at least plausible.
Full review at: https://sashiko.dev
---
--- Patch [8]: [PATCH net-next v9 8/9] geneve: Enable BIG TCP packets ---
commit d560b2b7c8bd97bea9e23790fdfc21cfe031b961
Author: Alice Mikityanska [off-list ref]

geneve: Enable BIG TCP packets

In Cilium we do support BIG TCP, but so far the latter has only been
enabled for direct routing use-cases. A lot of users rely on Cilium
with vxlan/geneve tunneling though. The underlying kernel infra for
tunneling has not been supporting BIG TCP up to this point.
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 011bf9d833caf..a1639ad53077e 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -1745,6 +1745,8 @@ static void geneve_setup(struct net_device *dev)
 	dev->max_mtu = IP_MAX_MTU - GENEVE_BASE_HLEN - dev->hard_header_len;
 
 	netif_keep_dst(dev);
+	netif_set_tso_max_size(dev, GSO_MAX_SIZE);
+
[Severity: High]
This is a pre-existing issue, but by enabling BIG TCP on Geneve, will it
expose a bug where valid BIG TCP packets are incorrectly dropped?

In geneve_post_decap_hint(), there is a legacy size check that rejects
packets aggregated by GRO to sizes >= 65536 bytes:

drivers/net/geneve.c:geneve_post_decap_hint() {
	...
	total_len = skb->len - gro_hint->nested_nh_offset;
	if (total_len >= GRO_LEGACY_MAX_SIZE)
		return -E2BIG;
	...
}

When BIG TCP is enabled and the Geneve tunnel is configured with gro_hint,
large flows are aggregated by GRO into packets exceeding 64KB. This will hit
the legacy check and return -E2BIG, causing packet loss for large flows.
 	dev->priv_flags &= ~IFF_TX_SKB_SHARING;
 	dev->priv_flags |= IFF_LIVE_ADDR_CHANGE | IFF_NO_QUEUE;
 	dev->lltx = true;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help