Re: [PATCHv3] selftests: rtnetlink: load fou module for kci_test_encap_fou() test

From: Po-Hsu Lin
Date: Mon Oct 12 2020 - 01:56:37 EST


Hello,
Is there any update on this patch?
Thanks!
PHLin

On Fri, Sep 18, 2020 at 6:39 PM Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx> wrote:
>
> Hello folks,
>
> any thoughts on this patch?
> It can make the test pass and reduce the failure numbers in
> kselftests, it will be great to have this applied.
>
> Thanks
> PHLin
>
>
> On Tue, Sep 8, 2020 at 2:57 PM Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx> wrote:
> >
> > On Tue, Sep 8, 2020 at 4:12 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
> > >
> > > 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.
> > >
> > Hello Jakub,
> > Thanks for your feedback.
> >
> > For this case I think it's safe to remove the module here, as it was
> > never loaded before and thus causing this test to fail.
> > If other tests in this rtnetlink.sh need this fou module, we should be
> > able to spot those failures too, however this is the only failure as I
> > can see.
> > (pmtu.sh will need fou module to run as well, but it will be loaded there.)
> >
> > Shouldn't we insert the required module whenever the test needs it? So
> > that we can run the test itself directly, without depending on other
> > tests.
> > Also, I can see modules for tests were being unloaded in other tests as well.
> >
> > Thanks
> >
> > > > echo "PASS: fou"
> > > > }
> > > >
> > >