Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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"