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

Tim Whisonant tim.whisonant at canonical.com
Thu Dec 11 01:07:53 UTC 2025


On Wed, Dec 10, 2025 at 02:17:59PM +0100, Alessio Faina wrote:
> https://bugs.launchpad.net/bugs/1949484
> https://bugs.launchpad.net/bugs/1928890
> 
> 
> [ 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, afte rthe 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
> 
> 

Hi Alessio, just a couple of formatting things..

1) This line in this file has a misplaced space character:
                                            *
"test was failing every 3 to 5 minutes, afte rthe application of the"

2) I think you want the second 0/1 patch to be targeted for [N] instead
of [J].

If you want to submit a v2 for these, then please self-NACK this one.

Thanks!
Tim



More information about the kernel-team mailing list