From c40541ffc885a906a8623bba7eba99053757c1ae Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 19 Nov 2005 03:17:20 +0000 Subject: hotplug-based network script rewrite git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2531 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- openwrt/package/linux-atm/Makefile | 4 +-- openwrt/package/linux-atm/files/br2684.init | 41 ++++++++++++++--------------- 2 files changed, 22 insertions(+), 23 deletions(-) (limited to 'openwrt/package/linux-atm') diff --git a/openwrt/package/linux-atm/Makefile b/openwrt/package/linux-atm/Makefile index d36c7c39e3..3c7bf9c5b5 100644 --- a/openwrt/package/linux-atm/Makefile +++ b/openwrt/package/linux-atm/Makefile @@ -63,8 +63,8 @@ $(IPKG_LINUX_ATM): $(IPKG_BR2684CTL): install -d -m0755 $(IDIR_BR2684CTL)/usr/sbin cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/br2684ctl $(IDIR_BR2684CTL)/usr/sbin/ - install -d -m0755 $(IDIR_BR2684CTL)/etc/init.d - install -m0755 ./files/br2684.init $(IDIR_BR2684CTL)/etc/init.d/S30br2684 + install -d -m0755 $(IDIR_BR2684CTL)/etc/hotplug.d/net + install -m0644 ./files/br2684.init $(IDIR_BR2684CTL)/etc/hotplug.d/net/30-br2684 $(RSTRIP) $(IDIR_BR2684CTL)/ $(IPKG_BUILD) $(IDIR_BR2684CTL) $(PACKAGE_DIR) diff --git a/openwrt/package/linux-atm/files/br2684.init b/openwrt/package/linux-atm/files/br2684.init index 90ba36521d..88f40e76b6 100644 --- a/openwrt/package/linux-atm/files/br2684.init +++ b/openwrt/package/linux-atm/files/br2684.init @@ -1,22 +1,21 @@ -#!/bin/sh -. /etc/functions.sh -[ -e /etc/config/network ] && . /etc/config/network - -killall br2684ctl 2>&- >&- -[ "$(nvram get pppoe_atm)" = 1 ] && { - VPI=$(nvram get atm_vpi) - VCI=$(nvram get atm_vci) - case "$(nvram get atm_encaps)" in - 0|vc) - ENCAPS=0 - ;; - 1|llc) - ENCAPS=1 - ;; - *) - ENCAPS=0 - ;; - esac - insmod br2684 - br2684ctl -c0 -e${ENCAPS} -a${VPI:-8}.${VCI:-35} & +[ "${INTERFACE%%[0-9]*}" = "atm" ] && { + case "$ACTION" in + register) + [ "$(nvram get pppoe_atm)" = 1 ] && { + VPI=$(nvram get atm_vpi) + VCI=$(nvram get atm_vci) + case "$(nvram get atm_encaps)" in + 0|vc) ENCAPS=0 ;; + 1|llc) ENCAPS=1 ;; + *) ENCAPS=0 ;; + esac + insmod br2684 2>&- >&- + br2684ctl -c0 -e${ENCAPS} -a${VPI:-8}.${VCI:-35} & + } + ;; + unregister) + killall br2684ctl 2>&- >&- + rmmod br2684 + ;; + esac } -- cgit v1.2.3