On Wed,  8 Jul 2026 17:27:45 +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]>
> ---
>  .../selftests/net/srv6_end_dt46_l3vpn_test.sh       | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> 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..406c6a3d253e 100755
> --- a/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dt46_l3vpn_test.sh
> @@ -510,12 +510,15 @@ host2gateway_tests()
>  host_vpn_tests()
>  {
>       log_section "SRv6 VPN connectivity test among hosts in the same tenant"
> +     if ip route add help 2>&1 | grep -q -i End.DT46; then
> +             check_and_log_hs_connectivity 1 2 100
> +             check_and_log_hs_connectivity 2 1 100
>  
> -     check_and_log_hs_connectivity 1 2 100
> -     check_and_log_hs_connectivity 2 1 100
> -
> -     check_and_log_hs_connectivity 3 4 200
> -     check_and_log_hs_connectivity 4 3 200
> +             check_and_log_hs_connectivity 3 4 200
> +             check_and_log_hs_connectivity 4 3 200
> +     else
> +             echo "SKIP: SRv6 End.DT46 is unsupported by the installed 
> iproute2 version"
> +     fi
>  }

Hi Alessio,

Rather than inlining the check inside host_vpn_tests(), I think it would be
better to follow the pattern already used in srv6_hencap_red_l3vpn_test.sh,
where test_iproute2_supp_or_ksft_skip() is called before setup(). A similar
function here could exit the whole script with $ksft_skip if End.DT46 is not
supported by the installed iproute2.

Thanks,

Ciao
Andrea

Reply via email to