Merge branch 'selftests-forwarding-Tweaks-and-a-new-test'
Ido Schimmel says: ==================== selftests: forwarding: Tweaks and a new test First patch adds a new test for VLAN-unaware bridges. Next two patches make the tests fail in case they are missing interfaces or dependencies. Last patch allows one to create the veth interfaces even without the optional configuration file. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
daa13701a9
|
@ -0,0 +1,86 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
NUM_NETIFS=4
|
||||
source lib.sh
|
||||
|
||||
h1_create()
|
||||
{
|
||||
simple_if_init $h1 192.0.2.1/24 2001:db8:1::1/64
|
||||
}
|
||||
|
||||
h1_destroy()
|
||||
{
|
||||
simple_if_fini $h1 192.0.2.1/24 2001:db8:1::1/64
|
||||
}
|
||||
|
||||
h2_create()
|
||||
{
|
||||
simple_if_init $h2 192.0.2.2/24 2001:db8:1::2/64
|
||||
}
|
||||
|
||||
h2_destroy()
|
||||
{
|
||||
simple_if_fini $h2 192.0.2.2/24 2001:db8:1::2/64
|
||||
}
|
||||
|
||||
switch_create()
|
||||
{
|
||||
# 10 Seconds ageing time.
|
||||
ip link add dev br0 type bridge ageing_time 1000 mcast_snooping 0
|
||||
|
||||
ip link set dev $swp1 master br0
|
||||
ip link set dev $swp2 master br0
|
||||
|
||||
ip link set dev br0 up
|
||||
ip link set dev $swp1 up
|
||||
ip link set dev $swp2 up
|
||||
}
|
||||
|
||||
switch_destroy()
|
||||
{
|
||||
ip link set dev $swp2 down
|
||||
ip link set dev $swp1 down
|
||||
|
||||
ip link del dev br0
|
||||
}
|
||||
|
||||
setup_prepare()
|
||||
{
|
||||
h1=${NETIFS[p1]}
|
||||
swp1=${NETIFS[p2]}
|
||||
|
||||
swp2=${NETIFS[p3]}
|
||||
h2=${NETIFS[p4]}
|
||||
|
||||
vrf_prepare
|
||||
|
||||
h1_create
|
||||
h2_create
|
||||
|
||||
switch_create
|
||||
}
|
||||
|
||||
cleanup()
|
||||
{
|
||||
pre_cleanup
|
||||
|
||||
switch_destroy
|
||||
|
||||
h2_destroy
|
||||
h1_destroy
|
||||
|
||||
vrf_cleanup
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
setup_prepare
|
||||
setup_wait
|
||||
|
||||
ping_test $h1 192.0.2.2
|
||||
ping6_test $h1 2001:db8:1::2
|
||||
learning_test "br0" $swp1 $h1 $h2
|
||||
flood_test $swp2 $h1 $h2
|
||||
|
||||
exit $EXIT_STATUS
|
|
@ -14,11 +14,6 @@ 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
|
||||
|
||||
|
@ -34,3 +29,7 @@ WAIT_TIME=5
|
|||
PAUSE_ON_FAIL=no
|
||||
# Whether to pause on cleanup or not.
|
||||
PAUSE_ON_CLEANUP=no
|
||||
# Type of network interface to create
|
||||
NETIF_TYPE=veth
|
||||
# Whether to create virtual interfaces (veth) or not
|
||||
NETIF_CREATE=yes
|
||||
|
|
|
@ -11,6 +11,8 @@ MZ=${MZ:=mausezahn}
|
|||
WAIT_TIME=${WAIT_TIME:=5}
|
||||
PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
|
||||
PAUSE_ON_CLEANUP=${PAUSE_ON_CLEANUP:=no}
|
||||
NETIF_TYPE=${NETIF_TYPE:=veth}
|
||||
NETIF_CREATE=${NETIF_CREATE:=yes}
|
||||
|
||||
if [[ -f forwarding.config ]]; then
|
||||
source forwarding.config
|
||||
|
@ -50,12 +52,12 @@ fi
|
|||
|
||||
if [[ ! -x "$(command -v $MZ)" ]]; then
|
||||
echo "SKIP: $MZ not installed"
|
||||
exit 0
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -v NUM_NETIFS ]]; then
|
||||
echo "SKIP: importer does not define \"NUM_NETIFS\""
|
||||
exit 0
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##############################################################################
|
||||
|
@ -115,7 +117,7 @@ for i in $(eval echo {1..$NUM_NETIFS}); do
|
|||
ip link show dev ${NETIFS[p$i]} &> /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "SKIP: could not find all required interfaces"
|
||||
exit 0
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
|
|
Loading…
Reference in New Issue