From c62b07b2ce55b16c976a1b87ca80a39c1127d612 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Wed, 8 Oct 2014 20:37:15 +0000 Subject: [PATCH] ppp: allow auto-detecting and creation of ipv6 subinterface this makes ipv6 with ppp a bit more comfortable Signed-off-by: Steven Barth SVN-Revision: 42854 --- package/network/services/ppp/Makefile | 2 +- package/network/services/ppp/files/lib/netifd/ppp-up | 9 +++++++++ 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 -- 2.25.1