diff options
author | Chen Minqiang <ptpt52@gmail.com> | 2024-01-22 22:35:41 +0800 |
---|---|---|
committer | Chuanhong Guo <gch981213@gmail.com> | 2024-04-22 15:11:44 +0800 |
commit | 34161444184f62914652e505758353e517e5c6ac (patch) | |
tree | d4caf32b90464f40ab6f2cbbb14f08c636b2ba34 /package | |
parent | 680f8738d02a1876ae4cd11aacf9cd56e520fadf (diff) |
ppp: add sourcefilter option support
This make source based IPv6 routing option available for
ppp/pptp/pppoe/pppoa
Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Diffstat (limited to 'package')
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 \ |