use resolv.conf.auto when setting the temporary dial on demand nameserver
[openwrt/svn-archive/openwrt.git] / openwrt / package / ppp / files / ifup.pppoe
1 #!/bin/sh
2 [ $# = 0 ] && { echo " $0 <group>"; exit; }
3 . /etc/functions.sh
4 type=$1
5
6 [ "$(nvram get ${type}_proto)" = "pppoe" ] || {
7 echo "$0: ${type}_proto isn't pppoe"
8 exit
9 }
10
11 mkdir -p /var/lock
12
13 for module in slhc ppp_generic pppox pppoe; do
14 /sbin/insmod $module 2>&- >&-
15 done
16
17 (while :; do
18 IFNAME=$(nvram get wan_device)
19 USERNAME=$(nvram get ppp_username)
20 PASSWORD=$(nvram get ppp_passwd)
21 KEEPALIVE=$(nvram get ppp_redialperiod)
22 KEEPALIVE=${KEEPALIVE:+lcp-echo-failure 5 lcp-echo-interval $KEEPALIVE}
23 DEMAND=$(nvram get ppp_demand)
24 case "$DEMAND" in
25 on|1|enabled)
26 DEMAND=$(nvram get ppp_idletime)
27 DEMAND=${DEMAND:+demand idle $DEMAND}
28 [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND}
29 # set up a dummy nameserver for dial on demand
30 echo "nameserver 1.1.1.1" > /tmp/resolv.conf.auto
31 ;;
32 *) DEMAND="";;
33 esac
34
35 MTU=$(nvram get ppp_mtu)
36 MTU=${MTU:-1492}
37
38 ifconfig $IFNAME up
39 /usr/sbin/pppd nodetach \
40 plugin rp-pppoe.so \
41 connect /bin/true \
42 usepeerdns \
43 defaultroute \
44 replacedefaultroute \
45 ipparam "$type" \
46 linkname "$type" \
47 user "$USERNAME" \
48 password "$PASSWORD" \
49 mtu $MTU \
50 mru $MTU \
51 $DEMAND \
52 $KEEPALIVE \
53 nic-$IFNAME
54 done 2>&1 >/dev/null ) &