4c42fa5bb26df14dccd3d16540240e08549ff07e
[openwrt-10.03/.git] / package / ppp / files / ifup.pppoe
1 #!/bin/sh
2 [ $# = 0 ] && { echo "  $0 <group>"; exit; }
3 . /etc/functions.sh
4 . /etc/network.overrides
5 [ -e /etc/config/network ] && . /etc/config/network
6 type=$1
7
8 [ "$(nvram get ${type}_proto)" = "pppoe" ] || {
9         echo "$0: ${type}_proto isn't pppoe"
10         exit
11 }
12
13 for module in slhc ppp_generic pppox pppoe; do
14         /sbin/insmod $module 2>&- >&-
15 done
16
17 IFNAME=$(nvram get pppoe_ifname)
18 USERNAME=$(nvram get ppp_username)
19 PASSWORD=$(nvram get ppp_passwd)
20 KEEPALIVE=$(nvram get ppp_redialperiod)
21 KEEPALIVE=${KEEPALIVE:+lcp-echo-interval 10 lcp-echo-failure $KEEPALIVE}
22 DEMAND=$(nvram get ppp_demand)
23 case "$DEMAND" in
24         on|1|enabled)
25                 DEMAND=$(nvram get ppp_idletime)
26                 DEMAND=${IDLETIME:+demand idle $IDLETIME}
27         ;;
28         *) DEMAND="persist";;
29 esac
30 MTU=$(nvram get ppp_mtu)
31 MTU=${MTU:-1492}
32
33 ifconfig $IFNAME up
34 /usr/sbin/pppd nodetach \
35         plugin rp-pppoe.so \
36         connect /bin/true \
37         usepeerdns \
38         defaultroute \
39         linkname $type \
40         ipparam $type \
41         user "$USERNAME" \
42         password "$PASSWORD" \
43         mtu $MTU mru $MTU \
44         $DEMAND \
45         $KEEPALIVE \
46         nic-$IFNAME
47