summaryrefslogtreecommitdiffstats
path: root/openwrt/package/ppp/files/ifup.pppoe
blob: caf06f76ca670bdf6a39c4bc971f6e40b95c7bfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
) &