aboutsummaryrefslogtreecommitdiffstats
path: root/sysconfig/network-scripts/net.hotplug
diff options
context:
space:
mode:
Diffstat (limited to 'sysconfig/network-scripts/net.hotplug')
-rwxr-xr-xsysconfig/network-scripts/net.hotplug55
1 files changed, 55 insertions, 0 deletions
diff --git a/sysconfig/network-scripts/net.hotplug b/sysconfig/network-scripts/net.hotplug
new file mode 100755
index 00000000..b59d87e4
--- /dev/null
+++ b/sysconfig/network-scripts/net.hotplug
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+. /etc/sysconfig/network-scripts/network-functions
+
+if [ "$INTERFACE" = "" ]; then
+ exit 1
+fi
+
+case $ACTION in
+add|register)
+ # Don't do anything if the network is stopped
+ if [ ! -f /var/lock/subsys/network ]; then
+ exit 0
+ fi
+
+ case $INTERFACE in
+ # interfaces that are registered after being "up" (?)
+ ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*)
+ exit 0
+ ;;
+ # interfaces that are registered then brought up
+ *)
+ export IN_HOTPLUG=1
+ if [ -x /sbin/ifup ]; then
+ addr=$(get_hwaddr ${INTERFACE})
+ if [ -n "$addr" ]; then
+ nconfig=$(get_config_by_hwaddr ${addr})
+ [ -n "$nconfig" ] && INTERFACE=$nconfig
+ fi
+ exec /sbin/ifup $INTERFACE
+ fi
+ ;;
+ esac
+ ;;
+
+remove|unregister)
+ case $INTERFACE in
+ # interfaces that are unregistered after being "down" (?)
+ ppp*|ippp*|isdn*|plip*|lo*|irda*|dummy*|ipsec*|tun*|tap*)
+ exit 0
+ ;;
+ *)
+ # RedHat and similar
+ export IN_HOTPLUG=1
+ if [ -x /sbin/ifdown ]; then
+ exec /sbin/ifdown $INTERFACE
+ fi
+ ;;
+ esac
+ ;;
+
+*)
+ exit 1 ;;
+
+esac