Man Linux: Main Page and Category List


     netplugd - network cable hotplug management daemon


     netplugd [-FP] [-c config_file] [-i interface_pattern] [-p pid_file]


     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.


     -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

     -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.


             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.

             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

             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

             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.

             The init(8) script that starts, stops, and displays status of the
             netplugd daemon.


     netplugd was written by Bryan O'Sullivan <>.


     Copyright 2003 PathScale, Inc.  Copyright 2003, 2004, 2005 Bryan

     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.


     cardmgr(5), hotplug(8), ip(8), netlink(7)