remove pppoe init script, add ifup.pppoe for that
[openwrt/svn-archive/archive.git] / openwrt / package / ppp / files / ifup.pppoe
diff --git a/openwrt/package/ppp/files/ifup.pppoe b/openwrt/package/ppp/files/ifup.pppoe
new file mode 100644 (file)
index 0000000..caf06f7
--- /dev/null
@@ -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
+) &