On 1/4/26 09:50, Aleksei Oladko wrote:
> The net kselftest rtnetlink.sh tries to create an erspan device using:
>
> ip link add dev erspan00 type erspan...
>
> On kernels built without erspan support this fails with:
>
> Error: Unknown device type.
>
> and causes the entire test to fail.
>
> Skip the test when erspan devices cannot be created.
>
> https://virtuozzo.atlassian.net/browse/VSTOR-121804
>
> Signed-off-by: Aleksei Oladko <[email protected]>
> ---
> tools/testing/selftests/net/rtnetlink.sh | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/tools/testing/selftests/net/rtnetlink.sh
> b/tools/testing/selftests/net/rtnetlink.sh
> index e7a682183703..94f71f39b3dc 100755
> --- a/tools/testing/selftests/net/rtnetlink.sh
> +++ b/tools/testing/selftests/net/rtnetlink.sh
> @@ -65,6 +65,9 @@ run_cmd_common()
> fi
> out=$($cmd 2>&1)
> rc=$?
> + if [[ "$out" == *"Error: Unknown device type"* ]]; then
> + skip_test=1
> + fi
Can we instead of changing run_cmd_common for one call, just opencode run_cmd
in the beginning of test, with the check for unknown device type message?
if ip -netns "$testns" link add dev test_erspan type erspan ... 2>&1 | grep
"Error: Unknown device type" > /dev/null; then
end_test "SKIP: erspan: iproute2 can't handle it"
return $ksft_skip
fi
Also I'm a bit confused as kci_test_erspan already checks that ip link knows
about erspan, why does not it work (maybe module not loaded?)?
> if [ "$VERBOSE" = "1" -a -n "$out" ]; then
> echo " $out"
> fi
> @@ -934,6 +937,7 @@ kci_test_erspan()
> {
> DEV_NS=erspan00
> local ret=0
> + local skip_test=0
> run_cmd_grep "^Usage:" ip link help erspan
> if [ $? -ne 0 ];then
> end_test "SKIP: erspan: iproute2 too old"
> @@ -949,6 +953,11 @@ kci_test_erspan()
> run_cmd ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \
> key 102 local 172.16.1.100 remote 172.16.1.200 \
> erspan_ver 1 erspan 488
> + if [ $skip_test -ne 0 ]; then
> + end_test "SKIP: erspan tests: not supported"
> + ip netns del "$testns"
> + return $ksft_skip
> + fi
>
>
> run_cmd ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24
--
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel