aboutsummaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorJudd Vinet <judd@archlinux.org>2004-11-23 22:58:25 +0000
committerJudd Vinet <judd@archlinux.org>2004-11-23 22:58:25 +0000
commit4c1c59be80c29f73655913ff139717268ff1f50f (patch)
tree3d5c53a3787a6d543e8a3f48fcbd7bb5ee130993 /network
parent2822ea48f2e7609232d4e4b47285d60097de2828 (diff)
downloadinitscripts-4c1c59be80c29f73655913ff139717268ff1f50f.tar.xz
made rc.d/network pay attention to the new conf.d files (dhcpcd and wireless). also modified rc.sysinit to wait til after modules are loaded before attempting to mount /proc/bus/usb. If the user uses hotplug, then the usb host modules may not be loaded yet, but that's okay -- hotplug will mount /proc/bus/usb for them
Diffstat (limited to 'network')
-rwxr-xr-xnetwork262
1 files changed, 138 insertions, 124 deletions
diff --git a/network b/network
index 4cb589a..fc684ba 100755
--- a/network
+++ b/network
@@ -3,153 +3,167 @@
. /etc/rc.conf
. /etc/rc.d/functions
+# look for wireless settings
+[ -f /etc/conf.d/wireless ] && . /etc/conf.d/wireless
+
+# look for dhcpcd settings
+[ -f /etc/conf.d/dhcpcd ] && . /etc/conf.d/dhcpcd
+
ifup()
{
- if [ "$1" = "" ]; then
- echo "usage: $0 ifup <interface_name>"
- return 1
- fi
- varname="\$${1}"
- eval new_ifline=$varname
- if [ "$new_ifline" = "dhcp" ]; then
- # remove the .pid file if it exists
- rm -f /etc/dhcpc/dhcpcd-${1}.{pid,cache} >/dev/null 2>&1
- /usr/sbin/dhcpcd -t 10 -h $HOSTNAME $1
- else
- /sbin/ifconfig $new_ifline
- fi
- return $?
+ if [ "$1" = "" ]; then
+ echo "usage: $0 ifup <interface_name>"
+ return 1
+ fi
+ for wif in ${WLAN_INTERFACES[@]}; do
+ if [ "$wif" = "${1}" ]; then
+ wvarname="\$wlan_${1}"
+ eval wif_line=$wvarname
+ /usr/sbin/iwconfig $wif_line
+ /usr/bin/sleep 2
+ fi
+ done
+ varname="\$${1}"
+ eval new_ifline=$varname
+ if [ "$new_ifline" = "dhcp" ]; then
+ # remove the .pid file if it exists
+ rm -f /etc/dhcpc/dhcpcd-${1}.{pid,cache} >/dev/null 2>&1
+ /usr/sbin/dhcpcd $DHCPCD_ARGS $1
+ else
+ /sbin/ifconfig $new_ifline
+ fi
+ return $?
}
ifdown()
{
- if [ "$1" = "" ]; then
- echo "usage: $0 ifdown <interface_name>"
- return 1
- fi
- varname="\$${1}"
- eval new_ifline=$varname
- if [ "$new_ifline" = "dhcp" ]; then
- if [ -f /etc/dhcpc/dhcpcd-${1}.pid ]; then
- /bin/kill `cat /etc/dhcpc/dhcpcd-${1}.pid`
- else
- # No .pid file, just bring the interface itself down
- /sbin/ifconfig $1 down
- fi
- else
- /sbin/ifconfig $new_ifline down
- fi
- return $?
+ if [ "$1" = "" ]; then
+ echo "usage: $0 ifdown <interface_name>"
+ return 1
+ fi
+ varname="\$${1}"
+ eval new_ifline=$varname
+ if [ "$new_ifline" = "dhcp" ]; then
+ if [ -f /etc/dhcpc/dhcpcd-${1}.pid ]; then
+ /bin/kill `cat /etc/dhcpc/dhcpcd-${1}.pid`
+ else
+ # No .pid file, just bring the interface itself down
+ /sbin/ifconfig $1 down
+ fi
+ else
+ /sbin/ifconfig $new_ifline down
+ fi
+ return $?
}
iflist()
{
- for ifline in ${INTERFACES[@]}; do
- if echo $ifline | grep '^[^\!]' >/dev/null 2>&1; then
- echo -en " $ifline:\t"
- else
- echo -en "$ifline:\t"
- fi
- eval real_ifline=\$${ifline#!}
- echo $real_ifline
- done
+ for ifline in ${INTERFACES[@]}; do
+ if echo $ifline | grep '^[^\!]' >/dev/null 2>&1; then
+ echo -en " $ifline:\t"
+ else
+ echo -en "$ifline:\t"
+ fi
+ eval real_ifline=\$${ifline#!}
+ echo $real_ifline
+ done
}
rtup()
{
- if [ "$1" = "" ]; then
- echo "usage: $0 rtup <route_name>"
- return 1
- fi
- varname="\$${1}"
- eval new_rtline=$varname
- /sbin/route add $new_rtline
- return $?
+ if [ "$1" = "" ]; then
+ echo "usage: $0 rtup <route_name>"
+ return 1
+ fi
+ varname="\$${1}"
+ eval new_rtline=$varname
+ /sbin/route add $new_rtline
+ return $?
}
rtdown()
{
- if [ "$1" = "" ]; then
- echo "usage: $0 rtdown <route_name>"
- return 1
- fi
- varname="\$${1}"
- eval new_rtline=$varname
- /sbin/route del $new_rtline
- return $?
+ if [ "$1" = "" ]; then
+ echo "usage: $0 rtdown <route_name>"
+ return 1
+ fi
+ varname="\$${1}"
+ eval new_rtline=$varname
+ /sbin/route del $new_rtline
+ return $?
}
rtlist()
{
- for rtline in ${ROUTES[@]}; do
- if echo $rtline | grep '^[^\!]' >/dev/null 2>&1; then
- echo -en " $rtline:\t"
- else
- echo -en "$rtline:\t"
- fi
- eval real_rtline=\$${rtline#!}
- echo $real_rtline
- done
+ for rtline in ${ROUTES[@]}; do
+ if echo $rtline | grep '^[^\!]' >/dev/null 2>&1; then
+ echo -en " $rtline:\t"
+ else
+ echo -en "$rtline:\t"
+ fi
+ eval real_rtline=\$${rtline#!}
+ echo $real_rtline
+ done
}
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
- fi
- done
- 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
- ;;
- 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
- 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
- ;;
- restart)
- $0 stop
- sleep 2
- $0 start
- ;;
- ifup|ifdown|iflist|rtup|rtdown|rtlist)
- $1 $2
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- echo " $0 {ifup|ifdown|iflist|rtup|rtdown|rtlist}"
+ 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
+ fi
+ done
+ 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
+ ;;
+ 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
+ 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
+ ;;
+ restart)
+ $0 stop
+ /usr/bin/sleep 2
+ $0 start
+ ;;
+ ifup|ifdown|iflist|rtup|rtdown|rtlist)
+ $1 $2
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ echo " $0 {ifup|ifdown|iflist|rtup|rtdown|rtlist}"
esac