As Guillaume pointed, many selftests create namespaces with very common names (like "client" or "server") or even (partially) run directly in init_net. This makes these tests prone to failure if another namespace with the same name already exists. It also makes it impossible to run several instances of these tests in parallel.
This patch set intend to conver all the net selftests to run in unique namespace, so we can update the selftest freamwork to run all tests in it's own namespace in parallel. After update, we only need to wait for the test which need longest time.
As the total patch set is too large. I break it to severl parts. This is the first part.
v2 -> v3: - Convert all ip netns del to cleanup_ns (Justin Iurman)
v1 -> v2: - Split the large patch set to small parts for easy review (Paolo Abeni) - Move busywait from forwarding/lib.sh to net/lib.sh directly (Petr Machata) - Update setup_ns/cleanup_ns struct (Petr Machata) - Remove default trap in lib.sh (Petr Machata)
Hangbin Liu (14): selftests/net: add lib.sh selftests/net: convert arp_ndisc_evict_nocarrier.sh to run it in unique namespace selftests/net: specify the interface when do arping selftests/net: convert arp_ndisc_untracked_subnets.sh to run it in unique namespace selftests/net: convert cmsg tests to make them run in unique namespace selftests/net: convert drop_monitor_tests.sh to run it in unique namespace selftests/net: convert traceroute.sh to run it in unique namespace selftests/net: convert icmp_redirect.sh to run it in unique namespace sleftests/net: convert icmp.sh to run it in unique namespace selftests/net: convert ioam6.sh to run it in unique namespace selftests/net: convert l2tp.sh to run it in unique namespace selftests/net: convert ndisc_unsolicited_na_test.sh to run it in unique namespace selftests/net: convert sctp_vrf.sh to run it in unique namespace selftests/net: convert unicast_extensions.sh to run it in unique namespace
tools/testing/selftests/net/Makefile | 2 +- .../net/arp_ndisc_evict_nocarrier.sh | 46 ++-- .../net/arp_ndisc_untracked_subnets.sh | 20 +- tools/testing/selftests/net/cmsg_ipv6.sh | 10 +- tools/testing/selftests/net/cmsg_so_mark.sh | 7 +- tools/testing/selftests/net/cmsg_time.sh | 7 +- .../selftests/net/drop_monitor_tests.sh | 21 +- tools/testing/selftests/net/forwarding/lib.sh | 27 +- tools/testing/selftests/net/icmp.sh | 10 +- tools/testing/selftests/net/icmp_redirect.sh | 182 +++++++------ tools/testing/selftests/net/ioam6.sh | 247 +++++++++--------- tools/testing/selftests/net/l2tp.sh | 130 +++++---- tools/testing/selftests/net/lib.sh | 85 ++++++ .../net/ndisc_unsolicited_na_test.sh | 19 +- tools/testing/selftests/net/sctp_vrf.sh | 12 +- tools/testing/selftests/net/traceroute.sh | 82 +++--- .../selftests/net/unicast_extensions.sh | 99 ++++--- 17 files changed, 500 insertions(+), 506 deletions(-) create mode 100644 tools/testing/selftests/net/lib.sh