selftests: forwarding: Add suppport to create veth interfaces
Subsystems (4)
PATCH v2 1/1 selftests: forwarding: Add suppport to create veth interfaces
For tests using veth interfaces, the test infrastructure can create the netdevs if they do not exist. Arguably this is a preferred approach since the tests require p$N and p$(N+1) to be pairs.
---
v2
- local on j declaration and line wrap
.../net/forwarding/forwarding.config.sample | 5 ++++ tools/testing/selftests/net/forwarding/lib.sh | 35 ++++++++++++++++++++++ 2 files changed, 40 insertions(+)
tools/testing/selftests/net/forwarding/forwarding.config.sample +5 -0
@@ -14,6 +14,11 @@ NETIFS[p6]=veth5 NETIFS[p7]=veth6 NETIFS[p8]=veth7 +NETIF_TYPE=veth + +# only virtual interfaces (veth) can be created by test infra +#NETIF_CREATE=yes + ############################################################################## # Defines
tools/testing/selftests/net/forwarding/lib.sh +35 -0
@@ -76,6 +76,41 @@ done ############################################################################## # Network interfaces configuration +create_netif_veth() +{ + local i + + for i in $(eval echo {1..$NUM_NETIFS}); do + local j=$((i+1)) + + ip link show dev ${NETIFS[p$i]} &> /dev/null + if [[ $? -ne 0 ]]; then + ip link add ${NETIFS[p$i]} type veth \ + peer name ${NETIFS[p$j]} + if [[ $? -ne 0 ]]; then + echo "Failed to create netif" + exit 1 + fi + fi + i=$j + done +} + +create_netif() +{ + case "$NETIF_TYPE" in + veth) create_netif_veth + ;; + *) echo "Can not create interfaces of type \'$NETIF_TYPE\'" + exit 1 + ;; + esac +} + +if [[ "$NETIF_CREATE" = "yes" ]]; then + create_netif +fi + for i in $(eval echo {1..$NUM_NETIFS}); do ip link show dev ${NETIFS[p$i]} &> /dev/null if [[ $? -ne 0 ]]; then
Signature · 1 line
2.11.0
Quoted 5 lines · David Ahern
For tests using veth interfaces, the test infrastructure can create the netdevs if they do not exist. Arguably this is a preferred approach since the tests require p$N and p$(N+1) to be pairs.
Signed-off-by David Ahern <[email protected]>
From: David Ahern <[email protected]>
Date: Sun, 4 Mar 2018 17:37:47 -0800
Quoted 8 lines
For tests using veth interfaces, the test infrastructure can create the netdevs if they do not exist. Arguably this is a preferred approach since the tests require p$N and p$(N+1) to be pairs.
Signed-off-by David Ahern <[email protected]>---
v2
- local on j declaration and line wrap
Applied.