aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/network/services/ppp/Makefile1
-rwxr-xr-xpackage/network/services/ppp/files/lib/netifd/ppp-up11
-rw-r--r--package/network/services/ppp/files/lib/netifd/ppp6-up27
-rwxr-xr-xpackage/network/services/ppp/files/ppp.sh2
4 files changed, 29 insertions, 12 deletions
diff --git a/package/network/services/ppp/Makefile b/package/network/services/ppp/Makefile
index 177950f2c7..2b78761ea5 100644
--- a/package/network/services/ppp/Makefile
+++ b/package/network/services/ppp/Makefile
@@ -206,6 +206,7 @@ define Package/ppp/install
$(INSTALL_DIR) $(1)/lib/netifd/proto
$(INSTALL_BIN) ./files/ppp.sh $(1)/lib/netifd/proto/
$(INSTALL_BIN) ./files/lib/netifd/ppp-up $(1)/lib/netifd/
+ $(INSTALL_BIN) ./files/lib/netifd/ppp6-up $(1)/lib/netifd/
$(INSTALL_BIN) ./files/lib/netifd/ppp-down $(1)/lib/netifd/
endef
Package/ppp-multilink/install=$(Package/ppp/install)
diff --git a/package/network/services/ppp/files/lib/netifd/ppp-up b/package/network/services/ppp/files/lib/netifd/ppp-up
index 7511042639..18c32f0dee 100755
--- a/package/network/services/ppp/files/lib/netifd/ppp-up
+++ b/package/network/services/ppp/files/lib/netifd/ppp-up
@@ -7,7 +7,6 @@ proto_set_keep 1
[ -n "$PPP_IPPARAM" ] && {
[ -n "$IPLOCAL" ] && proto_add_ipv4_address "$IPLOCAL" 32 "" "${IPREMOTE:-2.2.2.2}"
[ -n "$IPREMOTE" ] && proto_add_ipv4_route 0.0.0.0 0 "$IPREMOTE"
- [ -n "$LLLOCAL" ] && proto_add_ipv6_address "$LLLOCAL" 128
[ -n "$DNS1" ] && proto_add_dns_server "$DNS1"
[ -n "$DNS2" -a "$DNS1" != "$DNS2" ] && proto_add_dns_server "$DNS2"
}
@@ -19,13 +18,3 @@ proto_send_update "$PPP_IPPARAM"
[ -x "$SCRIPT" ] && "$SCRIPT" "$@"
done
}
-
-if [ -n "$AUTOIPV6" ]; then
- json_init
- json_add_string name "${PPP_IPPARAM}_6"
- json_add_string ifname "@$PPP_IPPARAM"
- json_add_string proto "dhcpv6"
- [ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1
- json_close_object
- ubus call network add_dynamic "$(json_dump)"
-fi
diff --git a/package/network/services/ppp/files/lib/netifd/ppp6-up b/package/network/services/ppp/files/lib/netifd/ppp6-up
new file mode 100644
index 0000000000..87ca63c751
--- /dev/null
+++ b/package/network/services/ppp/files/lib/netifd/ppp6-up
@@ -0,0 +1,27 @@
+#!/bin/sh
+PPP_IPPARAM="$6"
+
+. /lib/netifd/netifd-proto.sh
+proto_init_update "$IFNAME" 1 1
+proto_set_keep 1
+[ -n "$PPP_IPPARAM" ] && {
+ [ -n "$LLLOCAL" ] && proto_add_ipv6_address "$LLLOCAL" 128
+}
+proto_send_update "$PPP_IPPARAM"
+
+[ -d /etc/ppp/ip-up.d ] && {
+ for SCRIPT in /etc/ppp/ip-up.d/*
+ do
+ [ -x "$SCRIPT" ] && "$SCRIPT" "$@"
+ done
+}
+
+if [ -n "$AUTOIPV6" ]; then
+ json_init
+ json_add_string name "${PPP_IPPARAM}_6"
+ json_add_string ifname "@$PPP_IPPARAM"
+ json_add_string proto "dhcpv6"
+ [ -n "$EXTENDPREFIX" ] && json_add_string extendprefix 1
+ 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 f8b04dec9f..91452b4288 100755
--- a/package/network/services/ppp/files/ppp.sh
+++ b/package/network/services/ppp/files/ppp.sh
@@ -144,7 +144,7 @@ ppp_generic_setup() {
${connect:+connect "$connect"} \
${disconnect:+disconnect "$disconnect"} \
ip-up-script /lib/netifd/ppp-up \
- ipv6-up-script /lib/netifd/ppp-up \
+ ipv6-up-script /lib/netifd/ppp6-up \
ip-down-script /lib/netifd/ppp-down \
ipv6-down-script /lib/netifd/ppp-down \
${mtu:+mtu $mtu mru $mtu} \