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.lin@xxxxxxxxxxxxx> > 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" > } >