ACK: [SRU][J/N][PATCH v2 0/2] ubuntu_kselftests_net/vrf_route_leaking.sh fails on 5.15 and 6.8 (LP: 1949484 / 1928890)

Mehmet Basaran mehmet.basaran at canonical.com
Fri Dec 12 13:04:05 UTC 2025


Acked-by: Mehmet Basaran <mehmet.basaran at canonical.com>

-------------- next part --------------
Alessio Faina <alessio.faina at canonical.com> writes:

> https://bugs.launchpad.net/bugs/1949484
> https://bugs.launchpad.net/bugs/1928890
>
> v2 -> Fixed header of Noble patchset
>
> [ Impact ]
>
> During the run of kernel selftests, the
> ubuntu_kselftests_net/vrf_route_leaking.sh may fail from time to time
> due to a timing issue.
> When a new network namespace is created, it might take more that the
> choosen 2 seconds delay, and it can appear as two types of failures:
>
> TEST: Basic IPv6 connectivity [FAIL]
>
> and possibly
>
> TEST: Ping received ICMP Packet too big [FAIL]
>
> The second failure is subordinated to the first one, as the network is
> not ready yet to send/receive packets.
>
> [ Fix ]
>
> An upstream patch has been already merged to the linux kernel: 
> * SHA d83a5806759278c4898cd7c2116432e5b08df1df from upstream
>
> For noble this is a clean cherry-pick. 
>
> For Jammy another set of patches was needed to import the "slowwait" function.
> The original patch cleanly applies, but the commits a4022a332f437, 
> 25ae948b44788 and ea63ac1429256 were partially backported to add this
> functionality.
>
> [ Test Plan ]
>
> The new vrf_route_leaking.sh script has been continuously run on a Noble
> and a Jammy VMs for multiple hours: before the patch was applied the
> test was failing every 3 to 5 minutes, after the application of the
> patch, there was no observable failure for more than 2 hours.
>
> Basic test result
>
> root at ubuntu-jammy:~/linux-5.15/tools/testing/selftests/net# ./vrf_route_leaking.sh 
>
> ###########################################################################
> IPv4 (sym route): VRF ICMP ttl error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv4 connectivity                                       [ OK ]
> TEST: Ping received ICMP ttl exceeded                               [ OK ]
>
> ###########################################################################
> IPv4 (sym route): VRF ICMP error route lookup traceroute
> ###########################################################################
>
> TEST: Basic IPv4 connectivity                                       [ OK ]
> TEST: Traceroute reports a hop on r1                                [ OK ]
>
> ###########################################################################
> IPv4 (sym route): VRF ICMP fragmentation error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv4 connectivity                                       [ OK ]
> TEST: Ping received ICMP Frag needed                                [ OK ]
>
> ###########################################################################
> IPv4 (asym route): VRF ICMP ttl error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv4 connectivity                                       [ OK ]
> TEST: Ping received ICMP ttl exceeded                               [ OK ]
>
> ###########################################################################
> IPv4 (asym route): VRF ICMP error route lookup traceroute
> ###########################################################################
>
> TEST: Basic IPv4 connectivity                                       [ OK ]
> TEST: Traceroute reports a hop on r1                                [ OK ]
>
> ###########################################################################
> IPv6 (sym route): VRF ICMP ttl error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv6 connectivity                                       [ OK ]
> TEST: Ping received ICMP Hop limit                                  [ OK ]
>
> ###########################################################################
> IPv6 (sym route): VRF ICMP error route lookup traceroute
> ###########################################################################
>
> TEST: Basic IPv6 connectivity                                       [ OK ]
> TEST: Traceroute6 reports a hop on r1                               [ OK ]
>
> ###########################################################################
> IPv6 (sym route): VRF ICMP fragmentation error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv6 connectivity                                       [ OK ]
> TEST: Ping received ICMP Packet too big                             [ OK ]
>
> ###########################################################################
> IPv6 (asym route): VRF ICMP ttl error route lookup ping
> ###########################################################################
>
> TEST: Basic IPv6 connectivity                                       [ OK ]
> TEST: Ping received ICMP Hop limit                                  [ OK ]
>
> ###########################################################################
> IPv6 (asym route): VRF ICMP error route lookup traceroute
> ###########################################################################
>
> TEST: Basic IPv6 connectivity                                       [ OK ]
> TEST: Traceroute6 reports a hop on r1                               [ OK ]
>
> Tests passed:  20
> Tests failed:   0
> root at ubuntu-jammy:~/linux-5.15/tools/testing/selftests/net# 
>
> The test were conducted using the following script:
>
> root at ubuntu-jammy:~/linux-5.15/tools/testing/selftests/net# cat continuous_vrf_test.sh
> #!/bin/bash
> i=0
> SECONDS=0
> cleanup() {
> 	echo ""
> 	echo $i
> 	duration=$SECONDS
> 	echo "$((duration / 60)) minutes and $((duration % 60)) seconds elapsed."
> }
>
> stats() {
> 	echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
> 	echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
> 	echo $i
> 	duration=$SECONDS
> 	echo "$((duration / 60)) minutes and $((duration % 60)) seconds elapsed."
> 	echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
> 	echo "+++++++++++++++++++++++++++++++++++++++++++++++++++"
> }
>
> trap cleanup INT
> while [ true ];
> do
> 	./vrf_route_leaking.sh
> 	if [ ! "$?" == "0" ];
> 	then
> 		stats
> 		break;
> 	fi
> 	((i++))
> 	stats
> done
>
> After 2 hours, there was no trace of errors on both Jammy and Noble VMs.
>
>
> [ Regression potential ]
>
> No regression can happen, as the patch is only applied to the selftest
> scripts.
>
>
> -- 
> 2.43.0
>
>
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 873 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20251212/352b5b48/attachment.sig>


More information about the kernel-team mailing list