diff options
Diffstat (limited to 'openwrt/package/ppp/files/ifup.pppoe')
-rw-r--r-- | openwrt/package/ppp/files/ifup.pppoe | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/openwrt/package/ppp/files/ifup.pppoe b/openwrt/package/ppp/files/ifup.pppoe new file mode 100644 index 000000000..caf06f76c --- /dev/null +++ b/openwrt/package/ppp/files/ifup.pppoe @@ -0,0 +1,29 @@ +#!/bin/sh +. /etc/functions.sh +IF_NAME=$1 + +PROTO=$(nvram get ${IF_NAME}_proto) +[ "$PROTO" = "pppoe" ] || exit 0 + +for module in slhc ppp_generic pppox pppoe; do + /sbin/insmod $module 2>/dev/null >/dev/null +done + +( + while true; 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} + MTUV=$(nvram get ppp_mtu) + MTU=${MTUV:+mtu $MTUV} + MRU=${MTUV:+mru $MTUV} + + ifconfig $IFNAME up + echo -e "plugin rp-pppoe.so\nconnect /bin/true\nusepeerdns\ndefaultroute\nuser \"$USERNAME\"\npassword \"$PASSWORD\"\n$MTU\n$MRU\n$IDLETIME\n$REDIAL" > /tmp/.pppoe-data + /usr/sbin/pppd nodetach file /tmp/.pppoe-data $IFNAME + done +) & |