keep track of the network interface states (stored in uci format in /var/state/network, overlay over /etc/config/network)

SVN-Revision: 7643
This commit is contained in:
Felix Fietkau
2007-06-16 00:01:33 +00:00
parent 8e2643a8b5
commit 4f16e9cc3e
7 changed files with 53 additions and 8 deletions

View File

@@ -1,5 +1,19 @@
#!/bin/sh
[ -z "$6" ] || env -i ACTION="ifdown" INTERFACE="$6" DEVICE="$1" PROTO=ppp /sbin/hotplug-call "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" ] || {
env -i ACTION="ifdown" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface"
# remove the interface's network state
FILE=/var/state/network.$$
grep -v "^config_set '$PPP_IPPARAM' " /var/state/network > "$FILE"
mv "$FILE" /var/state/network
}
[ -d /etc/ppp/ip-down.d ] && {
for SCRIPT in /etc/ppp/ip-down.d/*

View File

@@ -1,5 +1,17 @@
#!/bin/sh
[ -z "$6" ] || env -i ACTION="ifup" INTERFACE="$6" DEVICE="$1" PROTO=ppp /sbin/hotplug-call "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" ] || env -i ACTION="ifup" INTERFACE="$PPP_IPPARAM" DEVICE="$PPP_IFACE" PROTO=ppp /sbin/hotplug-call "iface"
[ -z "$PPP_IPPARAM" -o -z "$PPP_LOCAL" ] || {
uci set "/var/state/network.$PPP_IPPARAM.ipaddr=$PPP_LOCAL"
uci set "/var/state/network.$PPP_IPPARAM.gateway=$PPP_REMOTE"
}
[ -d /etc/ppp/ip-up.d ] && {
for SCRIPT in /etc/ppp/ip-up.d/*