[Devel] [PATCH hci-8.1 2/2] Revert "udp: let rx-udp-gro-forwarding aggregate under encapsulation"

Eva Kurchatova eva.kurchatova at virtuozzo.com
Mon Oct 26 15:06:25 MSK 2026


This reverts commit 8ce3afeec4cab80d99076986395ac93e891d1df6.

The change made rx-udp-gro-forwarding aggregate for a socket the lookup
found, which the feature never meant: it is for packets no local socket
takes. A found tunnel socket without its own GRO, wireguard or L2TP, had
its packets aggregated and segmented again on delivery, work the host
never did before. The veth.sh checks it was made for expect local
delivery aggregated, which only happens where nothing looks the socket
up; the test was wrong there, not the kernel, and the previous patch
fixes the test. Withdrawn upstream on the same grounds.

Link: https://lore.kernel.org/netdev/179180161935.434549.5518274080541032248@kernel.org/
https://virtuozzo.atlassian.net/browse/VSTOR-151678
Feature: fix ms/udp
Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
---
 net/ipv4/udp_offload.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c
index 375273572ecb..4245522d4201 100644
--- a/net/ipv4/udp_offload.c
+++ b/net/ipv4/udp_offload.c
@@ -650,7 +650,7 @@ struct sk_buff *udp_gro_receive(struct list_head *head, struct sk_buff *skb,
 		if (skb->dev->features & NETIF_F_GRO_FRAGLIST)
 			NAPI_GRO_CB(skb)->is_flist = sk ? !udp_test_bit(GRO_ENABLED, sk) : 1;
 
-		if ((skb->dev->features & NETIF_F_GRO_UDP_FWD) ||
+		if ((!sk && (skb->dev->features & NETIF_F_GRO_UDP_FWD)) ||
 		    (sk && udp_test_bit(GRO_ENABLED, sk)) || NAPI_GRO_CB(skb)->is_flist)
 			return call_gro_receive(udp_gro_receive_segment, head, skb);
 
-- 
2.56.0



More information about the Devel mailing list