ppp: propagate master peerdns setting to dynamic slave interface
[lede.git] / package / network / services / ppp / files / ppp.sh
index a6389a8b93c1849a73bc4e34d4da95234aec18d6..73bc3161cdcb9f67bfd7875895a6230167792231 100755 (executable)
@@ -79,18 +79,21 @@ ppp_generic_init_config() {
        proto_config_add_int mtu
        proto_config_add_string pppname
        proto_config_add_string unnumbered
+       proto_config_add_boolean persist
+       proto_config_add_int maxfail
+       proto_config_add_int holdoff
 }
 
 ppp_generic_setup() {
        local config="$1"; shift
        local localip
 
-       json_get_vars ipv6 demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered
+       json_get_vars ipv6 ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns
        if [ "$ipv6" = 0 ]; then
                ipv6=""
        elif [ -z "$ipv6" -o "$ipv6" = auto ]; then
                ipv6=1
-               proto_export "AUTOIPV6=1"
+               autoipv6=1
        fi
 
        if [ "${demand:-0}" -gt 0 ]; then
@@ -98,6 +101,12 @@ ppp_generic_setup() {
        else
                demand=""
        fi
+       if [ -n "$persist" ]; then
+               [ "${persist}" -lt 1 ] && persist="nopersist" || persist="persist"
+       fi
+       if [ -z "$maxfail" ]; then
+               [ "$persist" = "persist" ] && maxfail=0 || maxfail=1
+       fi
        [ -n "$mtu" ] || json_get_var mtu mtu
        [ -n "$pppname" ] || pppname="${proto:-ppp}-$config"
        [ -n "$unnumbered" ] && {
@@ -126,14 +135,18 @@ ppp_generic_setup() {
                ${localip:+$localip:} \
                ${lcp_failure:+lcp-echo-interval $lcp_interval lcp-echo-failure $lcp_failure $lcp_adaptive} \
                ${ipv6:++ipv6} \
+               ${autoipv6:+set AUTOIPV6=1} \
+               ${ip6table:+set IP6TABLE=$ip6table} \
+               ${peerdns:+set PEERDNS=$peerdns} \
                nodefaultroute \
                usepeerdns \
-               $demand maxfail 1 \
+               $demand $persist maxfail $maxfail \
+               ${holdoff:+holdoff "$holdoff"} \
                ${username:+user "$username" password "$password"} \
                ${connect:+connect "$connect"} \
                ${disconnect:+disconnect "$disconnect"} \
                ip-up-script /lib/netifd/ppp-up \
-               ipv6-up-script /lib/netifd/ppp-up \
+               ipv6-up-script /lib/netifd/ppp6-up \
                ip-down-script /lib/netifd/ppp-down \
                ipv6-down-script /lib/netifd/ppp-down \
                ${mtu:+mtu $mtu mru $mtu} \