From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Ml9yPlNp; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by passt.top (Postfix) with ESMTP id 06C6F5A004E for ; Thu, 05 Dec 2024 21:06:35 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1733429195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qM3vUxUNSn4xAypSNSvcuQSKjl5cNBbrMm665nHwvzA=; b=Ml9yPlNp8Btg7QK90b94n4IpZEuvbqM+qXBTrJazpC9rJaqxohEHFAdG3VTTDJwZBHVCao r0tdpxyiTcq1SMEHpqUDeX9TWLmt7ddc1bQAZVCE7XDpf2YTqJXvisKQncaUyvs74uDvjl rCUsUmqIqLAKfQmE1yOVypdaBdTxJTc= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-625-gymla2sEN168NMEA1fKreQ-1; Thu, 05 Dec 2024 15:06:32 -0500 X-MC-Unique: gymla2sEN168NMEA1fKreQ-1 X-Mimecast-MFC-AGG-ID: gymla2sEN168NMEA1fKreQ Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-43498af79a6so7615835e9.0 for ; Thu, 05 Dec 2024 12:06:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733429190; x=1734033990; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=bqXVWElbkS3Np1KSFLD/K2G6DDzZ01gpJeXmfCiIxJI=; b=jiD+JQmNcqWPTY8YvRimldCcEByLStnNJHJ4CoSQwgb8KvJiIowftNZAjeIqEP96Sv qspWRG1Xpzkit6xCtVHSFObQ2s1jqtRQA5INKRRx34Ci52yNd/9p6EnUZW1YCuxc6dzk nfVZa4o2Yka+QjmNdM5Vpnq2JZWaBr8dArw3LkS5LcwxQlLKnwDxilgarQs0p+1AxKh3 u0n/WM9Jk6wh4LBKrrFixISwnghWDeBUEY+mGzFV1Gar69z9V4V2pewtTWG5Mg67K40v 9ggpFo3aNMc3Lv0vEgGXQDgDXtZrH2oCp4Y/CeeUmiVWUQ/qmD9hAW0CkmuJbtA2x2u6 z+YQ== X-Gm-Message-State: AOJu0YxiHxEM/2I0fcW5uvXICNLpKDDchO5hS63hNtJXKF808rc+bjr9 x/2zTbJYWB+KC0GfT3vAWRmi+X3Wo/EbYZazbC+ZQ8hZDPycyrinVb0mKi+EnUC+mMxIgJoLLDg T67yB5GrcM0JGi0dbu4dkiuxPqxKU5e3VnTnHKzXq1DCpuXFiCQnzlPetlloUTX3CHdFThMeeCe e87xRjQU7A18cMA2+S4PcoPxiVK7vFBQX5 X-Gm-Gg: ASbGnct7OZprluM2hu6iK/MKO0/4bcZrLgbx/mbgVGR88BmasIH+4HZprJ/ys7PLaq8 JweHM8evyQ1Bo+Lq418+XJ3N+s+p+IeFRmjBhbt5GeqH8WbX61o5s+jSSic42Cni76hbNWGt8Kz Z+GVDvzFmXg9eNUZ0ujAG76KQo3fT2gTRgJVPbR4EmTGWJXdJHNnjtxVNMo+oF7cajbS3ApsH0l 1/u93sGPPDj9C7/hXsoctNf2utnbIsGsH1HfnXa4d9gJgRaAj7mC/MMc8yeyw== X-Received: by 2002:a05:600c:a07:b0:434:9e73:51a1 with SMTP id 5b1f17b1804b1-434d92d5346mr38898615e9.14.1733429190109; Thu, 05 Dec 2024 12:06:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IFWYDowB/vtpybC0Bulv8XtzynQG+at9sVoWhaEX4yxpbcI/u7TOgYWrSoBHKWgSuJa6iySwQ== X-Received: by 2002:a05:600c:a07:b0:434:9e73:51a1 with SMTP id 5b1f17b1804b1-434d92d5346mr38898235e9.14.1733429189252; Thu, 05 Dec 2024 12:06:29 -0800 (PST) Received: from maya.myfinge.rs (ifcgrfdd.trafficplex.cloud. [2a10:fc81:a806:d6a9::1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-434d05b4909sm60009195e9.2.2024.12.05.12.06.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Dec 2024 12:06:27 -0800 (PST) Date: Thu, 5 Dec 2024 21:06:26 +0100 From: Stefano Brivio To: Jon Maloy Subject: Re: [PATCH v3] pasta: make it possible to disable socket splicing Message-ID: <20241205210626.4639b7a5@elisabeth> In-Reply-To: <20241203215302.3773941-1-jmaloy@redhat.com> References: <20241203215302.3773941-1-jmaloy@redhat.com> Organization: Red Hat X-Mailer: Claws Mail 4.2.0 (GTK 3.24.41; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: iT5xjLW39j8iKL0D6QCYUmvyiFyIgoEIGgPMF6tto74_1733429191 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: YUYB4TKN7E4UALV2H2L3ZGIXC4G3U7WT X-Message-ID-Hash: YUYB4TKN7E4UALV2H2L3ZGIXC4G3U7WT X-MailFrom: sbrivio@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top, lvivier@redhat.com, dgibson@redhat.com X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Tue, 3 Dec 2024 16:53:02 -0500 Jon Maloy wrote: > During testing it is sometimes useful to force traffic which would > normally be forwared by socket splicing through the tap interface. >=20 > In this commit, we add a command switch enabling such funtionality > for inbound local traffic. >=20 > For outbound local traffic this is much trickier, if even possible, > so leave that for a later commit. >=20 > Suggested-by: David Gibson > Signed-off-by: Jon Maloy >=20 > --- > v2: Some minor changes based on feedback from PASST team > v3: More changes based on feedback from D. Gibson and S. Brivio > -Moved new option to pasta-only section > -Added description to man-page > --- > conf.c | 7 ++++++- > fwd.c | 2 +- > passt.1 | 4 ++++ > passt.h | 2 ++ > 4 files changed, 13 insertions(+), 2 deletions(-) >=20 > diff --git a/conf.c b/conf.c > index eaa7d99..53f6770 100644 > --- a/conf.c > +++ b/conf.c > @@ -977,7 +977,8 @@ pasta_opts: > =09=09"=09=09=09Don't copy all routes to namespace\n" > =09=09" --no-copy-addrs=09DEPRECATED:\n" > =09=09"=09=09=09Don't copy all addresses to namespace\n" > -=09=09" --ns-mac-addr ADDR=09Set MAC address on tap interface\n"); > +=09=09" --ns-mac-addr ADDR=09Set MAC address on tap interface\n" > +=09=09" --no-splice=09=09Disable inbound socket splicing\n"); > =20 > =09exit(status); > } > @@ -1319,6 +1320,7 @@ void conf(struct ctx *c, int argc, char **argv) > =09=09{"no-dhcpv6",=09no_argument,=09=09&c->no_dhcpv6,=091 }, > =09=09{"no-ndp",=09no_argument,=09=09&c->no_ndp,=091 }, > =09=09{"no-ra",=09no_argument,=09=09&c->no_ra,=091 }, > +=09=09{"no-splice",=09no_argument,=09=09&c->no_splice,=091 }, > =09=09{"freebind",=09no_argument,=09=09&c->freebind,=091 }, > =09=09{"no-map-gw",=09no_argument,=09=09&no_map_gw,=091 }, > =09=09{"ipv4-only",=09no_argument,=09=09NULL,=09=09'4' }, > @@ -1756,6 +1758,9 @@ void conf(struct ctx *c, int argc, char **argv) > =09=09} > =09} while (name !=3D -1); > =20 > +=09if (c->mode =3D=3D MODE_PASST) > +=09=09c->no_splice =3D 1; Oops, sorry, I missed this during review, but tests caught it: this needs to be if (c->mode !=3D MODE_PASTA) to also include the MODE_VU case, otherwise: > + > =09if (c->mode =3D=3D MODE_PASTA && !c->pasta_conf_ns) { > =09=09if (copy_routes_opt) > =09=09=09die("--no-copy-routes needs --config-net"); > diff --git a/fwd.c b/fwd.c > index 0b7f8b1..2829cd2 100644 > --- a/fwd.c > +++ b/fwd.c > @@ -443,7 +443,7 @@ uint8_t fwd_nat_from_host(const struct ctx *c, uint8_= t proto, > =09else if (proto =3D=3D IPPROTO_UDP) > =09=09tgt->eport +=3D c->udp.fwd_in.delta[tgt->eport]; > =20 > -=09if (c->mode =3D=3D MODE_PASTA && inany_is_loopback(&ini->eaddr) && > +=09if (!c->no_splice && inany_is_loopback(&ini->eaddr) && ...this becomes true, and we eventually hit tcp_splice_conn_from_sock() with passt in vhost-user mode. > =09 (proto =3D=3D IPPROTO_TCP || proto =3D=3D IPPROTO_UDP)) { > =09=09/* spliceable */ Tests fail here (240 columns wide, you might need to copy and paste this): guest$ which socat ip jq >/dev/null = =E2=94=82St= arting tests in file: passt_vu_in_ns/tcp guest$ socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc = =E2=94=82 guest$ cmp test_big.bin /root/big.bin = =E2=94=82St= arting test: TCP/IPv4: host to guest: big transfer guest$ socat -u OPEN:/root/big.bin TCP4:192.0.2.1:10003 = =E2=94=82..= .passed. guest$ socat -u OPEN:/root/big.bin TCP4:192.0.2.2:10002 = =E2=94=82 guest$ socat -u TCP4-LISTEN:10001 OPEN:test_big.bin,create,trunc = =E2=94=82St= arting test: TCP/IPv4: host to ns (spliced): big transfer = =E2=94=82? = cmp /tmp/passt-tests-s5FGIm/passt_vu_in_ns/tcp/test_ns_big.bin /home/sbrivi= o/passt/test/big.bin =3D=3D> /home/sbrivio/passt/test/test_logs/context_qemu.log <=3D=3D = =E2= =94=82...passed. qemu-system-x86_64: Failed to set msg fds. = =E2=94=82 qemu-system-x86_64: vhost VQ 0 ring restore failed: -22: Invalid argument (= 22) =E2=94=82St= arting test: TCP/IPv4: guest to host: big transfer qemu-system-x86_64: Failed to set msg fds. = =E2=94=82? = cmp /tmp/passt-tests-s5FGIm/passt_vu_in_ns/tcp/test_big.bin /home/sbrivio/p= asst/test/big.bin qemu-system-x86_64: vhost VQ 1 ring restore failed: -22: Invalid argument (= 22) =E2=94=82..= .passed. = =E2=94=82 =E2=94=80=E2=94=80guest=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=A4Starting test: TCP/IPv4: guest to ns: big transfer enp9s0 = =E2=94=82? = cmp /tmp/passt-tests-s5FGIm/passt_vu_in_ns/tcp/test_ns_big.bin /home/sbrivi= o/passt/test/big.bin ns$ ip addr add 192.0.2.1/32 dev enp9s0 = =E2=94=82..= .passed. ns$ ip addr del 192.0.2.1/32 dev enp9s0 = =E2=94=82 ns$ ip addr add 2001:db8::1 dev enp9s0 && sleep 2 = =E2=94=82St= arting test: TCP/IPv4: ns to host (spliced): big transfer ns$ ip addr del 2001:db8::1 dev enp9s0 = =E2=94=82? = cmp /tmp/passt-tests-s5FGIm/passt_vu_in_ns/tcp/test_big.bin /home/sbrivio/p= asst/test/big.bin ns$ which socat ip jq >/dev/null = =E2=94=82..= .passed. ns$ socat -u TCP4-LISTEN:10002 OPEN:/tmp/passt-tests-s5FGIm/passt_vu_in_ns/= tcp/test_ns_big.bin,create,trunc =E2=94=82 ns$ socat -u TCP4-LISTEN:10002 OPEN:/tmp/passt-tests-s5FGIm/passt_vu_in_ns/= tcp/test_ns_big.bin,create,trunc =E2=94=82St= arting test: TCP/IPv4: ns to host (via tap): big transfer ns$ socat -u OPEN:/home/sbrivio/passt/test/big.bin TCP4:127.0.0.1:10003 = =E2=94=82? = cmp /tmp/passt-tests-s5FGIm/passt_vu_in_ns/tcp/test_big.bin /home/sbrivio/p= asst/test/big.bin ns$ socat -u OPEN:/home/sbrivio/passt/test/big.bin TCP4:192.0.2.1:10003 = =E2=94=82..= .passed. ns$ socat -u OPEN:/home/sbrivio/passt/test/big.bin TCP4:127.0.0.1:10001 = =E2=94=82 2024/12/05 20:46:19 socat[4796] E write(7, 0x564e4d181000, 8192): Connectio= n reset by peer =E2=94=82St= arting test: TCP/IPv4: ns to guest (using loopback address): big transfer ns$ = =E2=94=82 =E2=94=80=E2=94=80namespace=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=AC=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=B4=E2=94=80=E2= =94=80passt_vu_in_ns/tcp [7/32] - TCP/IPv4: ns to guest (using loopback add= ress): big transfer=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80 /' = =E2=94=82 2a01:4ff:ff00::ad= d:1 host$ ip -j -6 addr show|jq -rM '[.[] | select(.ifname =3D=3D "enp9s0").add= r_info[] | select(.scope =3D=3D "global" and .depreca=E2=94=82You can start= qemu with: ted !=3D true).local] | .[0]' = =E2=94=82 kvm ... -charde= v socket,id=3Dchr0,path=3D/tmp/passt-tests-s5FGIm/passt_in_ns/passt.socket = -netdev vhost-user,id=3Dnetdev0 2a01:4f8:222:904::2 = =E2=94=82,chardev=3Dchr0 -devi= ce virtio-net,netdev=3Dnetdev0 -object memory-backend-memfd,id=3Dmemfd0,sha= re=3Don,size=3D$RAMSIZE -numa nod host$ ip -j -6 route show|jq -rM '[.[] | select(.dst =3D=3D "default").gate= way] | .[0]' =E2=94=82e,memdev=3Dmemfd0 fe80::1 = =E2=94=82 host$ sed -n 's/^nameserver \([^:]*:\)\([^%]*\).*//p' /etc/resolv.conf | tr= ' =E2=94=82accepted connection f= rom PID 4763 ' ',' | sed 's/,$//;s/$/ = =E2=94=82=3D=3D4761=3D=3D Warn= ing: set address range perms: large range [0x59c8f000, 0x119c8f000) (define= d) /' = =E2=94=82=3D=3D4761=3D=3D Warn= ing: set address range perms: large range [0x119c8f000, 0x519c8f000) (defin= ed) 2a01:4ff:ff00::add:2,2a01:4ff:ff00::add:1 = =E2=94=82NDP: received RS, sen= ding RA host$ sed 's/\. / /g' /etc/resolv.conf | sed 's/\.$//g' | sed -n 's/^search= \(.*\)//p' | tr ' =E2=94=82DHCP: offer to discov= er ' ',' | sed 's/,$//;s/$/ = =E2=94=82 from 52:54:00:12:= 34:56 /' = =E2=94=82DHCP: ack to request host$ which socat ip jq >/dev/null = =E2=94=82 from 52:54:00:12:= 34:56 host$ socat -u OPEN:/home/sbrivio/passt/test/big.bin TCP4:127.0.0.1:10001 = =E2=94=82DHCPv6: received SOLI= CIT, sending ADVERTISE host$ socat -u OPEN:/home/sbrivio/passt/test/big.bin TCP4:127.0.0.1:10002 = =E2=94=82DHCPv6: received REQU= EST/RENEW/CONFIRM, sending REPLY host$ socat -u TCP4-LISTEN:10003 OPEN:/tmp/passt-tests-s5FGIm/passt_vu_in_n= s/tcp/test_big.bin,create,trunc =E2=94=82NDP: received NS, sen= ding NA host$ socat -u TCP4-LISTEN:10003 OPEN:/tmp/passt-tests-s5FGIm/passt_vu_in_n= s/tcp/test_big.bin,create,trunc =E2=94=82ASSERTION FAILED in t= cp_splice_conn_from_sock (tcp_splice.c:428): c->mode =3D=3D MODE_PASTA host$ socat -u TCP4-LISTEN:10003 OPEN:/tmp/passt-tests-s5FGIm/passt_vu_in_n= s/tcp/test_big.bin,create,trunc =E2=94=82Bad system call host$ = =E2=94=82 =E2=94=80=E2=94=80host=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=B4=E2=94=80=E2=94=80passt in pasta (namespace)=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80= =E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2= =94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94= =80=E2=94=80=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Testing commit: bae9a55 udp_vu: update segment size = = PASS: 166 | FAIL: 0 | 2024-12-05= T19:57:40+00:00 --=20 Stefano