diff mbox series

[net] selftests: net: add missing config for big tcp tests

Message ID 21630ecea872fea13f071342ac64ef52a991a9b5.1706282943.git.pabeni@redhat.com
State New
Headers show
Series [net] selftests: net: add missing config for big tcp tests | expand

Commit Message

Paolo Abeni Jan. 26, 2024, 3:32 p.m. UTC
The big_tcp test-case requires a few kernel knobs currently
not specified in the net selftests config, causing the
following failure:

  # selftests: net: big_tcp.sh
  # Error: Failed to load TC action module.
  # We have an error talking to the kernel
...
  # Testing for BIG TCP:
  # CLI GSO | GW GRO | GW GSO | SER GRO
  # ./big_tcp.sh: line 107: test: !=: unary operator expected
...
  # on        on       on       on      : [FAIL_on_link1]

Add the missing configs

Fixes: 6bb382bcf742 ("selftests: add a selftest for big tcp")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 tools/testing/selftests/net/config | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Aaron Conole Jan. 26, 2024, 4:18 p.m. UTC | #1
Paolo Abeni <pabeni@redhat.com> writes:

> The big_tcp test-case requires a few kernel knobs currently
> not specified in the net selftests config, causing the
> following failure:
>
>   # selftests: net: big_tcp.sh
>   # Error: Failed to load TC action module.
>   # We have an error talking to the kernel
> ...
>   # Testing for BIG TCP:
>   # CLI GSO | GW GRO | GW GSO | SER GRO
>   # ./big_tcp.sh: line 107: test: !=: unary operator expected
> ...
>   # on        on       on       on      : [FAIL_on_link1]
>
> Add the missing configs
>
> Fixes: 6bb382bcf742 ("selftests: add a selftest for big tcp")
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> ---

Thanks for the fix.

Maybe we should also add the config for NET_ACT_CT since we will
invoke it on setup.  I guess there's some dependency that must be
pulling it in for us already so we don't explicitly call for it, but we
do require it in setup() if I understand correctly.  I don't think it
should hold up this patch though.

Acked-by: Aaron Conole <aconole@redhat.com>
Paolo Abeni Jan. 26, 2024, 4:55 p.m. UTC | #2
On Fri, 2024-01-26 at 11:18 -0500, Aaron Conole wrote:
> Paolo Abeni <pabeni@redhat.com> writes:
> 
> > The big_tcp test-case requires a few kernel knobs currently
> > not specified in the net selftests config, causing the
> > following failure:
> > 
> >   # selftests: net: big_tcp.sh
> >   # Error: Failed to load TC action module.
> >   # We have an error talking to the kernel
> > ...
> >   # Testing for BIG TCP:
> >   # CLI GSO | GW GRO | GW GSO | SER GRO
> >   # ./big_tcp.sh: line 107: test: !=: unary operator expected
> > ...
> >   # on        on       on       on      : [FAIL_on_link1]
> > 
> > Add the missing configs
> > 
> > Fixes: 6bb382bcf742 ("selftests: add a selftest for big tcp")
> > Signed-off-by: Paolo Abeni <pabeni@redhat.com>
> > ---
> 
> Thanks for the fix.
> 
> Maybe we should also add the config for NET_ACT_CT since we will
> invoke it on setup.  I guess there's some dependency that must be
> pulling it in for us already so we don't explicitly call for it, but we
> do require it in setup() if I understand correctly.  

This patch already adds NET_ACT_CT=m:

> @@ -71,6 +74,7 @@ CONFIG_NET_CLS_FLOWER=m
>  CONFIG_NET_CLS_BPF=m
>  CONFIG_NET_ACT_TUNNEL_KEY=m
>  CONFIG_NET_ACT_MIRRED=m
> +CONFIG_NET_ACT_CT=m
>  CONFIG_BAREUDP=m
>  CONFIG_IPV6_IOAM6_LWTUNNEL=y
>  CONFIG_CRYPTO_SM4_GENERIC=y

Cheers,

Paolo
Jakub Kicinski Jan. 29, 2024, 4:39 p.m. UTC | #3
On Mon, 29 Jan 2024 17:31:33 +0100 Paolo Abeni wrote:
> Uhm... while the self-test doesn't emit anymore the message related to
> the missing modules, it still fails in the CI env and I can't reproduce
> the failures in my local env (the same for the gro.sh script).
> 
> If I understand correctly, the tests run under double virtualization (a
> VM on top AWS?), is that correct? I guess the extra slowdown/overhead
> will need more care.

Yes, it's VM inside a VM without nested virtualization support.
A weird setup, granted, but when we move to bare metal I'd like
to enable KASAN, which will probably cause a similar slowdown..

You could possibly get a similar slowdown by disabling HW virt /
KVM?

FWIW far the 4 types of issues we've seen were:
 - config missing
 - OS doesn't ifup by default
 - OS tools are old / buggy
 - VM-in-VM is just too slow.

There's a bunch of failures in forwarding which look like perf issues.
I wonder if we should introduce something in the settings file to let
tests know that they are running in very slow env?
diff mbox series

Patch

diff --git a/tools/testing/selftests/net/config b/tools/testing/selftests/net/config
index b511f43cd197..c0e8482f82d3 100644
--- a/tools/testing/selftests/net/config
+++ b/tools/testing/selftests/net/config
@@ -29,6 +29,7 @@  CONFIG_NF_NAT=m
 CONFIG_IP6_NF_IPTABLES=m
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_RAW=m
 CONFIG_IP_NF_NAT=m
 CONFIG_IPV6_GRE=m
 CONFIG_IPV6_SEG6_LWTUNNEL=y
@@ -41,9 +42,11 @@  CONFIG_MACVLAN=y
 CONFIG_MACVTAP=y
 CONFIG_MPLS=y
 CONFIG_MPTCP=y
+CONFIG_IP_NF_RAW=m
 CONFIG_NF_TABLES=m
 CONFIG_NF_TABLES_IPV6=y
 CONFIG_NF_TABLES_IPV4=y
+CONFIG_NF_FLOW_TABLE=m
 CONFIG_NFT_NAT=m
 CONFIG_NET_ACT_GACT=m
 CONFIG_NET_CLS_BASIC=m
@@ -71,6 +74,7 @@  CONFIG_NET_CLS_FLOWER=m
 CONFIG_NET_CLS_BPF=m
 CONFIG_NET_ACT_TUNNEL_KEY=m
 CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_CT=m
 CONFIG_BAREUDP=m
 CONFIG_IPV6_IOAM6_LWTUNNEL=y
 CONFIG_CRYPTO_SM4_GENERIC=y
@@ -79,5 +83,6 @@  CONFIG_TUN=y
 CONFIG_VXLAN=m
 CONFIG_IP_SCTP=m
 CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
 CONFIG_CRYPTO_ARIA=y
 CONFIG_XFRM_INTERFACE=m