1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4# Regression Test:
5#  When the bond is configured with down/updelay and the link state of
6#  slave members flaps if there are no remaining members up the bond
7#  should immediately select a member to bring up. (from bonding.txt
8#  section 13.1 paragraph 4)
9#
10#  +-------------+       +-----------+
11#  | client      |       | switch    |
12#  |             |       |           |
13#  |    +--------| link1 |-----+     |
14#  |    |        +-------+     |     |
15#  |    |        |       |     |     |
16#  |    |        +-------+     |     |
17#  |    | bond   | link2 | Br0 |     |
18#  +-------------+       +-----------+
19#     172.20.2.1           172.20.2.2
20
21
22REQUIRE_MZ=no
23REQUIRE_JQ=no
24NUM_NETIFS=0
25lib_dir=$(dirname "$0")
26source "$lib_dir"/../../../net/forwarding/lib.sh
27source "$lib_dir"/lag_lib.sh
28
29cleanup()
30{
31	lag_cleanup
32}
33
34trap cleanup 0 1 2
35
36lag_setup_network
37test_bond_recovery mode 2 miimon 100 updelay 0
38test_bond_recovery mode 2 miimon 100 updelay 200
39test_bond_recovery mode 2 miimon 100 updelay 500
40test_bond_recovery mode 2 miimon 100 updelay 1000
41test_bond_recovery mode 2 miimon 100 updelay 2000
42test_bond_recovery mode 2 miimon 100 updelay 5000
43test_bond_recovery mode 2 miimon 100 updelay 10000
44
45exit "$EXIT_STATUS"
46