From 92d43c54f0bd5142a2a844b1910d15c808d86992 Mon Sep 17 00:00:00 2001 From: Judd Vinet Date: Fri, 11 Feb 2005 01:21:43 +0000 Subject: added ethernet bonding support (still untested) --- network | 113 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 63 insertions(+), 50 deletions(-) (limited to 'network') diff --git a/network b/network index 6161875..d10c2ad 100755 --- a/network +++ b/network @@ -6,6 +6,9 @@ # look for wireless settings [ -f /etc/conf.d/wireless ] && . /etc/conf.d/wireless +# look for ethernet bonding settings +[ -f /etc/conf.d/bonding ] && . /etc/conf.d/bonding + # look for dhcpcd settings [ -f /etc/conf.d/dhcpcd ] && . /etc/conf.d/dhcpcd @@ -108,62 +111,72 @@ rtlist() case "$1" in start) - if ! ck_daemon network; then - echo "Network is already running. Try 'network restart'" - exit - fi - stat_busy "Starting Network" - error=0 - for ifline in ${INTERFACES[@]}; do - if echo $ifline | grep '^[^\!]' >/dev/null 2>&1; then - ifup $ifline || error=1 + if ! ck_daemon network; then + echo "Network is already running. Try 'network restart'" + exit fi - done - for rtline in "${ROUTES[@]}"; do - if echo $rtline | grep '^[^\!]' 2>&1 >/dev/null; then - rtup $rtline || error=1 + stat_busy "Starting Network" + error=0 + # bring up interfaces + for ifline in ${INTERFACES[@]}; do + if echo $ifline | grep '^[^\!]' >/dev/null 2>&1; then + ifup $ifline || error=1 + fi + done + # bring up bond interfaces + for ifline in ${BOND_INTERFACES[@]}; do + if echo $ifline | grep '^[^\!]' 2>&1 >/dev/null; then + bvarname="\$bond_${ifline}" + eval bif_line=$bvarname + /sbin/ifenslave $ifline $bif_line || error=1 + fi + done + # bring up routes + for rtline in "${ROUTES[@]}"; do + if echo $rtline | grep '^[^\!]' 2>&1 >/dev/null; then + rtup $rtline || error=1 + fi + done + if [ $error -eq 0 ]; then + add_daemon network + stat_done + else + stat_fail fi - done - if [ $error -eq 0 ]; then - add_daemon network - stat_done - else - stat_fail - fi - ;; + ;; stop) - if ck_daemon network; then - echo "Network is not running. Try 'network start'" - exit - fi - stat_busy "Stopping Network" - rm_daemon network - error=0 - for rtline in "${ROUTES[@]}"; do - if echo $rtline | grep '^[^\!]' 2>&1 >/dev/null; then - rtdown $rtline || error=1 + if ck_daemon network; then + echo "Network is not running. Try 'network start'" + exit fi - done - for ifline in ${INTERFACES[@]}; do - if echo $ifline | grep '^[^\!]' 2>&1 >/dev/null; then - ifdown $ifline || error=1 + stat_busy "Stopping Network" + rm_daemon network + error=0 + for rtline in "${ROUTES[@]}"; do + if echo $rtline | grep '^[^\!]' 2>&1 >/dev/null; then + rtdown $rtline || error=1 + fi + done + for ifline in ${INTERFACES[@]}; do + if echo $ifline | grep '^[^\!]' 2>&1 >/dev/null; then + ifdown $ifline || error=1 + fi + done + if [ $error -eq 0 ]; then + stat_done + else + stat_fail fi - done - if [ $error -eq 0 ]; then - stat_done - else - stat_fail - fi - ;; + ;; restart) - $0 stop - /bin/sleep 2 - $0 start - ;; + $0 stop + /bin/sleep 2 + $0 start + ;; ifup|ifdown|iflist|rtup|rtdown|rtlist) - $1 $2 - ;; + $1 $2 + ;; *) - echo "usage: $0 {start|stop|restart}" - echo " $0 {ifup|ifdown|iflist|rtup|rtdown|rtlist}" + echo "usage: $0 {start|stop|restart}" + echo " $0 {ifup|ifdown|iflist|rtup|rtdown|rtlist}" esac -- cgit v1.2.3