0001
0002
0003
0004
0005 DEBUG=${DEBUG:-0}
0006
0007 set -e
0008 test ${DEBUG} -ne 0 && set -x
0009
0010 finish()
0011 {
0012 ip netns delete server || true
0013 ip netns delete client || true
0014 ip link del link1_1 || true
0015 }
0016
0017 trap finish EXIT
0018
0019 client_ip4=192.168.1.198
0020 server_ip4=192.168.1.254
0021
0022
0023 echo 180 >/proc/sys/kernel/panic
0024
0025
0026 ip link add dev link1_1 type veth peer name link1_2
0027
0028 ip netns add "server"
0029 ip link set dev link1_2 netns server up name eth0
0030 ip netns exec server ip addr add ${server_ip4}/24 dev eth0
0031
0032 ip netns add "client"
0033 ip link set dev link1_1 netns client down name eth0
0034 ip netns exec client ip link add dev bond0 down type bond mode 1 \
0035 miimon 100 all_slaves_active 1
0036 ip netns exec client ip link set dev eth0 down master bond0
0037 ip netns exec client ip link set dev bond0 up
0038 ip netns exec client ip addr add ${client_ip4}/24 dev bond0
0039 ip netns exec client ping -c 5 $server_ip4 >/dev/null
0040
0041 ip netns exec client ip link set dev eth0 down nomaster
0042 ip netns exec client ip link set dev bond0 down
0043 ip netns exec client ip link set dev bond0 type bond mode 0 \
0044 arp_interval 1000 arp_ip_target "+${server_ip4}"
0045 ip netns exec client ip link set dev eth0 down master bond0
0046 ip netns exec client ip link set dev bond0 up
0047 ip netns exec client ping -c 5 $server_ip4 >/dev/null
0048
0049 exit 0