1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/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
|