mbox series

[PATCHv3,net-next,00/14] Conver net selftests to run in unique namespace (Part 1)

Message ID 20231202020110.362433-1-liuhangbin@gmail.com
Headers show
Series Conver net selftests to run in unique namespace (Part 1) | expand

Message

Hangbin Liu Dec. 2, 2023, 2 a.m. UTC
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

Comments

patchwork-bot+netdevbpf@kernel.org Dec. 5, 2023, 12:30 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Sat,  2 Dec 2023 10:00:56 +0800 you wrote:
> 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.
> 
> [...]

Here is the summary with links:
  - [PATCHv3,net-next,01/14] selftests/net: add lib.sh
    https://git.kernel.org/netdev/net-next/c/25ae948b4478
  - [PATCHv3,net-next,02/14] selftests/net: convert arp_ndisc_evict_nocarrier.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/64227511ad57
  - [PATCHv3,net-next,03/14] selftests/net: specify the interface when do arping
    https://git.kernel.org/netdev/net-next/c/7f770d28f2e5
  - [PATCHv3,net-next,04/14] selftests/net: convert arp_ndisc_untracked_subnets.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/3a0f3367006f
  - [PATCHv3,net-next,05/14] selftests/net: convert cmsg tests to make them run in unique namespace
    https://git.kernel.org/netdev/net-next/c/7c16d485fec5
  - [PATCHv3,net-next,06/14] selftests/net: convert drop_monitor_tests.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/0d8b488792e4
  - [PATCHv3,net-next,07/14] selftests/net: convert traceroute.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/baf37f213c88
  - [PATCHv3,net-next,08/14] selftests/net: convert icmp_redirect.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/c1516b3563ac
  - [PATCHv3,net-next,09/14] sleftests/net: convert icmp.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/80b74bd33421
  - [PATCHv3,net-next,10/14] selftests/net: convert ioam6.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/2ab1ee827e97
  - [PATCHv3,net-next,11/14] selftests/net: convert l2tp.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/4affb17c0d0e
  - [PATCHv3,net-next,12/14] selftests/net: convert ndisc_unsolicited_na_test.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/3e05fc0c56bb
  - [PATCHv3,net-next,13/14] selftests/net: convert sctp_vrf.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/90e271f65ee4
  - [PATCHv3,net-next,14/14] selftests/net: convert unicast_extensions.sh to run it in unique namespace
    https://git.kernel.org/netdev/net-next/c/0f4765d0b48d

You are awesome, thank you!