hotplug-based network script rewrite
[openwrt/svn-archive/archive.git] / openwrt / package / linux-atm / files / br2684.init
index 90ba36521de6a5514f004ed5866cb7f04375f4c6..88f40e76b62d58bf7d8759057ac36706bd3896ab 100644 (file)
@@ -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
 }