diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-10-25 09:15:18 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2010-10-25 09:15:18 -0700 |
commit | 6c0a3aa59ed28dceddd8e5f09fdad12e255639ee (patch) | |
tree | 129f1c9ad43763a4961429ba3352e52e302b9cd3 | |
parent | 227ba9c0795cbe3a800266a17a5e762ea60c904d (diff) | |
download | vyatta-cfg-system-6c0a3aa59ed28dceddd8e5f09fdad12e255639ee.tar.gz vyatta-cfg-system-6c0a3aa59ed28dceddd8e5f09fdad12e255639ee.zip |
Wait to bring up bond interface until end
Setting bonding parameter requires setting interface down.
Avoid flapping interface unnecessarily on boot, by defering
setting link up until end of boot.
-rw-r--r-- | templates/interfaces/bonding/node.def | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/templates/interfaces/bonding/node.def b/templates/interfaces/bonding/node.def index 211140da..2346c490 100644 --- a/templates/interfaces/bonding/node.def +++ b/templates/interfaces/bonding/node.def @@ -9,9 +9,10 @@ syntax:expression: pattern $VAR(@) "^bond[0-9]+$" \ 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 - ip link set "$VAR(@)" up - /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on + touch /tmp/bonding_$VAR(@).$PPID + delete: SLAVES=`cat /sys/class/net/$VAR(@)/bonding/slaves`; if [ -z "$SLAVES" ] then @@ -20,3 +21,9 @@ delete: SLAVES=`cat /sys/class/net/$VAR(@)/bonding/slaves`; 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 + ip link set "$VAR(@)" up + /opt/vyatta/sbin/vyatta-link-detect $VAR(@) on + fi |