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)