49 lines
1.1 KiB
Bash
49 lines
1.1 KiB
Bash
#!/bin/sh
|
|
[ $# = 0 ] && { echo " $0 <group>"; exit; }
|
|
. /etc/functions.sh
|
|
. /etc/network.overrides
|
|
[ -e /etc/config/network ] && . /etc/config/network
|
|
type=$1
|
|
|
|
[ "$(nvram get ${type}_proto)" = "pppoe" ] || {
|
|
echo "$0: ${type}_proto isn't pppoe"
|
|
exit
|
|
}
|
|
|
|
for module in slhc ppp_generic pppox pppoe; do
|
|
/sbin/insmod $module 2>&- >&-
|
|
done
|
|
|
|
IFNAME=$(nvram get ${type}_device)
|
|
USERNAME=$(nvram get ppp_username)
|
|
PASSWORD=$(nvram get ppp_passwd)
|
|
KEEPALIVE=$(nvram get ppp_redialperiod)
|
|
KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 1 lcp-echo-failure $KEEPALIVE}
|
|
DEMAND=$(nvram get ppp_demand)
|
|
case "$DEMAND" in
|
|
on|1|enabled)
|
|
DEMAND=$(nvram get ppp_idletime)
|
|
DEMAND=${IDLETIME:+demand idle $IDLETIME}
|
|
[ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND}
|
|
;;
|
|
*) DEMAND="persist";;
|
|
esac
|
|
MTU=$(nvram get ppp_mtu)
|
|
MTU=${MTU:-1492}
|
|
|
|
ifconfig $IFNAME up
|
|
/usr/sbin/pppd \
|
|
plugin rp-pppoe.so \
|
|
connect /bin/true \
|
|
usepeerdns \
|
|
defaultroute \
|
|
linkname $type \
|
|
ipparam $type \
|
|
user "$USERNAME" \
|
|
password "$PASSWORD" \
|
|
mtu $MTU mru $MTU \
|
|
$DEMAND \
|
|
$KEEPALIVE \
|
|
nic-$IFNAME
|
|
|