make ip-up scripts aware of network settings
[openwrt.git] / package / ppp / files / etc / ppp / ip-up
index c67a3d0..30db93e 100755 (executable)
@@ -1,2 +1,20 @@
 #!/bin/sh
-[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" PROTO=ppp /sbin/hotplug "iface"
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+[ -z "$PPP_IPPARAM" -o -z "$PPP_LOCAL" ] || {
+       uci_set_state network "$PPP_IPPARAM" ipaddr "$PPP_LOCAL"
+       uci_set_state network "$PPP_IPPARAM" gateway "$PPP_REMOTE"
+}
+[ -z "$PPP_IPPARAM" ] || env -i ACTION="ifup" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface"
+
+[ -d /etc/ppp/ip-up.d ] && {
+       for SCRIPT in /etc/ppp/ip-up.d/*
+       do
+               [ -x "$SCRIPT" ] && "$SCRIPT" $@
+       done
+}