diff options
-rw-r--r-- | package/network/services/ppp/Makefile | 2 | ||||
-rwxr-xr-x | package/network/services/ppp/files/lib/netifd/ppp-up | 9 | ||||
-rwxr-xr-x | package/network/services/ppp/files/ppp.sh | 6 |
3 files changed, 14 insertions, 3 deletions
diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile index b320e304f2..a26850caf9 100644 --- a/package/network/services/ppp/Makefile +++ b/package/network/services/ppp/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ppp PKG_VERSION:=2.4.7 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=ftp://ftp.samba.org/pub/ppp/ diff --git a/package/network/services/ppp/files/lib/netifd/ppp-up b/package/network/services/ppp/files/lib/netifd/ppp-up index fa14550ec4..286fc5f834 100755 --- a/package/network/services/ppp/files/lib/netifd/ppp-up +++ b/package/network/services/ppp/files/lib/netifd/ppp-up @@ -19,3 +19,12 @@ proto_send_update "$PPP_IPPARAM" [ -x "$SCRIPT" ] && "$SCRIPT" "$@" done } + +if [ -n "$IPV6IFACE" -a "$(ifstatus $IPV6IFACE | jsonfilter -e @.device)" != "$IFNAME" ]; then + json_init + json_add_string name "${PPP_IPPARAM}_dhcpv6" + json_add_string ifname "@$PPP_IPPARAM" + json_add_string proto "dhcpv6" + 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 f07b11f3fd..eb3f069d95 100755 --- a/package/network/services/ppp/files/ppp.sh +++ b/package/network/services/ppp/files/ppp.sh @@ -16,7 +16,7 @@ ppp_generic_init_config() { proto_config_add_string pppd_options proto_config_add_string 'connect:file' proto_config_add_string 'disconnect:file' - proto_config_add_boolean ipv6 + proto_config_add_string ipv6 proto_config_add_boolean authfail proto_config_add_int mtu proto_config_add_string pppname @@ -28,9 +28,11 @@ ppp_generic_setup() { json_get_vars ipv6 demand keepalive username password pppd_options pppname if [ "$ipv6" = 0 ]; then ipv6="" - else + elif [ -z "$ipv6" -o "$ipv6" = auto ]; then ipv6=1 + proto_export "IPV6IFACE=${config}6" fi + if [ "${demand:-0}" -gt 0 ]; then demand="precompiled-active-filter /etc/ppp/filter demand idle $demand" else |