On Mon,  7 Sep 2020 11:50:10 +0800 Po-Hsu Lin wrote:
> The kci_test_encap_fou() test from kci_test_encap() in rtnetlink.sh
> needs the fou module to work. Otherwise it will fail with:
> 
>   $ ip netns exec "$testns" ip fou add port 7777 ipproto 47
>   RTNETLINK answers: No such file or directory
>   Error talking to the kernel
> 
> Add the CONFIG_NET_FOU into the config file as well. Which needs at
> least to be set as a loadable module.
> 
> Signed-off-by: Po-Hsu Lin <po-hsu....@canonical.com>

> diff --git a/tools/testing/selftests/net/rtnetlink.sh 
> b/tools/testing/selftests/net/rtnetlink.sh
> index 7c38a90..a711b3e 100755
> --- a/tools/testing/selftests/net/rtnetlink.sh
> +++ b/tools/testing/selftests/net/rtnetlink.sh
> @@ -520,6 +520,11 @@ kci_test_encap_fou()
>               return $ksft_skip
>       fi
>  
> +     if ! /sbin/modprobe -q -n fou; then
> +             echo "SKIP: module fou is not found"
> +             return $ksft_skip
> +     fi
> +     /sbin/modprobe -q fou
>       ip -netns "$testns" fou add port 7777 ipproto 47 2>/dev/null
>       if [ $? -ne 0 ];then
>               echo "FAIL: can't add fou port 7777, skipping test"
> @@ -540,6 +545,7 @@ kci_test_encap_fou()
>               return 1
>       fi
>  
> +     /sbin/modprobe -q -r fou

I think the common practice is to not remove the module at the end of
the test. It may be used by something else than the test itself.

>       echo "PASS: fou"
>  }
>  

Reply via email to