diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-11-19 19:04:15 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-11-19 19:04:15 +0000 |
commit | 777e76abb47dd74816ea063c471359b0db3aa2e7 (patch) | |
tree | abf63218cb81038ce1ca42d9a91c65464dff6500 /package/base-files/default | |
parent | 76dec73b0b803f861192efe08b95f2cf331a96e2 (diff) |
more fixes for the network scripts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@2537 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/default')
-rw-r--r-- | package/base-files/default/etc/hotplug.d/net/10-net | 39 | ||||
-rwxr-xr-x | package/base-files/default/sbin/ifdown | 2 | ||||
-rwxr-xr-x | package/base-files/default/sbin/ifup | 2 |
3 files changed, 23 insertions, 20 deletions
diff --git a/package/base-files/default/etc/hotplug.d/net/10-net b/package/base-files/default/etc/hotplug.d/net/10-net index 3bc980f86f..19f53abd7d 100644 --- a/package/base-files/default/etc/hotplug.d/net/10-net +++ b/package/base-files/default/etc/hotplug.d/net/10-net @@ -23,22 +23,21 @@ find_name() IFTYPE="${ifname}" IFPROTO="$(nvram get ${IFTYPE}_proto)" IFACE="$(nvram get ${IFTYPE}_ifname)" - [ -z "$IFPROTO" -o "$IFPROTO" = "none" ] || { - [ "${IFACE}" = "$INTERFACE" ] && return 0 - case "$IFPROTO" in - static|dhcp) - [ "${IFACE%%[0-9]*}" = "br" ] && { - for part in $(nvram get ${IFTYPE}_ifnames); do - [ "$part" = "$INTERFACE" ] && return 0 - done - } - ;; - *) - [ "$(nvram get ${IFPROTO}_ifname)" = "$INTERFACE" \ - -a -x /sbin/ifup.${IFPROTO} ] && return 0 - ;; - esac - } + case "$IFPROTO" in + ""|none);; + static|dhcp) + [ "${IFACE}" = "$INTERFACE" ] && return 0 + [ "${IFACE%%[0-9]*}" = "br" ] && { + for part in $(nvram get ${IFTYPE}_ifnames); do + [ "$part" = "$INTERFACE" ] && return 0 + done + } + ;; + *) + [ "$(nvram get ${IFPROTO}_ifname)" = "$INTERFACE" \ + -a -x /sbin/ifup.${IFPROTO} ] && return 0 + ;; + esac done IFACE="" IFTYPE="" @@ -155,13 +154,12 @@ do_register() do_ifup "$IFPROTO" "$IFTYPE" "$if" fi } - else - do_ifup "$IFPROTO" "$IFTYPE" "$if" + else + [ "${INTERFACE%%[0-9]*}" = "ppp" ] || do_ifup "$IFPROTO" "$IFTYPE" "$if" fi } do_unregister() { - [ "${INTERFACE%%[0-9]*}" = "atm" ] || ifconfig "$INTERFACE" 0.0.0.0 down 2>&- [ -z "$IFTYPE" -o -z "$IFPROTO" ] && find_name [ -z "$IFTYPE" -o -z "$IFPROTO" ] && return 0 @@ -175,13 +173,14 @@ do_unregister() { case "$IFPROTO" in pppoe|pppoa|pptp) - killall ifup.${IFPROTO} 2>&- >&- killall pppd 2>&- >&- ;; dhcp) [ -f /var/run/${INTERFACE}.pid ] && kill "$(cat /var/run/${INTERFACE}.pid)" 2>&- >&- ;; esac + + [ "${INTERFACE%%[0-9]*}" = "atm" ] || ifconfig "$INTERFACE" 0.0.0.0 down 2>&- } case "$ACTION" in diff --git a/package/base-files/default/sbin/ifdown b/package/base-files/default/sbin/ifdown index 8818d46145..85bb2fbc5d 100755 --- a/package/base-files/default/sbin/ifdown +++ b/package/base-files/default/sbin/ifdown @@ -15,6 +15,8 @@ case "$if_proto" in ""|none) exit 0;; esac +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" + if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do hotplug_dev unregister "$sif" diff --git a/package/base-files/default/sbin/ifup b/package/base-files/default/sbin/ifup index 0a2cdf5331..67e01a3e90 100755 --- a/package/base-files/default/sbin/ifup +++ b/package/base-files/default/sbin/ifup @@ -23,6 +23,8 @@ case "$if_proto" in none|"") exit 0;; esac +[ "${if%%[0-9]*}" = "ppp" ] && if="$(nvram get ${if_proto}_ifname)" + if [ "${if%%[0-9]}" = "br" ]; then for sif in $(nvram get ${type}_ifnames); do hotplug_dev register "$sif" |