-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbonding_ibmveth.sh
60 lines (53 loc) · 1.57 KB
/
bonding_ibmveth.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash
# https://wiki.linuxfoundation.org/networking/bonding
devices=("env2" "env4" "env5" "env6")
bond_device="bond4"
bond_ip="ADD NEW IP HERE"
ip link
function remove_bond_interface( ) {
echo "REMOVING ${bond_device}"
echo \> ip link delete dev ${bond_device}
ip link delete dev ${bond_device}
echo \> "echo -${bond_device} > /sys/class/net/bonding_masters"
echo -${bond_device} > /sys/class/net/bonding_masters
}
if [ "$1" == "remove" ] ; then
remove_bond_interface
exit 0
fi
for d in ${devices[@]}; do
echo \> "echo ip addr flush dev $d"
echo ip addr flush dev $d
done
for d in ${devices[@]}; do
echo \> "ip link set $d down"
ip link set $d down
done
echo \> "modprobe bonding"
modprobe bonding
sleep 1
echo \> "echo +${bond_device} > /sys/class/net/bonding_masters"
echo +${bond_device} > /sys/class/net/bonding_masters
sleep 1
# balance rr
echo \> "echo 0 > /sys/class/net/${bond_device}/bonding/mode"
echo 0 > /sys/class/net/${bond_device}/bonding/mode
sleep 1
echo \> "echo 100 > /sys/class/net/${bond_device}/bonding/miimon"
echo 100 > /sys/class/net/${bond_device}/bonding/miimon
for d in ${devices[@]}; do
echo \> "echo +${d} > /sys/class/net/${bond_device}/bonding/slaves"
echo +${d} > /sys/class/net/${bond_device}/bonding/slaves
done
sleep 1
for d in ${devices[@]}; do
echo \> "ip link set $d up"
ip link set $d up
done
echo \> "ip addr add $bond_ip dev $bond_device"
ip addr add $bond_ip dev $bond_device
sleep 1
echo \> "ip link set $bond_device up"
ip link set $bond_device up
echo \> cat /proc/net/bonding/${bond_device}
cat /proc/net/bonding/${bond_device}