diff options
Diffstat (limited to 'openwrt/package/ppp/files/ifup.pppoa')
-rw-r--r-- | openwrt/package/ppp/files/ifup.pppoa | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/openwrt/package/ppp/files/ifup.pppoa b/openwrt/package/ppp/files/ifup.pppoa new file mode 100644 index 000000000..ee88e4b9e --- /dev/null +++ b/openwrt/package/ppp/files/ifup.pppoa @@ -0,0 +1,45 @@ +#!/bin/sh +[ $# = 0 ] && { echo " $0 <group>"; exit; } +. /etc/functions.sh +. /etc/network.overrides +[ -e /etc/config/network ] && . /etc/config/network +type=$1 + +[ "$(nvram get ${type}_proto)" = "pppoa" ] || { + echo "$0: ${type}_proto isn't pppoa" + exit +} + +for module in slhc ppp_generic pppox pppoatm; do + /sbin/insmod $module 2>&- >&- +done + +while :; do + VPI=$(nvram get atm_vpi) + VCI=$(nvram get atm_vci) + USERNAME=$(nvram get ppp_username) + PASSWORD=$(nvram get ppp_passwd) + REDIAL=$(nvram get ppp_redialperiod) + REDIAL=${REDIAL:+lcp-echo-interval $REDIAL} + IDLETIME=$(nvram get ppp_idletime) + IDLETIME=${IDLETIME:+lcp-echo-failure $IDLETIME} + MTU=$(nvram get ppp_mtu) + MTU=${MTU:-1492} + MTU=${MTU:+ mtu $MTU mru $MTU} + + ifconfig $IFNAME up + /usr/sbin/pppd nodetach \ + plugin pppoatm.so ${VPI:-8}.${VCI:-35} \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + linkname $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + $MTU \ + $IDLETIME \ + $REDIAL + + # Read settings again (might have changed) + [ -e /etc/config/network ] && . /etc/config/network +done & |