[PATCH 0/6] selftests: forwarding: skip tests when kernel or userspace support is missing

Aleksei Oladko posted 6 patches 2 weeks, 5 days ago
tools/testing/selftests/net/forwarding/lib.sh | 33 ++++++++++++++++++-
.../net/forwarding/router_mpath_seed.sh       |  2 ++
.../selftests/net/forwarding/sch_ets_core.sh  |  1 +
.../selftests/net/forwarding/tc_flower_cfm.sh |  2 ++
.../net/forwarding/tc_flower_l2_miss.sh       |  2 ++
5 files changed, 39 insertions(+), 1 deletion(-)
[PATCH 0/6] selftests: forwarding: skip tests when kernel or userspace support is missing
Posted by Aleksei Oladko 2 weeks, 5 days ago
Hi,

Several forwarding selftests currently assume that certain kernel
features or tc/ip capabilities are always present. When this is no the
case (e.g. kernel built without specific CONFIG options or older
iproute2).

This series adds explicit feature probing and conditional skips to
avoid false negatives.

Summary of changes:
1. forwarding/lib: skip tests that require LAG devices when the team
   driver is not supported (CONFIG_NET_TEAM disabled)
2. forwarding/sch_ets: skip tests if the cls_basic module is not
   available (CONFIG_NET_CLS_BASIC disabled)
3. forwarding/lib introduce run_cmd_grep helper to probe userspace
   feature support by matching keywords in command help output
4. forwarding/tc_flower_cfm: skip test when tc does not support cfm
5. forwarding/tc_flower_l2_miss: skip test when tc does not support
   l2_miss
6. forwarding/router_mpath_seed: skip tests then ip does not support
   hw_stats

Aleksei Oladko (6):
  selftests: forwarding: lib: skip test if team driver is not supported
  selftests: forwarding: sch_ets: skip test if cls_basic module is
    missing
  selftests: forwarding: lib: add run_cmd_grep helper for feature
    probing
  selftests: forwarding: tc_flower_cfm: skip tests if tools or feats are
    missing
  selftests: forwarding: tc_flower_l2_miss: skip tests if tools or feats
    are missing
  selftests: forwarding: router_mpath_seed: skip tests if tools or feats
    are missing

 tools/testing/selftests/net/forwarding/lib.sh | 33 ++++++++++++++++++-
 .../net/forwarding/router_mpath_seed.sh       |  2 ++
 .../selftests/net/forwarding/sch_ets_core.sh  |  1 +
 .../selftests/net/forwarding/tc_flower_cfm.sh |  2 ++
 .../net/forwarding/tc_flower_l2_miss.sh       |  2 ++
 5 files changed, 39 insertions(+), 1 deletion(-)

-- 
2.43.0
Re: [PATCH 0/6] selftests: forwarding: skip tests when kernel or userspace support is missing
Posted by Ido Schimmel 2 weeks, 4 days ago
On Tue, Jan 20, 2026 at 11:02:02PM +0000, Aleksei Oladko wrote:
> Hi,
> 
> Several forwarding selftests currently assume that certain kernel
> features or tc/ip capabilities are always present. When this is no the
> case (e.g. kernel built without specific CONFIG options or older
> iproute2).
> 
> This series adds explicit feature probing and conditional skips to
> avoid false negatives.
> 
> Summary of changes:
> 1. forwarding/lib: skip tests that require LAG devices when the team
>    driver is not supported (CONFIG_NET_TEAM disabled)
> 2. forwarding/sch_ets: skip tests if the cls_basic module is not
>    available (CONFIG_NET_CLS_BASIC disabled)

Both are mentioned in tools/testing/selftests/net/forwarding/config

> 3. forwarding/lib introduce run_cmd_grep helper to probe userspace
>    feature support by matching keywords in command help output
> 4. forwarding/tc_flower_cfm: skip test when tc does not support cfm
> 5. forwarding/tc_flower_l2_miss: skip test when tc does not support
>    l2_miss

Both are present in iproute2 v6.5 (September 2023).

> 6. forwarding/router_mpath_seed: skip tests then ip does not support
>    hw_stats

Present in iproute2 v6.10 (July 2024).

Latest version is v6.18.

I don't see the point in running netdev selftests with such old
versions. Especially when it should be relatively easy to put a new
version in PATH