Subject: Re: [PATCH net-next] selftests: forwarding: Add missing config entries

From: Petr Machata <[email-masked]>
Date: Mon, 29 Jan 2024 11:45:07 +0100

Jakub Kicinski <[email-masked]> writes:

> On Fri, 26 Jan 2024 17:36:16 +0100 Petr Machata wrote:
>> The config file contains a partial kernel configuration to be used by
>> `virtme-configkernel --custom'. The presumption is that the config file
>> contains all Kconfig options needed by the selftests from the directory.
>> 
>> In net/forwarding/config, many are missing, which manifests as spurious
>> failures when running the selftests, with messages about unknown device
>> types, qdisc kinds or classifier actions. Add the missing configurations.
>> 
>> Tested the resulting configuration using virtme-ng as follows:
>> 
>>  # vng -b -f tools/testing/selftests/net/forwarding/config
>>  # vng --user root
>>  (within the VM:)
>>  # make -C tools/testing/selftests TARGETS=net/forwarding run_tests
>
> Thanks a lot for fixing this stuff! The patch went into the
> net-next-2024-01-26--18-00 branch we got: pass 94 / skip 2 / fail 15
>
> https://netdev.bots.linux.dev/contest.html?branch=net-next-2024-01-26--18-00&executor=vmksft-forwarding&pw-y=0
>
> Clicking thru a handful of the failures it looks like it's about a 50/50
> split between timeouts and perf mismatch. 

Looking at some recent runs. A number of failures are probably due to
the system failing to oversubscribe the interface with the tested
qdiscs. That's sch_ets, sch_tbf_ets, sch_tbf_prio, sch_tbf_root,
tc_police.

Not sure what to do about it. Maybe separate out heavy traffic tests,
and add a make run_lotraf_tests?

tc_actions started getting a passible deadlocking warning between Jan 27
00:37 and Jan 28 18:27:

    https://netdev-2.bots.linux.dev/vmksft-forwarding/results/438201/108-tc-actions-sh/
    https://netdev-2.bots.linux.dev/vmksft-forwarding/results/438566/109-tc-actions-sh/

So either something landed that broke it, or the host kernel now has
more debugging enabled, so it now gives a citation.

ip6gre_inner_v6_multipath is just noisy? It failed the last run, but
passed several before.

router_multicast and router get a complaint about a missing control
socket. I think at first approximation they need:

    # mkdir -p /usr/local/var/run

But even then I'm getting a fail. This and the others seem to all be in
IPv6 multicast.