summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpackage/network/services/ppp/files/lib/netifd/ppp6-up1
-rwxr-xr-xpackage/network/services/ppp/files/ppp.sh5
2 files changed, 5 insertions, 1 deletions
diff --git a/package/network/services/ppp/files/lib/netifd/ppp6-up b/package/network/services/ppp/files/lib/netifd/ppp6-up
index 3852bf63ff..9355f59678 100755
--- a/package/network/services/ppp/files/lib/netifd/ppp6-up
+++ b/package/network/services/ppp/files/lib/netifd/ppp6-up
@@ -27,6 +27,7 @@ if [ -n "$AUTOIPV6" ]; then
[ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1
[ -n "$IP6TABLE" ] && json_add_string ip6table $IP6TABLE
[ -n "$PEERDNS" ] && json_add_boolean peerdns $PEERDNS
+ [ "$NOSOURCEFILTER" = "1" ] && json_add_boolean sourcefilter "0"
json_close_object
ubus call network add_dynamic "$(json_dump)"
fi
diff --git a/package/network/services/ppp/files/ppp.sh b/package/network/services/ppp/files/ppp.sh
index 6d3a8e29ff..074c1f12c8 100755
--- a/package/network/services/ppp/files/ppp.sh
+++ b/package/network/services/ppp/files/ppp.sh
@@ -82,13 +82,14 @@ ppp_generic_init_config() {
proto_config_add_boolean persist
proto_config_add_int maxfail
proto_config_add_int holdoff
+ proto_config_add_boolean sourcefilter
}
ppp_generic_setup() {
local config="$1"; shift
local localip
- json_get_vars ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns
+ json_get_vars ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns sourcefilter
[ ! -e /proc/sys/net/ipv6 ] && ipv6=0 || json_get_var ipv6 ipv6
@@ -133,6 +134,7 @@ ppp_generic_setup() {
[ "${keepalive_adaptive:-1}" -lt 1 ] && lcp_adaptive=""
[ -n "$connect" ] || json_get_var connect connect
[ -n "$disconnect" ] || json_get_var disconnect disconnect
+ [ "$sourcefilter" = "0" ] || sourcefilter=""
proto_run_command "$config" /usr/sbin/pppd \
nodetach ipparam "$config" \
@@ -143,6 +145,7 @@ ppp_generic_setup() {
${autoipv6:+set AUTOIPV6=1} \
${ip6table:+set IP6TABLE=$ip6table} \
${peerdns:+set PEERDNS=$peerdns} \
+ ${sourcefilter:+set NOSOURCEFILTER=1} \
nodefaultroute \
usepeerdns \
$demand $persist maxfail $maxfail \