linux/tools/testing/selftests/net
Matthieu Baerts 485f6be254 selftests: mptcp: join: skip check if MIB counter not supported
commit 47867f0a7e upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the MPTCP MIB counters introduced in commit fc518953bc
("mptcp: add and use MIB counter infrastructure") and more later. The
MPTCP Join selftest heavily relies on these counters.

If a counter is not supported by the kernel, it is not displayed when
using 'nstat -z'. We can then detect that and skip the verification. A
new helper (get_counter()) has been added to do the required checks and
return an error if the counter is not available.

Note that if we expect to have these features available and if
SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests
will be marked as failed instead of skipped.

This new helper also makes sure we get the exact counter we want to
avoid issues we had in the past, e.g. with MPTcpExtRmAddr and
MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the
way we fetch a MIB counter.

Note for the backports: we rarely change these modified blocks so if
there is are conflicts, it is very likely because a counter is not used
in the older kernels and we don't need that chunk.

Link: https://github.com/multipath-tcp/mptcp_net-next/issues/368
Fixes: b08fbf2410 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: stable@vger.kernel.org
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-06-28 10:29:41 +02:00
..
af_unix af_unix: selftest: Fix the size of the parameter to connect() 2023-01-18 11:48:54 +01:00
forwarding act_mirred: use the backlog for nested calls to mirred ingress 2023-03-30 12:47:55 +02:00
mptcp selftests: mptcp: join: skip check if MIB counter not supported 2023-06-28 10:29:41 +02:00
.gitignore tools/testing: add a selftest for SO_NETNS_COOKIE 2021-06-24 11:13:05 -07:00
altnames.sh selftest: net: fix typo in altname test 2021-09-12 10:48:26 +01:00
bareudp.sh selftests: set conf.all.rp_filter=0 in bareudp.sh 2020-11-12 16:14:38 -08:00
config Revert "selftests: net: Add tls config dependency for tls selftests" 2022-04-13 20:59:25 +02:00
devlink_port_split.py selftests: net: devlink_port_split.py: skip test if no suitable device available 2023-03-22 13:31:28 +01:00
drop_monitor_tests.sh selftests: net: Add drop monitor test 2020-09-30 18:01:26 -07:00
fcnal-test.sh selftests/net: Find nettest in current directory 2022-12-14 11:37:16 +01:00
fib-onlink-tests.sh selftests: fib-onlink: Make quiet by default 2019-05-22 17:50:24 -07:00
fib_nexthop_multiprefix.sh selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion 2020-07-14 15:06:12 -07:00
fib_nexthops.sh ipv4: Fix route deletion when nexthop info is not specified 2022-12-08 11:28:44 +01:00
fib_rule_tests.sh selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
fib_tests.sh selftests: fib_tests: mute cleanup error message 2023-05-30 13:55:31 +01:00
fin_ack_lat.c selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
fin_ack_lat.sh selftests: net: Add FIN_ACK processing order related latency spike test 2020-02-02 13:33:21 -08:00
gre_gso.sh selftests: net: switch to socat in the GSO GRE test 2021-11-25 09:48:33 +01:00
gro.c selftests/net: GRO coalesce test 2021-08-05 13:14:09 +01:00
gro.sh selftests/net: allow GRO coalesce test on veth 2021-08-26 12:03:49 +01:00
hwtstamp_config.c selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00
icmp.sh selftests/net: Add icmp.sh for testing ICMP dummy address responses 2021-06-18 12:13:24 -07:00
icmp_redirect.sh selftests: icmp_redirect: pass xfail=0 to log_test() 2021-12-22 09:32:40 +01:00
in_netns.sh selftests/net: fix in_netns.sh script 2018-03-07 12:26:05 -05:00
ioam6.sh selftests: net: modify IOAM tests for undef bits 2021-10-12 11:49:49 +01:00
ioam6_parser.c selftests: net: modify IOAM tests for undef bits 2021-10-12 11:49:49 +01:00
ip6_gre_headroom.sh selftests: net: Test headroom handling of ip6_gre devices 2018-06-26 23:03:01 +09:00
ip_defrag.c selftests: net: ip_defrag: ignore EPERM 2020-06-02 15:54:20 -07:00
ip_defrag.sh selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support 2020-07-17 12:49:18 -07:00
ipsec.c selftests/net/ipsec: Add test for xfrm_spdattr_type_t 2021-07-21 09:53:25 +02:00
ipv6_flowlabel.c selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
ipv6_flowlabel.sh selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
ipv6_flowlabel_mgr.c selftests/net: ipv6 flowlabel 2019-05-28 17:18:53 -07:00
l2tp.sh selftests: Make l2tp.sh executable 2019-10-22 14:01:35 -07:00
Makefile kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile 2021-11-18 19:17:05 +01:00
msg_zerocopy.c selftests/net: relax cpu affinity requirement in msg_zerocopy test 2020-08-05 12:25:35 -07:00
msg_zerocopy.sh selftests: extend zerocopy tests to udp 2018-12-03 15:58:32 -08:00
netdevice.sh selftests: net: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
nettest.c selftests: nettest: Add --{force,no}-bind-key-ifindex 2021-10-15 14:36:57 +01:00
pmtu.sh selftests/net: Find nettest in current directory 2022-12-14 11:37:16 +01:00
psock_fanout.c tools/net: Use bitwise instead of arithmetic operator for flags 2021-08-20 14:55:53 +01:00
psock_lib.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
psock_snd.c selftests/net: add packet socket packet_snd test 2018-06-04 09:50:01 -04:00
psock_snd.sh selftests/net: remove min gso test in packet_snd 2021-08-02 10:34:04 +01:00
psock_tpacket.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222 2019-05-30 11:29:55 -07:00
reuseaddr_conflict.c selftest: add a reuseaddr test 2017-09-19 14:09:26 -06:00
reuseaddr_ports_exhausted.c selftests/net: fix warnings on reuseaddr_ports_exhausted 2021-03-16 15:01:21 -07:00
reuseaddr_ports_exhausted.sh selftests: net: Add SO_REUSEADDR test to check if 4-tuples are fully utilized. 2020-03-12 12:08:09 -07:00
reuseport_addr_any.c selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc 2020-03-21 20:23:10 -07:00
reuseport_addr_any.sh selftests: net: test that listening sockets match on address properly 2018-12-14 15:55:20 -08:00
reuseport_bpf.c selftests: Fix the if conditions of in test_extra_filter() 2022-10-05 10:39:43 +02:00
reuseport_bpf_cpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
reuseport_bpf_numa.c selftests: net: reuseport_bpf_numa: don't fail if no numa support 2018-05-23 12:21:02 +02:00
reuseport_dualstack.c selftests: net: reuseport_dualstack: fix uninitalized parameter 2019-11-01 15:11:02 -07:00
route_localnet.sh selftests: add route_localnet test script 2019-06-24 09:02:47 -07:00
rtnetlink.sh selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload 2022-12-14 11:37:25 +01:00
run_afpackettests selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
run_netsocktests selftests/net: correct the return value for run_netsocktests 2019-04-19 14:39:51 -07:00
rxtimestamp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-08-02 01:02:12 -07:00
rxtimestamp.sh selftests/net: plug rxtimestamp test into kselftest framework 2020-06-23 20:36:46 -07:00
settings selftests/net: bump timeout to 5 minutes 2021-04-23 14:08:58 -07:00
setup_loopback.sh selftests/net: allow GRO coalesce test on veth 2021-08-26 12:03:49 +01:00
setup_veth.sh selftests/net: allow GRO coalesce test on veth 2021-08-26 12:03:49 +01:00
so_netns_cookie.c tools/testing: add a selftest for SO_NETNS_COOKIE 2021-06-24 11:13:05 -07:00
so_txtime.c selftests/net: so_txtime: usage(): fix documentation of default clock 2022-05-12 12:30:17 +02:00
so_txtime.sh selftests/net: so_txtime multi-host support 2021-03-31 17:48:21 -07:00
socket.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
srv6_end_dt4_l3vpn_test.sh selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test 2023-05-24 17:36:49 +01:00
srv6_end_dt6_l3vpn_test.sh selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
srv6_end_dt46_l3vpn_test.sh selftests: srv6: make srv6_end_dt46_l3vpn_test more robust 2023-05-17 11:50:16 +02:00
tcp_fastopen_backup_key.c selftests/net: fix warnings in TFO key rotation selftest 2019-06-16 14:27:14 -07:00
tcp_fastopen_backup_key.sh selftests: net: tcp_fastopen_backup_key.sh: fix shellcheck issue 2019-08-15 11:34:32 -07:00
tcp_inq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 253 2019-06-05 17:30:27 +02:00
tcp_mmap.c selftests: net: tcp_mmap: Use huge pages in receive path 2020-08-20 16:14:53 -07:00
test_blackhole_dev.sh blackhole_dev: add a selftest 2019-07-01 19:34:46 -07:00
test_bpf.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_vxlan_fdb_changelink.sh selftests: net: Add test_vxlan_fdb_changelink.sh 2018-12-18 21:18:26 -08:00
test_vxlan_under_vrf.sh selftests: test_vxlan_under_vrf: Fix broken test case 2022-04-08 14:23:52 +02:00
timestamping.c selftests/net: timestamping: Fix bind_phc check 2022-04-08 14:23:26 +02:00
tls.c linux-kselftest-next-5.14-rc1 2021-07-02 13:09:15 -07:00
toeplitz.c selftests/net: toeplitz: fix race on tpacket_v3 block close 2023-02-01 08:27:14 +01:00
toeplitz.sh selftests: net: Use "grep -E" instead of "egrep" 2022-12-21 17:36:38 +01:00
toeplitz_client.sh selftests/net: toeplitz test 2021-08-05 13:14:09 +01:00
traceroute.sh selftest: net: add some traceroute tests 2019-11-06 17:35:49 -08:00
txring_overwrite.c selftests: txring_overwrite: fix incorrect test of mmap() return value 2019-07-08 15:39:38 -07:00
txtimestamp.c selftests: txtimestamp: fix compilation issue 2021-02-04 20:22:30 -08:00
txtimestamp.sh selftest: txtimestamp: fix net ns entry logic 2020-07-21 16:11:07 -07:00
udpgro.sh selftests/net: fix section name when using xdp_dummy.o 2022-07-12 16:35:19 +02:00
udpgro_bench.sh selftests/net: fix section name when using xdp_dummy.o 2022-07-12 16:35:19 +02:00
udpgro_fwd.sh selftests/net: fix section name when using xdp_dummy.o 2022-07-12 16:35:19 +02:00
udpgso.c selftests: Calculate udpgso segment count without header adjustment 2022-01-05 12:42:35 +01:00
udpgso.sh selftests: udp gso with corking 2018-04-26 15:09:52 -04:00
udpgso_bench.sh selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs 2023-02-09 11:26:38 +01:00
udpgso_bench_rx.c selftests/net: Interpret UDP_GRO cmsg data as an int value 2023-03-10 09:39:18 +01:00
udpgso_bench_tx.c selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking 2023-02-09 11:26:38 +01:00
unicast_extensions.sh selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
veth.sh selftests/net: fix section name when using xdp_dummy.o 2022-07-12 16:35:19 +02:00
vrf-xfrm-tests.sh selftests: Add tests for vrf and xfrms 2020-04-22 19:31:40 -07:00
vrf_route_leaking.sh selftests: Add VRF route leaking tests 2020-10-14 17:14:28 -07:00
vrf_strict_mode_test.sh selftests/net: Use kselftest skip code for skipped tests 2021-08-24 16:49:09 -07:00
xfrm_policy.sh xfrm: Fix wraparound in xfrm_policy_addr_delta() 2021-01-04 10:35:09 +01:00