Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/net: use unique netns name for setup_loopback.sh setup_veth.sh

The setup_loopback and setup_veth use their own way to create namespace.
So let's just re-define server_ns/client_ns to unique name.
At the same time update the namespace name in gro.sh and toeplitz.sh.
As I don't have env to run toeplitz.sh. Here is only the gro test result.

# ./gro.sh
running test ipv4 data
Expected {200 }, Total 1 packets
Received {200 }, Total 1 packets.
...
Gro::large test passed.
All Tests Succeeded!

Acked-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Hangbin Liu and committed by
David S. Miller
4416c5f5 976fd1fe

+20 -15
+2 -2
tools/testing/selftests/net/gro.sh
··· 23 23 # on every try. 24 24 for tries in {1..3}; do 25 25 # Actual test starts here 26 - ip netns exec server_ns ./gro "${ARGS[@]}" "--rx" "--iface" "server" \ 26 + ip netns exec $server_ns ./gro "${ARGS[@]}" "--rx" "--iface" "server" \ 27 27 1>>log.txt & 28 28 server_pid=$! 29 29 sleep 0.5 # to allow for socket init 30 - ip netns exec client_ns ./gro "${ARGS[@]}" "--iface" "client" \ 30 + ip netns exec $client_ns ./gro "${ARGS[@]}" "--iface" "client" \ 31 31 1>>log.txt 32 32 wait "${server_pid}" 33 33 exit_code=$?
+5 -3
tools/testing/selftests/net/setup_loopback.sh
··· 5 5 readonly IRQ_PATH="/sys/class/net/${dev}/napi_defer_hard_irqs" 6 6 readonly FLUSH_TIMEOUT="$(< ${FLUSH_PATH})" 7 7 readonly HARD_IRQS="$(< ${IRQ_PATH})" 8 + readonly server_ns=$(mktemp -u server-XXXXXXXX) 9 + readonly client_ns=$(mktemp -u client-XXXXXXXX) 8 10 9 11 netdev_check_for_carrier() { 10 12 local -r dev="$1" ··· 99 97 100 98 setup_ns() { 101 99 # Set up server_ns namespace and client_ns namespace 102 - setup_macvlan_ns "${dev}" server_ns server "${SERVER_MAC}" 103 - setup_macvlan_ns "${dev}" client_ns client "${CLIENT_MAC}" 100 + setup_macvlan_ns "${dev}" ${server_ns} server "${SERVER_MAC}" 101 + setup_macvlan_ns "${dev}" ${client_ns} client "${CLIENT_MAC}" 104 102 } 105 103 106 104 cleanup_ns() { 107 - cleanup_macvlan_ns server_ns server client_ns client 105 + cleanup_macvlan_ns ${server_ns} server ${client_ns} client 108 106 } 109 107 110 108 setup() {
+6 -3
tools/testing/selftests/net/setup_veth.sh
··· 1 1 #!/bin/bash 2 2 # SPDX-License-Identifier: GPL-2.0 3 3 4 + readonly server_ns=$(mktemp -u server-XXXXXXXX) 5 + readonly client_ns=$(mktemp -u client-XXXXXXXX) 6 + 4 7 setup_veth_ns() { 5 8 local -r link_dev="$1" 6 9 local -r ns_name="$2" ··· 22 19 # Set up server_ns namespace and client_ns namespace 23 20 ip link add name server type veth peer name client 24 21 25 - setup_veth_ns "${dev}" server_ns server "${SERVER_MAC}" 26 - setup_veth_ns "${dev}" client_ns client "${CLIENT_MAC}" 22 + setup_veth_ns "${dev}" ${server_ns} server "${SERVER_MAC}" 23 + setup_veth_ns "${dev}" ${client_ns} client "${CLIENT_MAC}" 27 24 } 28 25 29 26 cleanup_ns() { 30 27 local ns_name 31 28 32 - for ns_name in client_ns server_ns; do 29 + for ns_name in ${client_ns} ${server_ns}; do 33 30 [[ -e /var/run/netns/"${ns_name}" ]] && ip netns del "${ns_name}" 34 31 done 35 32 }
+7 -7
tools/testing/selftests/net/toeplitz.sh
··· 147 147 setup_loopback_environment "${DEV}" 148 148 149 149 # Set up server_ns namespace and client_ns namespace 150 - setup_macvlan_ns "${DEV}" server_ns server \ 150 + setup_macvlan_ns "${DEV}" $server_ns server \ 151 151 "${SERVER_MAC}" "${SERVER_IP}" 152 - setup_macvlan_ns "${DEV}" client_ns client \ 152 + setup_macvlan_ns "${DEV}" $client_ns client \ 153 153 "${CLIENT_MAC}" "${CLIENT_IP}" 154 154 } 155 155 156 156 cleanup() { 157 - cleanup_macvlan_ns server_ns server client_ns client 157 + cleanup_macvlan_ns $server_ns server $client_ns client 158 158 cleanup_loopback "${DEV}" 159 159 } 160 160 ··· 170 170 # RPS/RFS must be disabled because they move packets between cpus, 171 171 # which breaks the PACKET_FANOUT_CPU identification of RSS decisions. 172 172 eval "$(get_disable_rfs_cmd) $(get_disable_rps_cmd)" \ 173 - ip netns exec server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 173 + ip netns exec $server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 174 174 -d "${PORT}" -i "${DEV}" -k "${KEY}" -T 1000 \ 175 175 -C "$(get_rx_irq_cpus)" -s -v & 176 176 elif [[ ! -z "${RPS_MAP}" ]]; then 177 177 eval "$(get_disable_rfs_cmd) $(get_set_rps_bitmaps_cmd ${RPS_MAP})" \ 178 - ip netns exec server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 178 + ip netns exec $server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 179 179 -d "${PORT}" -i "${DEV}" -k "${KEY}" -T 1000 \ 180 180 -r "0x${RPS_MAP}" -s -v & 181 181 else 182 - ip netns exec server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 182 + ip netns exec $server_ns ./toeplitz "${IP_FLAG}" "${PROTO_FLAG}" \ 183 183 -d "${PORT}" -i "${DEV}" -k "${KEY}" -T 1000 -s -v & 184 184 fi 185 185 186 186 server_pid=$! 187 187 188 - ip netns exec client_ns ./toeplitz_client.sh "${PROTO_FLAG}" \ 188 + ip netns exec $client_ns ./toeplitz_client.sh "${PROTO_FLAG}" \ 189 189 "${IP_FLAG}" "${SERVER_IP%%/*}" "${PORT}" & 190 190 191 191 client_pid=$!