NAME¶
netplugd
—
network cable hotplug management daemon
SYNOPSIS¶
netplugd |
[ -FP ]
[-c
config_file ]
[-i
interface_pattern ]
[-p
pid_file ] |
DESCRIPTION¶
netplugd
is a daemon that responds to network
link events from the Linux kernel, such as a network interface losing or
acquiring a carrier signal.
When an Ethernet-style network interface on a host is plugged into a powered-up
switch, hub, or other host, the two use a carrier signal to establish that the
link is alive. The Linux kernel makes this information available through its
netlink(7) interface.
The
netplugd
daemon listens for carrier
detection and loss messages from the kernel's
netlink(7) subsystem. When a carrier signal is
detected on an interface, it runs a script to bring the interface up. When
carrier is lost,
netplugd
runs a script to
bring the interface down.
netplugd
does not
define any policies for how to manage interfaces; it leaves that to a script,
/etc/netplug.d/netplug, which is described
in
FILES below.
You tell
netplugd
which interfaces it should
manage by giving it a list of shell-style glob patterns, which it matches
against using the
fnmatch(3) function. For
example, a pattern of
eth[13] will tell
netplugd
to only manage
eth1 and
eth3, if those interfaces exist. If the
interfaces are not known to the kernel at the time you start
netplugd
, perhaps because they are
unplugged PCMCIA network interfaces or devices whose drivers have not yet been
installed,
netplugd
will start to manage
them as soon as they are plugged in or their drivers are available.
OPTIONS¶
-F
- Run in the foreground; do not detach and run as a daemon. Messages are
logged to stdout or
stderr, instead of using the
syslog(3) mechanism. This option is useful
mainly for debugging your configuration.
-P
- Prevent autoprobing for interfaces. The
netplugd
daemon normally probes for all
possible interface names that might match the patterns you tell it to
manage. This is necessary in order to get network driver modules (the
default with almost all Linux distributions) loaded and set up, so that
they can provide link status notifications to the
netplugd
daemon. Autoprobing should
always be safe, and doesn't take long. Disable it with caution.
-c
config_file
- Specify the name of a file from which to read patterns that describe the
interfaces to manage. You can provide this option multiple times to read
from more than one file. If you do not provide this option at all,
netplugd
will attempt to read from a
default config file. If you do not want
netplugd
to try to read from any real
config files, you can specify /dev/null
as a config file.
-i
interface_pattern
- Specify a pattern that will be used to match interface names that
netplugd
should manage. You can provide
this option multiple times to specify multiple patterns.
-p
pid_file
- Write the daemon's process ID to the file
pid_file. If you tell
netplugd
to run in the foreground, this
option is ignored.
FILES¶
- /etc/netplug/netplugd.conf
- Default config file to read, if none is specified on the command line. The
config file format is one pattern per line, with white space, empty lines,
and comments starting with a
#
character ignored.
Patterns are standard shell-style glob patterns, e.g.
"eth[0-9]".
- /etc/netplug.d/netplug
- The "policy" program (typically a shell script) that
netplugd
uses to probe for interfaces,
and to bring them up or down in response to network link events. This
program is called with the name of the interface as its first argument,
and one of the following options:
- in
- A cable was plugged in, or carrier came up. The command should bring
the interface up. The command is run asynchronously, and it should
exit with status 0 on success.
- out
- A cable was plugged out, or carrier went down. The command should
bring the interface down. The command is run asynchronously, and it
should exit with status 0 on success.
- probe
- The command should load and initialise the driver for this interface,
if possible, and bring the interface into the "up" state, so
that it can generate netlink(7) events.
The command is run synchronously; it must exit with status code 0 if
it succeeds, otherwise with a non-zero exit code or signal.
- /etc/init.d/netplug
- The init(8) script that starts, stops, and
displays status of the
netplugd
daemon.
AUTHOR¶
netplugd
was written by
Bryan O'Sullivan
<bos@serpentine.com>.
COPYRIGHT AND LICENSE¶
Copyright 2003 PathScale, Inc. Copyright 2003, 2004, 2005 Bryan O'Sullivan
netplugd
is free software; you can
redistribute it and/or modify it under the terms of the GNU General Public
License, version 2, as published by the Free Software Foundation. You are
forbidden from redistributing or modifying it under the terms of any other
license, including other versions of the GNU General Public License.
netplugd
is distributed in the hope that it
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
SEE ALSO¶
cardmgr(5),
hotplug(8),
ip(8),
netlink(7)