Openwrt/openwrt/package/ppp/files/pppoe.init

30 lines
837 B
Bash

#!/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
) &