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

Konstantin Khorenko khorenko at virtuozzo.com
Tue Oct 27 20:27:51 MSK 2026


From: Eva Kurchatova <eva.kurchatova at virtuozzo.com>

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>
Reviewed-by: Konstantin Khorenko <khorenko 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 375273572ecb4..4245522d42014 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.43.0



More information about the Devel mailing list