X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/5606d99dae14e010d9e07d1bab940d1ea95ea391..6bb334c1e3a2df28539aaaa0bd88f4876b2fc561:/openwrt/package/ppp/files/ifup.pppoa diff --git a/openwrt/package/ppp/files/ifup.pppoa b/openwrt/package/ppp/files/ifup.pppoa index 7fac6ccac..baea25ebf 100644 --- a/openwrt/package/ppp/files/ifup.pppoa +++ b/openwrt/package/ppp/files/ifup.pppoa @@ -14,30 +14,32 @@ for module in slhc ppp_generic 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} +VPI=$(nvram get atm_vpi) +VCI=$(nvram get atm_vci) +USERNAME=$(nvram get ppp_username) +PASSWORD=$(nvram get ppp_passwd) +KEEPALIVE=$(nvram get ppp_redialperiod) +KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 1 lcp-echo-failure $KEEPALIVE} +DEMAND=$(nvram get ppp_demand) +case "$DEMAND" in + on|1|enabled) + DEMAND=$(nvram get ppp_idletime) + DEMAND=${IDLETIME:+demand idle $IDLETIME} + [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} + ;; + *) DEMAND="persist";; +esac +MTU=$(nvram get ppp_mtu) +MTU=${MTU:-1500} - /usr/sbin/pppd nodetach \ +/usr/sbin/pppd \ plugin pppoatm.so ${VPI:-8}.${VCI:-35} \ - 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 & + usepeerdns \ + defaultroute \ + linkname $type \ + ipparam $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE