summaryrefslogtreecommitdiff
path: root/templates/interfaces/bonding/node.def
blob: d87d5b989911fb1d2ac39e2945dc877e9416b717 (plain)
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
tag:
priority: 315
type: txt
help: Bonding interface name
val_help: <bondN>; Bonding interface name 
syntax:expression: pattern $VAR(@) "^bond[0-9]+$" \
         ; "bonding must be (bond0-bond99)"

begin: if [ ! -f /sys/class/net/bonding_masters ]; then
           sudo modprobe bonding max_bonds=0 miimon=250
       fi

create: sudo sh -c "echo +$VAR(@) > /sys/class/net/bonding_masters" || exit 1
        touch /tmp/bonding_$VAR(@).$PPID

delete: SLAVES=`cat /sys/class/net/$VAR(@)/bonding/slaves`;
	if [ -z "$SLAVES" ]
	then 
	    sudo sh -c "echo -$VAR(@) > /sys/class/net/bonding_masters"
        else 
	   echo "bonded interface $VAR(@) still has slaves: $SLAVES"
           exit 1;           
        fi

end: if [ -f /tmp/bonding_$VAR(@).$PPID ]
     then rm -f /tmp/bonding_$VAR(@).$PPID
	  sudo ip link set "$VAR(@)" up
	  /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on
     fi