summaryrefslogtreecommitdiffstats
path: root/src/usr/local/sbin/ppp-linkdown
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/sbin/ppp-linkdown')
-rwxr-xr-xsrc/usr/local/sbin/ppp-linkdown31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/usr/local/sbin/ppp-linkdown b/src/usr/local/sbin/ppp-linkdown
new file mode 100755
index 0000000..62d07ed
--- /dev/null
+++ b/src/usr/local/sbin/ppp-linkdown
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+IF="${1}"
+LOCAL_IP="${3}"
+
+if [ -f /tmp/${IF}up ] && [ -f /conf/${IF}.log ]; then
+ seconds=$((`date -j +%s` - `/usr/bin/stat -f %m /tmp/${IF}up`))
+ /usr/local/sbin/ppp-log-uptime.sh $seconds ${IF} &
+fi
+
+/etc/rc.kill_states ${IF} ${LOCAL_IP}
+
+if [ -s "/tmp/${IF}_defaultgw" ]; then
+ GW=`head -n 1 /tmp/${IF}_defaultgw`
+ [ -n "${GW}" ] \
+ && /sbin/route delete default ${GW}
+fi
+# delete the node just in case mpd cannot do that
+/usr/sbin/ngctl shutdown ${IF}:
+if [ -f "/var/etc/nameserver_${IF}" ]; then
+ # Remove old entries
+ for nameserver in `cat /var/etc/nameserver_${IF}`; do
+ /sbin/route delete ${nameserver} >/dev/null 2>&1
+ done
+ /bin/rm -f /var/etc/nameserver_${IF}
+fi
+# Do not remove gateway used during filter reload.
+/bin/rm -f /tmp/${IF}_router
+/bin/rm -f /tmp/${IF}up
+/bin/rm -f /tmp/${IF}_ip
+/usr/local/sbin/pfSctl -c 'service reload dns'
OpenPOWER on IntegriCloud