summaryrefslogtreecommitdiff
path: root/package/pptp/files/ifup.pptp
diff options
context:
space:
mode:
Diffstat (limited to 'package/pptp/files/ifup.pptp')
-rw-r--r--package/pptp/files/ifup.pptp45
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
+