aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/ppp/files/lib/netifd/ppp6-up
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/ppp/files/lib/netifd/ppp6-up')
-rw-r--r--package/network/services/ppp/files/lib/netifd/ppp6-up27
1 files changed, 27 insertions, 0 deletions
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