diff options
Diffstat (limited to 'package/linux-atm/files/br2684.init')
-rw-r--r-- | package/linux-atm/files/br2684.init | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/package/linux-atm/files/br2684.init b/package/linux-atm/files/br2684.init index 90ba36521d..88f40e76b6 100644 --- a/package/linux-atm/files/br2684.init +++ b/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 } |