aboutsummaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorJudd Vinet <judd@archlinux.org>2005-02-11 01:21:43 +0000
committerJudd Vinet <judd@archlinux.org>2005-02-11 01:21:43 +0000
commit92d43c54f0bd5142a2a844b1910d15c808d86992 (patch)
tree7148e445e0c14afb6d2e54063c5a9bf81fe053bf /network
parente8a2e4663543d16fcafa4c62c75f42fdab32ff28 (diff)
downloadinitscripts-92d43c54f0bd5142a2a844b1910d15c808d86992.tar.xz
added ethernet bonding support (still untested)
Diffstat (limited to 'network')
-rwxr-xr-xnetwork113
1 files changed, 63 insertions, 50 deletions
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