diff options
Diffstat (limited to 'package/pptp/files/ifup.pptp')
-rw-r--r-- | package/pptp/files/ifup.pptp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/package/pptp/files/ifup.pptp b/package/pptp/files/ifup.pptp new file mode 100644 index 000000000..f401a36b2 --- /dev/null +++ b/package/pptp/files/ifup.pptp @@ -0,0 +1,45 @@ +#!/bin/sh +[ $# = 0 ] && { echo " $0 <group>"; exit; } +. /etc/config/network +type=$1 + +eval "proto=\"\${${type}_proto}\"" +[ "$proto" = "pptp" ] || { + echo "$0: ${type}_proto isn't pptp" + exit +} + +mkdir -p /var/lock + +for module in slhc ppp_generic ppp_async ip_gre; do + /sbin/insmod $module 2>&- >&- +done + +KEEPALIVE=${ppp_redialperiod:+lcp-echo-interval $ppp_redialperiod lcp-echo-failure 5} +case "$ppp_demand" in + on|1|enabled) + DEMAND=${ppp_idletime:+demand idle $ppp_idletime} + [ -f /etc/ppp/filter ] && DEMAND=${DEMAND:+precompiled-active-filter /etc/ppp/filter $DEMAND} + ;; + *) DEMAND="persist";; +esac +MTU=${ppp_mtu:-1452} + +[ "$pptp_proto" = "static" ] || pptp_proto="dhcp" +do_ifup $pptp_proto $type + +/usr/sbin/pppd \ + pty "/usr/sbin/pptp $pptp_server_ip --loglevel 0 --nolaunchpppd" \ + file /etc/ppp/options.pptp \ + connect /bin/true \ + usepeerdns \ + defaultroute \ + replacedefaultroute \ + linkname "$type" \ + ipparam "$type" \ + user "$ppp_username" \ + password "$ppp_passwd" \ + mtu $MTU mru $MTU \ + $DEMAND \ + $KEEPALIVE + |