ifplugd - A link detection daemon for ethernet devices
ifplugd is a daemon which will automatically configure your
ethernet device when a cable is plugged in and automatically unconfigure it
if the cable is pulled. This is useful on laptops with on-board network
adapters, since it will only configure the interface when a cable is really
connected.
It uses your distribution's native ifup/ifdown programs, but can
be configured to do anything you wish when the state of the interface
changes. It may ignore short unplugged whiles (-d option) or plugged
whiles (-u option).
ifplugd may be used in "compatibility mode" by
specifying -F on the command line. Than ifplugd will treat network drivers
which do not support link beat querying as always online.
- -a | --no-auto
- Do not enable interface automatically (default: off)
- -n | --no-daemon
- Do not daemonize (for debugging) (default: off)
- -s | --no-syslog
- Do not use syslog, use stdout instead (for debugging) (default: off).
- -b | --no-beep
- Do not beep (off), overrides --no-beep-up and
--no-beep-down.
- -U | --no-beep-up
- Do not beep on interface up (off)
- -D | --no-beep-down
- Do not beep on interface down (off)
- -f | --ignore-fail
- Ignore detection failure, retry instead. Failure is treated as "no
link". (default: off)
- -F |
--ignore-fail-positive
- Ignore detection failure, retry instead. Failure is treated as "link
detected". (default: off)
- -i | --iface=
IFACE
- Specify ethernet interface (default: eth0)
- -r | --run=
EXEC
- Specify program to execute when link status changes (default:
/etc/ifplugd/ifplugd.action)
- -I | --ignore-retval
- Don't exit on nonzero return value of program executed on link change.
(default: off)
- -t | --poll-time=
SECS
- Specify poll time in seconds (default: 1)
- -T | --poll-utime=
USECS
- Specify poll time in microseconds, added to -t (default: 0)
- -u | --delay-up=
SECS
- Specify delay for configuring interface (default: 0)
- -d | --delay-down=
SECS
- Specify delay for deconfiguring interface (default: 5)
- -m | --api-mode=
MODE
- Force a specific link beat detection ioctl() API. Possible values are
auto, iff, wlan, ethtool, mii, and priv for automatic detection, interface
flag (IFF_RUNNING), wireless extension, SIOCETHTOOL, SIOCGMIIREG resp.
SIOCPRIV. Only the first character of the argument is relevant, case
insensitive. (default: auto)
- -p | --no-startup
- Don't call the script to bring up network on deamon start (default:
off)
- -q | --no-shutdown
- Don't call the script for network shutdown on deamon quit (default:
off)
- -w | --wait-on-fork
- When daemonizing, wait until the background process finished with the
initial link beat detection. When this is enabled, the parent process will
return the link status on exit. 2 means link beat detected, 3 stands for
link beat not detected, everything else is an error.
- -W | --wait-on-kill
- When killing a running daemon (with -k) wait until the daemon died.
- -x | --extra-arg=
ARG
- Specify an extra argument to be passed to the action script.
- -M | --monitor
- Don't fail when the network interface is not available, instead use
NETLINK to monitor device avaibility. The is useful for PCMCIA devices and
similar.
- -h | --help
- Show help
- -k | --kill
- Kill a running daemon (Specify -i to select the daemon instance to
kill)
- -c | --check-running
- Check if a daemon is running for a given network interface. Sets the
return value to 0 if a daemon is already running or to 255 if not.
- -v | --version
- Show version
- -S | --supend
- Suspend a running daemon. The daemon will no longer check the link status
until it is resumed (-R) again. (Specify -i to select the daemon instance
to suspend.)
- -R | --resume
- Resume a suspended daemon. (Specify -i to select the daemon instance to
resume.)
- -z | --info
- Request that a running daemon shall write its status information to
syslog. (Specify -i to select the daemon instance to send the request
to.)
/etc/default/ifplugd: this file is sourced by the init
script /etc/init.d/ifplugd and contains the interface to be monitored
and the options to be used.
/etc/ifplugd/ifplugd.action: this is the script which will
be called by the daemon whenever the state of the interface changes. It
takes two areguments: the first is the interface name (eg. eth0), the second
either "up" or "down".
/var/run/ifplugd.<iface>.pid: the pid file for
ifplugd.
The action script will be called with two environment variables
set:
IFPLUGD_PREVIOUS The previous link status. Either
"up", "down", "error" or "disabled".
The former values should be obvious, the latter is set on daemon
startup.
IFPLUGD_CURRENT The current link status. See above for
possible values.
SIGINT, SIGTERM ifplugd will quit, possibly running the
shutdown script. This is issued by passing -k to ifplugd.
SIGQUIT ifplugd will quit, the shutdown script is never
run.
SIGHUP ifplugd will write its status information to syslog.
This is issued by -z.
SIGUSR1 ifplugd will go to suspend mode. (-S)
SIGUSR2 ifplugd will resume from suspend mode. (-R)
ifplugd was written by Lennart Poettering <mzvscyhtq (at)
0pointer (dot) de>. ifplugd is available at
http://0pointer.de/lennart/projects/ifplugd/
This man page was written using xmltoman(1) by Oliver
Kurth.