summaryrefslogtreecommitdiffstats
path: root/contrib/net-auto
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/net-auto')
-rwxr-xr-xcontrib/net-auto43
1 files changed, 43 insertions, 0 deletions
diff --git a/contrib/net-auto b/contrib/net-auto
new file mode 100755
index 0000000..add6711
--- /dev/null
+++ b/contrib/net-auto
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ # Ensure any device renaming has occurred as intended
+ for daemon in "${DAEMONS[@]}"; do
+ if [ "$daemon" = "${daemon#!}" -a "$daemon" = "net-rename" ]; then
+ if ck_daemon net-rename; then
+ /etc/rc.d/net-rename start
+ fi
+ fi
+ done
+
+ for network in ${AUTO_NETWORKS[@]}; do
+ case $network in
+ auto-*) # Automatic configuration, store type and get interface next
+ auto=$network
+ ;;
+ *) # Either interface or profile
+ if [[ "$auto" ]]; then # Auto set, so interface
+ /usr/bin/netcfg-$auto $network
+ unset auto
+ fi
+ esac
+ done
+
+ add_daemon net-auto
+ ;;
+ stop)
+ /usr/bin/netcfg2 -a
+ rm_daemon net-auto
+ ;;
+ restart)
+ $0 stop; sleep 1; $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+
+# vim: set ts=4 et sw=4: