summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrc.d/net-auto-wired38
1 files changed, 25 insertions, 13 deletions
diff --git a/rc.d/net-auto-wired b/rc.d/net-auto-wired
index 9493857..21f487d 100755
--- a/rc.d/net-auto-wired
+++ b/rc.d/net-auto-wired
@@ -2,6 +2,7 @@
. /etc/rc.conf
. /etc/rc.d/functions
+. /usr/lib/network/globals
. /etc/conf.d/netcfg
if [[ ! -x /usr/sbin/ifplugd ]]; then
@@ -9,6 +10,12 @@ if [[ ! -x /usr/sbin/ifplugd ]]; then
exit 1
fi
+if [ -z "${WIRED_INTERFACE}" ]; then
+ echo "No interface name set. Add to /etc/conf.d/netcfg a line"
+ echo " WIRED_INTERFACE=\"your_interface\""
+ exit 1
+fi
+
CFG=/etc/ifplugd/ifplugd.conf
ACTION=/etc/ifplugd/netcfg.action
PIDFILE=/var/run/ifplugd.$WIRED_INTERFACE.pid
@@ -19,35 +26,40 @@ PIDFILE=/var/run/ifplugd.$WIRED_INTERFACE.pid
case "$1" in
start)
+ if ! ck_daemon net-auto-wired; then
+ exit_stderr "net-auto-wired has already been started: try \"/etc/rc.d/net-auto-wired restart\""
+ fi
stat_busy "Starting netcfg auto-wired mode for interface ${WIRED_INTERFACE}"
A="`eval echo \$\{ARGS_${WIRED_INTERFACE}\}`"
[ -z "$A" ] && A="$ARGS"
[ -z "$PID" ] && /usr/sbin/ifplugd -i $WIRED_INTERFACE -r $ACTION $A
# ifplugd may return non-zero, but still succeed if -w is passed, as default in upstream config.
sleep 1
- if [[ ! -f $PIDFILE ]]; then
- stat_fail
- else
+ if [[ -f $PIDFILE ]]; then
add_daemon net-auto-wired
stat_done
+ else
+ stat_fail
fi
;;
stop)
- stat_busy "Stopping netcfg auto-wired mode for interface ${WIRED_INTERFACE}"
- [ -n "$PID" ] && /usr/sbin/ifplugd -k -i $WIRED_INTERFACE -r $ACTION
- if [ $? -gt 0 ]; then
- stat_fail
- else
- rm_daemon net-auto-wired
- stat_done
+ if ! ck_daemon net-auto-wired; then
+ stat_busy "Stopping netcfg auto-wired mode for interface ${WIRED_INTERFACE}"
+ [ -n "$PID" ] && /usr/sbin/ifplugd -k -i $WIRED_INTERFACE -r $ACTION
+ if [ $? -eq 0 ]; then
+ rm_daemon net-auto-wired
+ stat_done
+ else
+ stat_fail
+ fi
fi
;;
restart)
- $0 stop
+ "$0" stop
sleep 1
- $0 start
+ "$0" start
;;
*)
- echo "usage: $0 {start|stop|restart}"
+ echo "Usage: $0 {start|stop|restart}"
esac
exit 0