* [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
@ 2026-08-24 9:15 Alessio Faina
2026-08-25 8:39 ` Hangbin Liu
2026-08-25 22:01 ` Andrea Mayer
0 siblings, 2 replies; 7+ messages in thread
From: Alessio Faina @ 2026-08-24 9:15 UTC (permalink / raw)
To: andrea.mayer
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel
In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
the End.DT4/DT6/DX4/DX6 support are not available and the tests
contained in the following 4 test files
- srv6_end_dt4_l3vpn_test.sh
- srv6_end_dt6_l3vpn_test.sh
- srv6_end_dx4_netfilter_test.sh
- srv6_end_dx6_netfilter_test.sh
are failing in some kernel backports.
This is the result of one those tests in an unsupported environment:
\################################################################################
\TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
\################################################################################
\
\ TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
\
\ TEST: Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100) [FAIL]
\
\ TEST: Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200) [FAIL]
\
\ TEST: 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 entire test to avoid a failure.
This is similar to what have been done for srv6_end_dt46_l3vpn_test.sh in
https://patchwork.kernel.org/project/netdevbpf/patch/20260715122859.36177-1-alessio.faina@canonical.com/
Signed-off-by: Alessio Faina <alessio.faina@canonical.com>
---
tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh | 10 ++++++++++
tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh | 10 ++++++++++
tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh | 10 ++++++++++
tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh | 10 ++++++++++
4 files changed, 40 insertions(+)
diff --git a/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh b/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
index a649dba3cb77..50e8c733cf9f 100755
--- a/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
+++ b/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
@@ -459,6 +459,14 @@ host_vpn_isolation_tests()
done
}
+test_iproute2_supp_or_ksft_skip()
+{
+ if ! ip route help 2>&1 | grep -qo "End.DT4"; then
+ echo "SKIP: Missing SRv6 End.DT4 support in iproute2"
+ exit "${ksft_skip}"
+ fi
+}
+
if [ "$(id -u)" -ne 0 ];then
echo "SKIP: Need root privileges"
exit $ksft_skip
@@ -469,6 +477,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"
diff --git a/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh b/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
index e408406d8489..9ed985559c6b 100755
--- a/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
+++ b/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
@@ -469,6 +469,14 @@ host_vpn_isolation_tests()
done
}
+test_iproute2_supp_or_ksft_skip()
+{
+ if ! ip route help 2>&1 | grep -qo "End.DT6"; then
+ echo "SKIP: Missing SRv6 End.DT6 support in iproute2"
+ exit "${ksft_skip}"
+ fi
+}
+
if [ "$(id -u)" -ne 0 ];then
echo "SKIP: Need root privileges"
exit $ksft_skip
@@ -479,6 +487,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"
diff --git a/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh b/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
index e23210aa547f..b0bc85db8353 100755
--- a/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
+++ b/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
@@ -311,6 +311,14 @@ router_netfilter_tests()
check_and_log_hs_connectivity 2 1 100
}
+test_iproute2_supp_or_ksft_skip()
+{
+ if ! ip route help 2>&1 | grep -qo "End.DX4"; then
+ echo "SKIP: Missing SRv6 End.DX4 support in iproute2"
+ exit "${ksft_skip}"
+ fi
+}
+
if [ "$(id -u)" -ne 0 ];then
echo "SKIP: Need root privileges"
exit $ksft_skip
@@ -321,6 +329,8 @@ if [ ! -x "$(command -v ip)" ]; then
exit $ksft_skip
fi
+test_iproute2_supp_or_ksft_skip
+
cleanup &>/dev/null
setup
diff --git a/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh b/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
index 9e69a2ed5bc3..9bfbc5bbbdeb 100755
--- a/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
+++ b/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
@@ -316,6 +316,14 @@ router_netfilter_tests()
check_and_log_hs_connectivity 2 1 100
}
+test_iproute2_supp_or_ksft_skip()
+{
+ if ! ip route help 2>&1 | grep -qo "End.DX6"; then
+ echo "SKIP: Missing SRv6 End.DX6 support in iproute2"
+ exit "${ksft_skip}"
+ fi
+}
+
if [ "$(id -u)" -ne 0 ];then
echo "SKIP: Need root privileges"
exit $ksft_skip
@@ -326,6 +334,8 @@ if [ ! -x "$(command -v ip)" ]; then
exit $ksft_skip
fi
+test_iproute2_supp_or_ksft_skip
+
cleanup &>/dev/null
setup
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-24 9:15 [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old Alessio Faina
@ 2026-08-25 8:39 ` Hangbin Liu
2026-08-25 8:45 ` Hangbin Liu
2026-08-25 22:01 ` Andrea Mayer
1 sibling, 1 reply; 7+ messages in thread
From: Hangbin Liu @ 2026-08-25 8:39 UTC (permalink / raw)
To: Alessio Faina
Cc: andrea.mayer, davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel
On Mon, Aug 24, 2026 at 11:15:37AM +0200, Alessio Faina wrote:
> In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
> the End.DT4/DT6/DX4/DX6 support are not available and the tests
> contained in the following 4 test files
> - srv6_end_dt4_l3vpn_test.sh
> - srv6_end_dt6_l3vpn_test.sh
> - srv6_end_dx4_netfilter_test.sh
> - srv6_end_dx6_netfilter_test.sh
> are failing in some kernel backports.
> This is the result of one those tests in an unsupported environment:
>
> \################################################################################
> \TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
> \################################################################################
> \
> \ TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
> \
> \ TEST: Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100) [FAIL]
> \
> \ TEST: Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200) [FAIL]
> \
> \ TEST: 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 entire test to avoid a failure.
>
> This is similar to what have been done for srv6_end_dt46_l3vpn_test.sh in
> https://patchwork.kernel.org/project/netdevbpf/patch/20260715122859.36177-1-alessio.faina@canonical.com/
>
> Signed-off-by: Alessio Faina <alessio.faina@canonical.com>
> ---
> tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh | 10 ++++++++++
> tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh | 10 ++++++++++
> tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh | 10 ++++++++++
> tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh | 10 ++++++++++
> 4 files changed, 40 insertions(+)
>
> diff --git a/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh b/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
> index a649dba3cb77..50e8c733cf9f 100755
> --- a/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dt4_l3vpn_test.sh
> @@ -459,6 +459,14 @@ host_vpn_isolation_tests()
> done
> }
>
> +test_iproute2_supp_or_ksft_skip()
> +{
> + if ! ip route help 2>&1 | grep -qo "End.DT4"; then
> + echo "SKIP: Missing SRv6 End.DT4 support in iproute2"
> + exit "${ksft_skip}"
> + fi
> +}
> +
> if [ "$(id -u)" -ne 0 ];then
> echo "SKIP: Need root privileges"
> exit $ksft_skip
> @@ -469,6 +477,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"
> diff --git a/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh b/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
> index e408406d8489..9ed985559c6b 100755
> --- a/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dt6_l3vpn_test.sh
> @@ -469,6 +469,14 @@ host_vpn_isolation_tests()
> done
> }
>
> +test_iproute2_supp_or_ksft_skip()
> +{
> + if ! ip route help 2>&1 | grep -qo "End.DT6"; then
> + echo "SKIP: Missing SRv6 End.DT6 support in iproute2"
> + exit "${ksft_skip}"
> + fi
> +}
> +
> if [ "$(id -u)" -ne 0 ];then
> echo "SKIP: Need root privileges"
> exit $ksft_skip
> @@ -479,6 +487,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"
> diff --git a/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh b/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
> index e23210aa547f..b0bc85db8353 100755
> --- a/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dx4_netfilter_test.sh
> @@ -311,6 +311,14 @@ router_netfilter_tests()
> check_and_log_hs_connectivity 2 1 100
> }
>
> +test_iproute2_supp_or_ksft_skip()
> +{
> + if ! ip route help 2>&1 | grep -qo "End.DX4"; then
> + echo "SKIP: Missing SRv6 End.DX4 support in iproute2"
> + exit "${ksft_skip}"
> + fi
> +}
> +
> if [ "$(id -u)" -ne 0 ];then
> echo "SKIP: Need root privileges"
> exit $ksft_skip
> @@ -321,6 +329,8 @@ if [ ! -x "$(command -v ip)" ]; then
> exit $ksft_skip
> fi
>
> +test_iproute2_supp_or_ksft_skip
> +
> cleanup &>/dev/null
>
> setup
> diff --git a/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh b/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
> index 9e69a2ed5bc3..9bfbc5bbbdeb 100755
> --- a/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
> +++ b/tools/testing/selftests/net/srv6_end_dx6_netfilter_test.sh
> @@ -316,6 +316,14 @@ router_netfilter_tests()
> check_and_log_hs_connectivity 2 1 100
> }
>
> +test_iproute2_supp_or_ksft_skip()
> +{
> + if ! ip route help 2>&1 | grep -qo "End.DX6"; then
> + echo "SKIP: Missing SRv6 End.DX6 support in iproute2"
> + exit "${ksft_skip}"
> + fi
> +}
> +
> if [ "$(id -u)" -ne 0 ];then
> echo "SKIP: Need root privileges"
> exit $ksft_skip
> @@ -326,6 +334,8 @@ if [ ! -x "$(command -v ip)" ]; then
> exit $ksft_skip
> fi
>
> +test_iproute2_supp_or_ksft_skip
> +
> cleanup &>/dev/null
>
> setup
> --
> 2.43.0
>
LGTM
Reviewed-by: Hangbin Liu <liuhangbin@kylinos.cn>
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-25 8:39 ` Hangbin Liu
@ 2026-08-25 8:45 ` Hangbin Liu
0 siblings, 0 replies; 7+ messages in thread
From: Hangbin Liu @ 2026-08-25 8:45 UTC (permalink / raw)
To: Alessio Faina
Cc: andrea.mayer, davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel
On Tue, Aug 25, 2026 at 04:39:55PM +0800, Hangbin Liu wrote:
> On Mon, Aug 24, 2026 at 11:15:37AM +0200, Alessio Faina wrote:
> > In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
> > the End.DT4/DT6/DX4/DX6 support are not available and the tests
> > contained in the following 4 test files
> > - srv6_end_dt4_l3vpn_test.sh
> > - srv6_end_dt6_l3vpn_test.sh
> > - srv6_end_dx4_netfilter_test.sh
> > - srv6_end_dx6_netfilter_test.sh
> > are failing in some kernel backports.
> > This is the result of one those tests in an unsupported environment:
> >
> > \################################################################################
> > \TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
> > \################################################################################
> > \
> > \ TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
> > \
> > \ TEST: Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100) [FAIL]
> > \
> > \ TEST: Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200) [FAIL]
> > \
> > \ TEST: 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 entire test to avoid a failure.
> >
> > This is similar to what have been done for srv6_end_dt46_l3vpn_test.sh in
> > https://patchwork.kernel.org/project/netdevbpf/patch/20260715122859.36177-1-alessio.faina@canonical.com/
> >
> > Signed-off-by: Alessio Faina <alessio.faina@canonical.com>
> >
>
> LGTM
>
> Reviewed-by: Hangbin Liu <liuhangbin@kylinos.cn>
Oh, I just noticed this patch is better for net‑next.
Please wait for Jakub's reply. If not, You need to re-post it once net-next
opens again (Aug 31th).
Thanks
Hangbin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-24 9:15 [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old Alessio Faina
2026-08-25 8:39 ` Hangbin Liu
@ 2026-08-25 22:01 ` Andrea Mayer
2026-08-26 11:49 ` Alessio Faina
1 sibling, 1 reply; 7+ messages in thread
From: Andrea Mayer @ 2026-08-25 22:01 UTC (permalink / raw)
To: Alessio Faina
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel, hangbin.liu, stefano.salsano,
Andrea Mayer
On Mon, 24 Aug 2026 11:15:37 +0200
Alessio Faina <alessio.faina@canonical.com> wrote:
Hi Alessio,
Thanks for the patch.
> In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
> the End.DT4/DT6/DX4/DX6 support are not available and the tests
> contained in the following 4 test files
> - srv6_end_dt4_l3vpn_test.sh
> - srv6_end_dt6_l3vpn_test.sh
> - srv6_end_dx4_netfilter_test.sh
> - srv6_end_dx6_netfilter_test.sh
> are failing in some kernel backports.
> This is the result of one those tests in an unsupported environment:
>
> \################################################################################
> \TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
> \################################################################################
> \
> \ TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
> \
> \ TEST: Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100) [FAIL]
> \
> \ TEST: Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200) [FAIL]
> \
> \ TEST: 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 entire test to avoid a failure.
>
Which kernel were you running when you saw these failures?
Did the ip route add commands that install the seg6local routes fail
there, and if so, with which error?
Ciao
Andrea
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-25 22:01 ` Andrea Mayer
@ 2026-08-26 11:49 ` Alessio Faina
2026-08-27 1:07 ` Andrea Mayer
0 siblings, 1 reply; 7+ messages in thread
From: Alessio Faina @ 2026-08-26 11:49 UTC (permalink / raw)
To: Andrea Mayer
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel, hangbin.liu, stefano.salsano
On Wed, Aug 26, 2026 at 12:01:56AM +0200, Andrea Mayer wrote:
> On Mon, 24 Aug 2026 11:15:37 +0200
> Alessio Faina <alessio.faina@canonical.com> wrote:
>
> Hi Alessio,
>
> Thanks for the patch.
>
> > In case iproute2 is older than version 5.14.0, released ~Sept 1, 2021,
> > the End.DT4/DT6/DX4/DX6 support are not available and the tests
> > contained in the following 4 test files
> > - srv6_end_dt4_l3vpn_test.sh
> > - srv6_end_dt6_l3vpn_test.sh
> > - srv6_end_dx4_netfilter_test.sh
> > - srv6_end_dx6_netfilter_test.sh
> > are failing in some kernel backports.
> > This is the result of one those tests in an unsupported environment:
> >
> > \################################################################################
> > \TEST SECTION: SRv6 VPN connectivity test among hosts in the same tenant
> > \################################################################################
> > \
> > \ TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
> > \
> > \ TEST: Hosts connectivity: hs-t100-2 -> hs-t100-1 (tenant 100) [FAIL]
> > \
> > \ TEST: Hosts connectivity: hs-t200-3 -> hs-t200-4 (tenant 200) [FAIL]
> > \
> > \ TEST: 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 entire test to avoid a failure.
> >
>
> Which kernel were you running when you saw these failures?
>
> Did the ip route add commands that install the seg6local routes fail
> there, and if so, with which error?
>
> Ciao
> Andrea
Hi Andrea,
I was running kernel 5.15 (5.15.0-139-generic).
Removing the sink to /dev/null in check_hs_connectivity
I can see the following error:
------------
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
--- 10.0.0.2 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms
TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
.....
------------
The error I can see upon installing the route in the setup is the
following:
------------
Error: either "to" is duplicate, or "vrftable" is a garbage.
------------
I can see that iproute2 doesn't support any End routes
------------
~$ ip route help 2>&1 | grep -qo "End"
~$ echo $?
1
------------
It's similar to the case we added last month(-ish) for
srv6_end_dt46_l3vpn_test.sh.
I just didn't realise at the time that there were standalone 4 and 6
test cases as well, or I would have added those checks at the same time.
Kind regards,
-Alessio
```
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-26 11:49 ` Alessio Faina
@ 2026-08-27 1:07 ` Andrea Mayer
2026-08-27 9:56 ` Alessio Faina
0 siblings, 1 reply; 7+ messages in thread
From: Andrea Mayer @ 2026-08-27 1:07 UTC (permalink / raw)
To: Alessio Faina
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel, hangbin.liu, stefano.salsano,
Andrea Mayer
On Wed, 26 Aug 2026 13:49:39 +0200
Alessio Faina <alessio.faina@canonical.com> wrote:
Hi Alessio,
> I was running kernel 5.15 (5.15.0-139-generic).
>
> Removing the sink to /dev/null in check_hs_connectivity
> I can see the following error:
>
> ------------
> PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
>
> --- 10.0.0.2 ping statistics ---
> 1 packets transmitted, 0 received, 100% packet loss, time 0ms
>
> TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
>
> .....
> ------------
>
> The error I can see upon installing the route in the setup is the
> following:
>
> ------------
> Error: either "to" is duplicate, or "vrftable" is a garbage.
> ------------
This error comes from the route parser: the seg6local action was
parsed, and "vrftable" was not recognised. The End.DT4/DT6/DX4/DX6
actions have been in iproute2 since v4.14.0, but the vrftable
attribute only since v5.11.0.
> I can see that iproute2 doesn't support any End routes
>
> ------------
> ~$ ip route help 2>&1 | grep -qo "End"
> ~$ echo $?
> 1
> ------------
The help text reports the names of these four actions only since
v5.14.0.
> It's similar to the case we added last month(-ish) for
> srv6_end_dt46_l3vpn_test.sh.
End.DT46 was different: parsing and help line came in one commit,
so no upstream release has one without the other.
The two DX tests do not use vrftable, their seg6local routes only
need nh4 and nh6, which are as old as the actions. Which error do
the DX tests give on your setup?
Thanks,
Ciao
Andrea
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old
2026-08-27 1:07 ` Andrea Mayer
@ 2026-08-27 9:56 ` Alessio Faina
0 siblings, 0 replies; 7+ messages in thread
From: Alessio Faina @ 2026-08-27 9:56 UTC (permalink / raw)
To: Andrea Mayer
Cc: davem, edumazet, kuba, pabeni, horms, shuah, netdev,
linux-kselftest, linux-kernel, hangbin.liu, stefano.salsano
On Thu, Aug 27, 2026 at 03:07:01AM +0200, Andrea Mayer wrote:
> On Wed, 26 Aug 2026 13:49:39 +0200
> Alessio Faina <alessio.faina@canonical.com> wrote:
>
> Hi Alessio,
>
> > I was running kernel 5.15 (5.15.0-139-generic).
> >
> > Removing the sink to /dev/null in check_hs_connectivity
> > I can see the following error:
> >
> > ------------
> > PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
> >
> > --- 10.0.0.2 ping statistics ---
> > 1 packets transmitted, 0 received, 100% packet loss, time 0ms
> >
> > TEST: Hosts connectivity: hs-t100-1 -> hs-t100-2 (tenant 100) [FAIL]
> >
> > .....
> > ------------
> >
> > The error I can see upon installing the route in the setup is the
> > following:
> >
> > ------------
> > Error: either "to" is duplicate, or "vrftable" is a garbage.
> > ------------
>
> This error comes from the route parser: the seg6local action was
> parsed, and "vrftable" was not recognised. The End.DT4/DT6/DX4/DX6
> actions have been in iproute2 since v4.14.0, but the vrftable
> attribute only since v5.11.0.
>
> > I can see that iproute2 doesn't support any End routes
> >
> > ------------
> > ~$ ip route help 2>&1 | grep -qo "End"
> > ~$ echo $?
> > 1
> > ------------
>
> The help text reports the names of these four actions only since
> v5.14.0.
>
> > It's similar to the case we added last month(-ish) for
> > srv6_end_dt46_l3vpn_test.sh.
>
> End.DT46 was different: parsing and help line came in one commit,
> so no upstream release has one without the other.
>
> The two DX tests do not use vrftable, their seg6local routes only
> need nh4 and nh6, which are as old as the actions. Which error do
> the DX tests give on your setup?
>
> Thanks,
>
> Ciao
> Andrea
For the DX tests I was doing a local test but it's not in the original
kernel, sorry, I must have confused 2 tasks with one, so disregard the
DX4 and DX6 tests, they are not relevant to this issue; if we manage to
agree on a solution for the DT4 and DT6 tests, I will discard those
modification in a subsequent patch.
About the DT4 and DT6 tests, I thought to use the same method as the failure
was practically the same as End.DT46.
This is the version I'm currently using
ip utility, iproute2-ss200127 (should be 5.5.0 if I'm not mistaken)
and I can confirm
[SEG6_LOCAL_ACTION_END_DT4] = "End.DT4"
[SEG6_LOCAL_ACTION_END_DT6] = "End.DT6",
is available.
What do you suggest would be the right way forward to check what is
going on?
Kind regards,
-Alessio Faina
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-08-27 9:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-24 9:15 [PATCH net] selftest/net: skip srv6_end_d[t/x][4/6]_*_test.sh if iproute2 too old Alessio Faina
2026-08-25 8:39 ` Hangbin Liu
2026-08-25 8:45 ` Hangbin Liu
2026-08-25 22:01 ` Andrea Mayer
2026-08-26 11:49 ` Alessio Faina
2026-08-27 1:07 ` Andrea Mayer
2026-08-27 9:56 ` Alessio Faina
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).