#!/bin/sh

#exec >/dev/null
exec 2>&1
exec </dev/null

pwd="$PWD"

if="${PWD##*/ifplugd_}"

echo "* Upping iface $if"
ip link set dev "$if" up || exec sleep 5

echo "* Starting ifplugd on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
setuidgid root \
ifplugd -aqlMns -t3 -u8 -d8 -i "$if" -r "$pwd/ifplugd_handler"

# We use -t3 to wake ifplugd up less often.
# If after three tests (3*3=9 > 8) link state seen to be different,
# the handler will be called.
# IOW: short link losses will be ignored, longer ones
# will trigger DHCP reconfiguration and such (see handler code).

# -l makes ifplugd run either "up" or "down" script on startup.
# For example, if wired eth cable is unplugged, this stops dhcp service
# from pointlessly trying to get a lease.
# -q means that stopping monitoring does not stop dhcp/zcip/etc:
# presumably, admin decided to control them manually.
# -M prevents frequent respawning if device does not exist (yet?)

#-a       Don't up interface automatically
#-p       Don't run "up" script on startup
#-q       Don't run "down" script on exit
#-l       Always run script on startup
#-n       Do not daemonize
#-s       Do not log to syslog
#-t SECS  Poll time in seconds
#-u SECS  Delay before running script after link up
#-d SECS  Delay after link down
#-i IFACE Interface
#-M       Monitor creation/destruction of interface (otherwise it must exist)
#-r PROG  Script to run
#-x ARG   Extra argument for script
#-I       Don't exit on nonzero exit code from script
#-f/-F    Treat link detection error as link down/link up (otherwise exit on error)
#-m MODE  API mode (mii, priv, ethtool, wlan, auto)
#-k       Kill running daemon
