xref: /linux/tools/testing/selftests/drivers/net/bonding/mode-1-recovery-updelay.sh (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1c2518da8SBenjamin Poirier#!/bin/bash
2d43eff0bSJonathan Toppins# SPDX-License-Identifier: GPL-2.0
3d43eff0bSJonathan Toppins
4d43eff0bSJonathan Toppins# Regression Test:
5d43eff0bSJonathan Toppins#  When the bond is configured with down/updelay and the link state of
6d43eff0bSJonathan Toppins#  slave members flaps if there are no remaining members up the bond
7d43eff0bSJonathan Toppins#  should immediately select a member to bring up. (from bonding.txt
8d43eff0bSJonathan Toppins#  section 13.1 paragraph 4)
9d43eff0bSJonathan Toppins#
10d43eff0bSJonathan Toppins#  +-------------+       +-----------+
11d43eff0bSJonathan Toppins#  | client      |       | switch    |
12d43eff0bSJonathan Toppins#  |             |       |           |
13d43eff0bSJonathan Toppins#  |    +--------| link1 |-----+     |
14d43eff0bSJonathan Toppins#  |    |        +-------+     |     |
15d43eff0bSJonathan Toppins#  |    |        |       |     |     |
16d43eff0bSJonathan Toppins#  |    |        +-------+     |     |
17d43eff0bSJonathan Toppins#  |    | bond   | link2 | Br0 |     |
18d43eff0bSJonathan Toppins#  +-------------+       +-----------+
19d43eff0bSJonathan Toppins#     172.20.2.1           172.20.2.2
20d43eff0bSJonathan Toppins
21d43eff0bSJonathan Toppins
22d43eff0bSJonathan ToppinsREQUIRE_MZ=no
23d43eff0bSJonathan ToppinsREQUIRE_JQ=no
24d43eff0bSJonathan ToppinsNUM_NETIFS=0
25d43eff0bSJonathan Toppinslib_dir=$(dirname "$0")
26*6500780cSBenjamin Poiriersource "$lib_dir"/../../../net/forwarding/lib.sh
27d43eff0bSJonathan Toppinssource "$lib_dir"/lag_lib.sh
28d43eff0bSJonathan Toppins
29d43eff0bSJonathan Toppinscleanup()
30d43eff0bSJonathan Toppins{
31d43eff0bSJonathan Toppins	lag_cleanup
32d43eff0bSJonathan Toppins}
33d43eff0bSJonathan Toppins
34d43eff0bSJonathan Toppinstrap cleanup 0 1 2
35d43eff0bSJonathan Toppins
36d43eff0bSJonathan Toppinslag_setup_network
37d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 0
38d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 200
39d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 500
40d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 1000
41d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 2000
42d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 5000
43d43eff0bSJonathan Toppinstest_bond_recovery mode 1 miimon 100 updelay 10000
44d43eff0bSJonathan Toppins
45d43eff0bSJonathan Toppinsexit "$EXIT_STATUS"
46