diff options
Diffstat (limited to 'package/ppp/files/ppp.sh')
-rw-r--r-- | package/ppp/files/ppp.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/package/ppp/files/ppp.sh b/package/ppp/files/ppp.sh new file mode 100644 index 0000000000..343223af1b --- /dev/null +++ b/package/ppp/files/ppp.sh @@ -0,0 +1,29 @@ +scan_ppp() { + config_get ifname "$1" ifname + pppdev="${pppdev:-0}" + config_set "$1" ifname "ppp$pppdev" + config_set "$1" unit "$pppdev" +} + +start_pppd() { + local cfg="$1"; shift + config_get device "$cfg" device + config_get unit "$cfg" unit + config_get username "$cfg" username + config_get password "$cfg" password + config_get keepalive "$cfg" keepalive + interval="${keepalive%%*[, ]}" + [ "$interval" != "$keepalive" ] || interval=5 + + config_get demand "$cfg" demand + [ -n "$demand" ] && echo "nameserver 1.1.1.1" > /tmp/resolv.conf + /usr/sbin/pppd "$@" \ + ${keepalive:+lcp-echo-interval $interval lcp-echo-failure ${keepalive##[, ]*}} \ + ${demand:+precompiled-active-filter /etc/ppp/filter demand idle }${demand:-persist} \ + usepeerdns \ + defaultroute \ + replacedefaultroute \ + ${username:+user "$username" password "$password"} \ + linkname "$cfg" \ + ipparam "$cfg" +} |