aboutsummaryrefslogtreecommitdiffstats
path: root/package/ppp
diff options
context:
space:
mode:
Diffstat (limited to 'package/ppp')
-rw-r--r--package/ppp/Makefile2
-rwxr-xr-xpackage/ppp/files/lib/netifd/ppp-down6
-rwxr-xr-xpackage/ppp/files/lib/netifd/ppp-up16
3 files changed, 24 insertions, 0 deletions
diff --git a/package/ppp/Makefile b/package/ppp/Makefile
index 4ace4d9366..ed86a8ae45 100644
--- a/package/ppp/Makefile
+++ b/package/ppp/Makefile
@@ -160,6 +160,8 @@ ifneq ($(CONFIG_PACKAGE_netifd),)
define Package/ppp/script_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/ppp-down $(1)/lib/netifd/
endef
else
define Package/ppp/script_install
diff --git a/package/ppp/files/lib/netifd/ppp-down b/package/ppp/files/lib/netifd/ppp-down
new file mode 100755
index 0000000000..40aae86d07
--- /dev/null
+++ b/package/ppp/files/lib/netifd/ppp-down
@@ -0,0 +1,6 @@
+#!/bin/sh
+PPP_IPPARAM="$6"
+
+. /lib/netifd/netifd-proto.sh
+proto_init_update "$IFNAME" 0
+proto_send_update "$PPP_IPPARAM"
diff --git a/package/ppp/files/lib/netifd/ppp-up b/package/ppp/files/lib/netifd/ppp-up
new file mode 100755
index 0000000000..67884a7014
--- /dev/null
+++ b/package/ppp/files/lib/netifd/ppp-up
@@ -0,0 +1,16 @@
+#!/bin/sh
+PPP_IPPARAM="$6"
+
+. /lib/netifd/netifd-proto.sh
+proto_init_update "$IFNAME" 1 1
+[ -n "$PPP_IPPARAM" ] && {
+ [
+ [ -n "$IPLOCAL" ] && proto_add_ipv4_address "$IPREMOTE" 32
+ [ -n "$IPREMOTE" ] && proto_add_ipv4_route 0.0.0.0 0 "$IPREMOTE"
+ [ -n "$LLLOCAL" ] && proto_add_ipv6_address "$LLLOCAL" 128
+ [ -n "$LLREMOTE" ] && proto_add_ipv6_route "::0" 0 "$LLREMOTE"
+ [ -n "$DNS1" ] && proto_add_dns_server "$DNS1"
+ [ -n "$DNS2" -a "$DNS1" != "$DNS2" ] && proto_add_dns_server "$DNS2"
+}
+proto_send_update "$PPP_IPPARAM"
+