X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/1ec9bfb350e3c3422cd4ba4b768caa25705ee554..a6dddaa10e79549d1ea8a2aa5228ca879416eba3:/package/ppp/files/ifup.pppoe?ds=sidebyside diff --git a/package/ppp/files/ifup.pppoe b/package/ppp/files/ifup.pppoe index dbf58c380..36bbe3029 100644 --- a/package/ppp/files/ifup.pppoe +++ b/package/ppp/files/ifup.pppoe @@ -1,7 +1,7 @@ #!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh -. /etc/nvram.overrides +. /etc/network.overrides [ -e /etc/config/network ] && . /etc/config/network type=$1 @@ -18,13 +18,18 @@ while :; do IFNAME=$(nvram get pppoe_ifname) 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} + KEEPALIVE=$(nvram get ppp_redialperiod) + KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 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} + ;; + *) DEMAND="";; + esac MTU=$(nvram get ppp_mtu) MTU=${MTU:-1492} - MTU=${MTU:+ mtu $MTU mru $MTU} ifconfig $IFNAME up /usr/sbin/pppd nodetach \ @@ -33,10 +38,14 @@ while :; do usepeerdns \ defaultroute \ linkname $type \ + ipparam $type \ user "$USERNAME" \ password "$PASSWORD" \ - $MTU \ - $IDLETIME \ - $REDIAL \ - $IFNAME + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE \ + nic-$IFNAME + + # Read settings again (might have changed) + [ -e /etc/config/network ] && . /etc/config/network done &