提交 daa13701 编写于 作者: D David S. Miller

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: NDavid S. Miller <davem@davemloft.net>
#!/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 ...@@ -14,11 +14,6 @@ NETIFS[p6]=veth5
NETIFS[p7]=veth6 NETIFS[p7]=veth6
NETIFS[p8]=veth7 NETIFS[p8]=veth7
NETIF_TYPE=veth
# only virtual interfaces (veth) can be created by test infra
#NETIF_CREATE=yes
############################################################################## ##############################################################################
# Defines # Defines
...@@ -34,3 +29,7 @@ WAIT_TIME=5 ...@@ -34,3 +29,7 @@ WAIT_TIME=5
PAUSE_ON_FAIL=no PAUSE_ON_FAIL=no
# Whether to pause on cleanup or not. # Whether to pause on cleanup or not.
PAUSE_ON_CLEANUP=no 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} ...@@ -11,6 +11,8 @@ MZ=${MZ:=mausezahn}
WAIT_TIME=${WAIT_TIME:=5} WAIT_TIME=${WAIT_TIME:=5}
PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no} PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no}
PAUSE_ON_CLEANUP=${PAUSE_ON_CLEANUP:=no} PAUSE_ON_CLEANUP=${PAUSE_ON_CLEANUP:=no}
NETIF_TYPE=${NETIF_TYPE:=veth}
NETIF_CREATE=${NETIF_CREATE:=yes}
if [[ -f forwarding.config ]]; then if [[ -f forwarding.config ]]; then
source forwarding.config source forwarding.config
...@@ -50,12 +52,12 @@ fi ...@@ -50,12 +52,12 @@ fi
if [[ ! -x "$(command -v $MZ)" ]]; then if [[ ! -x "$(command -v $MZ)" ]]; then
echo "SKIP: $MZ not installed" echo "SKIP: $MZ not installed"
exit 0 exit 1
fi fi
if [[ ! -v NUM_NETIFS ]]; then if [[ ! -v NUM_NETIFS ]]; then
echo "SKIP: importer does not define \"NUM_NETIFS\"" echo "SKIP: importer does not define \"NUM_NETIFS\""
exit 0 exit 1
fi fi
############################################################################## ##############################################################################
...@@ -115,7 +117,7 @@ for i in $(eval echo {1..$NUM_NETIFS}); do ...@@ -115,7 +117,7 @@ for i in $(eval echo {1..$NUM_NETIFS}); do
ip link show dev ${NETIFS[p$i]} &> /dev/null ip link show dev ${NETIFS[p$i]} &> /dev/null
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
echo "SKIP: could not find all required interfaces" echo "SKIP: could not find all required interfaces"
exit 0 exit 1
fi fi
done done
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册