summaryrefslogtreecommitdiff
path: root/package/ppp/files/pppoe.init
diff options
context:
space:
mode:
Diffstat (limited to 'package/ppp/files/pppoe.init')
-rw-r--r--package/ppp/files/pppoe.init29
1 files changed, 29 insertions, 0 deletions
diff --git a/package/ppp/files/pppoe.init b/package/ppp/files/pppoe.init
new file mode 100644
index 0000000000..d0cfa261ae
--- /dev/null
+++ b/package/ppp/files/pppoe.init
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+. /etc/functions.sh
+
+WAN_PROTO=$(nvram get wan_proto)
+[ "$WAN_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
+) &