From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 3196980D0E for ; Tue, 27 Oct 2026 17:29:18 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RHS4qA031733; Tue, 27 Oct 2026 20:28:05 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RHS4qA031733 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="E+zkhmQX" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RHRvNE031705 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 27 Oct 2026 20:27:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RHRvNE031705 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48af5a07314so38656f8f.2 for ; Tue, 27 Oct 2026 10:27:57 -0700 (PDT) X-Gm-Message-State: AFq9FYIcU0CPwGvd62zYwBOnOjJ9VtbaZhtG02BDRkG2cGvj47J9zUF5 dEqBWJ7LTPCfMAzTr0wn/0Toag91SoyNYbRPQXcWt9R/lBDlVufEnBk8Wt2JmTZUuuC70++bnHY krQgPJzPqgGb2KJrOxnwZ73icsFNkDMfFUoUErjOHdfHX2+q6wOF4/A== X-Gm-Gg: AYBFou3MOHSly0PoXd+gLN/OFfwhyRDz/FhLwoNn+tsiyfCcykOgcn1zxqZEwwQl2sm tvzYEubAFVf6emcrmCPS/9dW6D/Q9D5wOVfNNTat80BG+nEDJ2S1x2FqT51RMufyfMCRrhQeCkD 5KFfCH61k9eD1Mxs8S9dO7Ja2UOnzHLbkc6P5jhfmDjBZ/HFt7zu4SaF5lYJ0WsezcGQpdlwNwS Vnb2l6DEcDTruV8CIFQ76QYzdiyoXhoqhCT5pk+vmpTWdwRh6xtJiDqzg5giOB6g45tQqzLhr2s ZnDAfEnmwQdBcq6QrY/uRbY4czaNiP0FVgTGdFdcJm2a6gk4p+wACWaIuVPYIYOeiTiw1eJ9cFD 83Lu9fEhn8cXwXx9q X-Received: by 2002:a05:6000:2502:b0:488:7496:15b5 with SMTP id ffacd0b85a97d-48e5d5ada48mr230872f8f.47.1793122077437; Tue, 27 Oct 2026 10:27:57 -0700 (PDT) X-Received: by 2002:a05:6000:2502:b0:488:7496:15b5 with SMTP id ffacd0b85a97d-48e5d5ada48mr230787f8f.47.1793122076682; Tue, 27 Oct 2026 10:27:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793122076; cv=none; d=google.com; s=arc-20260327; b=M2dZoRgCYEB4VtUNgN7Axlgf77ga8hBvR3qMuvzw0B9h3Xpw1aJYqMp4dynMIg51+L iiNE0kxV7QAcv79qGSLdkTpD7EjGNIJ3slN8qr9R7aXnFWVZWACpdOTSJFCQs7vFwSgs j26sEfWjl359oVhgCRVc7DK50Bckq7VgVRpVfo12IZW5176bn0ZVGp6YF6EAtyFrt9pJ GrGUaZHSBaMM2Ay2dsSeWoAqmn3S+2rZHfUqmGmgN9x/e25KC7368U2yWtEBS2ktHeLd kOzzpKTV4334Xs9e6nGI+XcLlSGScBeCXzqY4cXxNnk4DR4Ss8JVH3SQIsEwMef82Jc0 upEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:dkim-signature; bh=LJWQcMp9YtkgtZFA7KkCNJ42toG9MRN+typSmudZdHk=; fh=496U6L74gpQuvqOBbA5zrz+GM8420zELyytyetWuBXk=; b=mj/nbqPF2kDZaQZo3tEHhksf4ZNmY+f05sPHc+a4gOscos/mZHNMAOdwlBD5CCihn1 EBxhOdp9FLdfSwIuLAdLJoMZBPE9vG5wXN9d6Y/aBe0ME9nN4mTJh0JKp49CeOehx1pl CzlFs0O0Ebwu3Pt9nLnHKB/zNFKcQZTfUwqfR6QqAZ9uboAHbHFLXFNV6LIzlcazkj3n hqGXFK6fhgl16s6t4y9xLBSmerjQfD4+VlWMPheRoa5dEvNcRdv7HKmqOdU1luQdt8rK X1WS/9DyVE3j8r4gD0C45kNjyYMX/x0WQuJY3gPPD85m8RpW44c6Y4m23uj2+BFQI1tj R81Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=E+zkhmQX; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ecdb491si20345792f8f.72.2026.10.27.10.27.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2026 10:27:56 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=E+zkhmQX; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Message-Id:Content-Type:MIME-Version:Subject:Date :From; bh=LJWQcMp9YtkgtZFA7KkCNJ42toG9MRN+typSmudZdHk=; b=E+zkhmQXwNG+PfjgnP1 nKzA6V2DTbP03wcovAgOP/EoezOHr5SUwFhxL2Xf7OaFjdkKGBXdvxrhq6LVpvl+VQ7s9ca7UcBe6 yEYdxjGvKKuM5zusklyfHBM8Y9+1JmK34nzs2/qx6TgwuUEOgp7n5BW89cxw0IT8sVK89G9Pgf9Qh niG4olxJQEsXzMSMsizr4l9hl/iUKxy/jKcZss3QtHtCx6x4YNyESR9ADuJDl5Ur2etwYQd9BOziI wCJhh1rFBslHoTNq+IvnBXVL+iZRc1s75FhUWfzQn8wkGe9ebJlm9r5++uRjqulTYQ5hbUErPt3v+ tg5yiaaReBFpD/w==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xLku3-000dYJ-1P; Tue, 27 Oct 2026 18:27:46 +0100 From: Konstantin Khorenko Date: Tue, 27 Oct 2026 18:27:50 +0100 MIME-Version: 1.0 Message-Id: <20261027-b4-prep-khorenko-vstor-151678-veth-udp-gro-fwd-v2-1-33d8d5c1f257@virtuozzo.com> References: <20261027-b4-prep-khorenko-vstor-151678-veth-udp-gro-fwd-v2-0-33d8d5c1f257@virtuozzo.com> In-Reply-To: <20261027-b4-prep-khorenko-vstor-151678-veth-udp-gro-fwd-v2-0-33d8d5c1f257@virtuozzo.com> To: Eva Kurchatova X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=3767; i=khorenko@virtuozzo.com; h=from:subject:message-id; bh=OFCAVRpQx4AmBqBmSZcRBQQKuWECMtat783Q0LOsUmk=; b=owEBbQKS/ZANAwAKAVGWCkf5YVwqAcsmYgBq4N8bhL1vpeG8IekdlZwyaTVJxi1Y7215eBOT1 fpdws4Ho5yJAjMEAAEKAB0WIQRWD23IPcXT0GO9CCxRlgpH+WFcKgUCauDfGwAKCRBRlgpH+WFc Kpy1D/90PGJM77eFlg29DNx0FT3xwgDh4RH60K1jb7bfSoxMQ7C9EtGGYTPq8vq3/zUWS/MzeNU HNXMkcR204qBIzg9eULT7wAnSv3V4KuVmtsYbn5XPVZEc3iYGbqGKsBHbZfG5cHoJbK/YxToMLa Fm66jr/bE77OzCyR7ZTs+h9ZMTWUP38GxngzD8AjDtCvikY1+V0SMmJxvSMr9lazYM4LgRSGjqb s0+dSRWsOXBCQ8nJBHb/v8vgVMsJ9p8tafn+5SlkN8hj1vBCwGxeqNVoQqsvvJ2DNyblR8xeKuU AUIKctHyuS9f83Ls44xeCpTCreIcxB+mZ6Byy6NsLRA8eDOSFv+zz74K1Leza6M7bqkMTcOzbW9 ZjnwU6uslume1eHoEUoVRiEvl/fZhL/hUaptSDatkJkb1BbdV5KnCtesMKYE//wOTm09OgKANIr 15RHKJFeRtQrrhe5yAAwPVNWOWfHXm84CHIA+/gZUZjEIR/qh6ypGSgOTUvSFTNgZ3m4MmjHOb8 P3KCnNzskVhjJfBE7oTn3U+L/uIogIgm9+UR1Q07K6Nqoscb7/+OKnqeiH23lAGdjl6eeQ24QRm 5+IJejGoEFHkQ5ATQcgyso4QefduYSpO3pCIZ5DdkOBiPZJmlD9fXIoVx9WNoJ+sxJC+6GFRNQF ziJmrNCTuDi4IEQ== X-Developer-Key: i=khorenko@virtuozzo.com; a=openpgp; fpr=560F6DC83DC5D3D063BD082C51960A47F9615C2A X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v2 1/2] selftests: net: veth: check UDP GRO forwarding on forwarded traffic X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org From: Eva Kurchatova The rx-udp-gro-forwarding checks fail with "got 10 packets, expected 1" on a host with a UDP tunnel or UDP_GRO socket open, a vxlan say, and pass on a host without one. Since commit f2e9de210d50 ("udp: gro behind static key") GRO looks the receiving socket up only while such a socket exists, in any netns. Since commit 36707061d6ba ("udp: allow forwarding of plain (non-fraglisted) UDP GRO packets") the feature aggregates only datagrams GRO finds no socket for. The checks send to a socket in the receiving namespace, so they pass only while GRO does not look it up. This tree made them pass by changing the kernel instead, in commit 8ce3afeec4ca ("udp: let rx-udp-gro-forwarding aggregate under encapsulation"), which upstream did not take. Let the destination forward the datagrams to a receiver in a namespace behind it: no socket is found there, whatever the host runs, and the checks count what the destination receives as before. Suggested-by: Willem de Bruijn Link: https://lore.kernel.org/netdev/CAF=yD-LZSec9g_0bBgrcQvq2OO1BrxMSRHH=uU7eamCmWcTO_A@mail.gmail.com/ https://virtuozzo.atlassian.net/browse/VSTOR-151678 Feature: fix selftests Signed-off-by: Eva Kurchatova Signed-off-by: Konstantin Khorenko --- tools/testing/selftests/net/veth.sh | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/veth.sh b/tools/testing/selftests/net/veth.sh index 6bb7dfaa30b6a..87d11f854221f 100755 --- a/tools/testing/selftests/net/veth.sh +++ b/tools/testing/selftests/net/veth.sh @@ -9,10 +9,13 @@ readonly DST=1 readonly DST_NAT=100 readonly NS_SRC=$BASE$SRC readonly NS_DST=$BASE$DST +readonly RCV=3 +readonly NS_RCV=$BASE$RCV # "baremetal" network used for raw UDP traffic readonly BM_NET_V4=192.168.1. readonly BM_NET_V6=2001:db8:: +readonly RCV_NET_V4=192.168.2. readonly CPUS=`nproc` ret=0 @@ -24,7 +27,7 @@ cleanup() { [ -n "${jobs}" ] && kill -1 ${jobs} 2>/dev/null rm -f $STATS - for ns in $NS_SRC $NS_DST; do + for ns in $NS_SRC $NS_DST $NS_RCV; do ip netns del $ns 2>/dev/null done } @@ -46,6 +49,17 @@ create_ns() { ip -n $BASE$ns addr add dev veth$ns $BM_NET_V4$ns/24 ip -n $BASE$ns addr add dev veth$ns $BM_NET_V6$ns/64 nodad done + + # Forwarded, the datagrams find no local socket, whatever the host runs + ip netns add $NS_RCV + ip -n $NS_RCV link set dev lo up + ip -n $NS_DST link add name fwd$DST type veth peer name fwd$RCV netns $NS_RCV + ip -n $NS_DST link set dev fwd$DST up + ip -n $NS_RCV link set dev fwd$RCV up + ip -n $NS_DST addr add dev fwd$DST $RCV_NET_V4$DST/24 + ip -n $NS_RCV addr add dev fwd$RCV $RCV_NET_V4$RCV/24 + ip netns exec $NS_DST sysctl -wq net.ipv4.ip_forward=1 + ip -n $NS_RCV route add default via $RCV_NET_V4$DST } __chk_flag() { @@ -101,15 +115,17 @@ chk_gro() { local msg="$1" local expected=$2 - ip netns exec $BASE$SRC ping -qc 1 $BM_NET_V4$DST >/dev/null + # Taking veth$SRC down drops the route, so set it for every check + ip -n $NS_SRC route replace ${RCV_NET_V4}0/24 via $BM_NET_V4$DST + ip netns exec $BASE$SRC ping -qc 1 $RCV_NET_V4$RCV >/dev/null NSTAT_HISTORY=$STATS ip netns exec $NS_DST nstat -n printf "%-60s" "$msg" - ip netns exec $BASE$DST ./udpgso_bench_rx -C 1000 -R 10 & + ip netns exec $NS_RCV ./udpgso_bench_rx -C 1000 -R 10 & local spid=$! sleep 0.1 - ip netns exec $NS_SRC ./udpgso_bench_tx -4 -s 13000 -S 1300 -M 1 -D $BM_NET_V4$DST + ip netns exec $NS_SRC ./udpgso_bench_tx -4 -s 13000 -S 1300 -M 1 -D $RCV_NET_V4$RCV local retc=$? wait $spid local rets=$? -- 2.43.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel