X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/c12f5d086cad8d7229c05c99405ae05b7d5b05ef..30ee8b09baf1f268b73e201f5c35f54e1ba6dfb9:/package/ppp/files/ifup.pppoe diff --git a/package/ppp/files/ifup.pppoe b/package/ppp/files/ifup.pppoe index 6bac6a6d1..b43d2689b 100644 --- a/package/ppp/files/ifup.pppoe +++ b/package/ppp/files/ifup.pppoe @@ -1,6 +1,8 @@ #!/bin/sh [ $# = 0 ] && { echo " $0 "; exit; } . /etc/functions.sh +. /etc/network.overrides +[ -e /etc/config/network ] && . /etc/config/network type=$1 [ "$(nvram get ${type}_proto)" = "pppoe" ] || { @@ -12,28 +14,34 @@ for module in slhc ppp_generic pppox pppoe; do /sbin/insmod $module 2>&- >&- done -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} - MTU=$(nvram get ppp_mtu) - MTU=${MTU:+ mtu $MTU mru $MTU} +IFNAME=$(nvram get ${type}_device) +USERNAME=$(nvram get ppp_username) +PASSWORD=$(nvram get ppp_passwd) +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="persist";; +esac +MTU=$(nvram get ppp_mtu) +MTU=${MTU:-1492} + +ifconfig $IFNAME up +/usr/sbin/pppd \ + plugin rp-pppoe.so \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + linkname $type \ + ipparam $type \ + user "$USERNAME" \ + password "$PASSWORD" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE \ + nic-$IFNAME - ifconfig $IFNAME up - /usr/sbin/pppd nodetach \ - plugin rp-pppoe.so \ - connect /bin/true \ - usepeerdns \ - defaultroute \ - linkname $type \ - user "$USERNAME" \ - password "$PASSWORD" \ - $MTU \ - $IDLETIME \ - $REDIAL \ - $IFNAME -done &