ppp: add delegate option support
authorChen Minqiang <ptpt52@gmail.com>
Wed, 15 May 2024 14:05:23 +0000 (22:05 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Sep 2024 21:43:08 +0000 (23:43 +0200)
Ipv6 delegate option is not respected by proto of ppp/pptp/pppoe/pppoa
this add support for them.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15508
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/network/services/ppp/Makefile
package/network/services/ppp/files/lib/netifd/ppp6-up
package/network/services/ppp/files/ppp.sh

index 3ed43e9a5a4182dad7990af01517886de70707a3..6d5db5c70405828a129b3b3ad37dfbe94f368ff2 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=ppp
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/paulusmack/ppp
index 9355f596784b3f96bb5e1eabb259d109ed44973a..51339ad3ec5d4fc3adeae1009c760af44bad51a9 100755 (executable)
@@ -28,6 +28,7 @@ if [ -n "$AUTOIPV6" ]; then
        [ -n "$IP6TABLE" ] && json_add_string ip6table $IP6TABLE
        [ -n "$PEERDNS" ] && json_add_boolean peerdns $PEERDNS
        [ "$NOSOURCEFILTER" = "1" ] && json_add_boolean sourcefilter "0"
+       [ "$DELEGATE" = "0" ] && json_add_boolean delegate "0"
        json_close_object
        ubus call network add_dynamic "$(json_dump)"
 fi
index 074c1f12c8c0c1c2d89f14fd34174ee29a8f6e6d..d7c0cdb1ae794a6a81840ff717d377125aa9120f 100755 (executable)
@@ -83,13 +83,14 @@ ppp_generic_init_config() {
        proto_config_add_int maxfail
        proto_config_add_int holdoff
        proto_config_add_boolean sourcefilter
+       proto_config_add_boolean delegate
 }
 
 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 sourcefilter
+       json_get_vars ip6table demand keepalive keepalive_adaptive username password pppd_options pppname unnumbered persist maxfail holdoff peerdns sourcefilter delegate
 
        [ ! -e /proc/sys/net/ipv6 ] && ipv6=0 || json_get_var ipv6 ipv6
 
@@ -135,6 +136,7 @@ ppp_generic_setup() {
        [ -n "$connect" ] || json_get_var connect connect
        [ -n "$disconnect" ] || json_get_var disconnect disconnect
        [ "$sourcefilter" = "0" ] || sourcefilter=""
+       [ "$delegate" != "0" ] && delegate=""
 
        proto_run_command "$config" /usr/sbin/pppd \
                nodetach ipparam "$config" \
@@ -146,6 +148,7 @@ ppp_generic_setup() {
                ${ip6table:+set IP6TABLE=$ip6table} \
                ${peerdns:+set PEERDNS=$peerdns} \
                ${sourcefilter:+set NOSOURCEFILTER=1} \
+               ${delegate:+set DELEGATE=0} \
                nodefaultroute \
                usepeerdns \
                $demand $persist maxfail $maxfail \