On Mon, 13 Jul 2026 11:57:50 +0200
Alessio Faina <[email protected]> wrote:

> In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
> the End.DT46 support is not available and the host_vpn_tests test contained
> in the srv6_end_dt46_l3vpn_test.sh file is failing in some kernel backports.
> This is the result of those tests:
> 
> ################################################################################
> TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
> ################################################################################
> 
>     TEST: IPv6 Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100)  [ 
> FAIL ]
> 
>     TEST: IPv4 Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100)  [ 
> FAIL ]
> 
>     TEST: IPv6 Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100)  [ 
> FAIL ]
> 
>     TEST: IPv4 Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100)  [ 
> FAIL ]
> 
>     TEST: IPv6 Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200)  [ 
> FAIL ]
> 
>     TEST: IPv4 Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200)  [ 
> FAIL ]
> 
>     TEST: IPv6 Hosts connectivity: hs-t200-4 -> hs-t200-3 (tenant 200)  [ 
> FAIL ]
> 
>     TEST: IPv4 Hosts connectivity: hs-t200-4 -> hs-t200-3 (tenant 200)  [ 
> FAIL ]
> 
> To amend this, check the current running iproute2 supports the required
> feature and, if not, just skip the test to avoid a failure.
> 
> 
> Signed-off-by: Alessio Faina <[email protected]>


Hi Alessio,

Thanks for the v2, the code looks good to me.

One question: since the check now exits the entire script before setup(),
should the subject drop the "::host_vpn_tests" part?

just a nit: test_iproute2_supp_or_ksft_skip() uses spaces, but most of this
file uses tabs.

Ciao
Andrea

> ---
> v2: 
>       - skip entire test suite if iproute2 is too old
> v1: 
> https://urldefense.com/v3/__https://lore.kernel.org/netdev/[email protected]/__;!!O5Bi4QcV!CGb1HmTUSZ4JwCff0mVcoY_KnoHJmrGDAdGnPOEYWRVFi-J05H-ZtpLVZBNK12kwLaNmhzw7mrQw4M_eY5uuSft8PRuFHqU$
>  
> 
>  .../testing/selftests/net/srv6_end_dt46_l3vpn_test.sh  | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh 
> b/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
> index a5e959a080bb..cd7ac03e3907 100755
> --- a/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
> @@ -536,6 +536,14 @@ host_vpn_isolation_tests()
>       done
>  }
>  
> +test_iproute2_supp_or_ksft_skip()
> +{
> +        if ! ip route add help 2>&1 | grep -qo "End.DT46"; then
> +                echo "SKIP: Missing SRv6 End.DT46 support in iproute2"
> +                exit "${ksft_skip}"
> +        fi
> +}
> +
>  if [ "$(id -u)" -ne 0 ];then
>       echo "SKIP: Need root privileges"
>       exit $ksft_skip
> @@ -546,6 +554,8 @@ if [ ! -x "$(command -v ip)" ]; then
>       exit $ksft_skip
>  fi
>  
> +test_iproute2_supp_or_ksft_skip
> +
>  modprobe vrf &>/dev/null
>  if [ ! -e /proc/sys/net/vrf/strict_mode ]; then
>          echo "SKIP: vrf sysctl does not exist"
> -- 
> 2.43.0
> 

Reply via email to