ppp: Split the ppp-up for the IPv6 part
authorPierre Lebleu <pierre.lebleu@technicolor.com>
Thu, 27 Oct 2016 11:38:29 +0000 (13:38 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sun, 4 Dec 2016 10:41:53 +0000 (11:41 +0100)
Signed-off-by: Pierre Lebleu <pme.lebleu@gmail.com>
package/network/services/ppp/Makefile
package/network/services/ppp/files/lib/netifd/ppp-up
package/network/services/ppp/files/lib/netifd/ppp6-up [new file with mode: 0644]
package/network/services/ppp/files/ppp.sh

index 177950f2c7e3d7529e7538b2a112415c946d751d..2b78761ea51e9556f7e9b660f96c59ec6519ac99 100644 (file)
@@ -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)
index 7511042639d22605f9f4377157db039204e9ad8c..18c32f0dee4a88dc4cf7955fd2533a050692a096 100755 (executable)
@@ -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 (file)
index 0000000..87ca63c
--- /dev/null
@@ -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
index f8b04dec9fd60605136039092c65cc0a9ba20f02..91452b4288aa5b3f5aa1fd8b9af77e6dd122c592 100755 (executable)
@@ -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} \