DHCPCD-RUN-HOOKS(8)         System Manager's Manual        DHCPCD-RUN-HOOKS(8)

     dhcpcd-run-hooks -- DHCP client configuration script

     dhcpcd-run-hooks is used by dhcpcd(8) to run any system and user defined
     hook scripts.  System hook scripts are found in /libexec/dhcpcd-hooks and
     the user defined hooks are /etc/dhcpcd.enter-hook.  and
     /etc/dhcpcd.exit-hook.  The default install supplies hook scripts for
     configuring /etc/resolv.conf and the hostname.  Your distribution may
     have included other hook scripts to say configure ntp or ypbind.  A test
     hook is also supplied that simply echos the dhcp variables to the console
     from DISCOVER message.

     Each time dhcpcd-run-hooks is invoked, $interface is set to the interface
     that dhcpcd is run on and $reason is to the reason why dhcpcd-run-hooks
     was invoked.  DHCP information to be configured is held in variables
     starting with the word new_ and old DHCP information to be removed is
     held in variables starting with the word old_.  dhcpcd can display the
     full list of variables it knows how about by using the -V, --variables

     Here's a list of reasons why dhcpcd-run-hooks could be invoked:

     PREINIT       dhcpcd is starting up and any pre-initialisation should be

     CARRIER       dhcpcd has detected the carrier is up.  This is generally
                   just a notification and no action need be taken.

     INFORM        dhcpcd informed a DHCP server about it's address and
                   obtained other configuration details.

     BOUND         dhcpcd obtained a new lease from a DHCP server.

     RENEW         dhcpcd renewed it's lease.

     REBIND        dhcpcd has rebound to a new DHCP server.

     REBOOT        dhcpcd successfully requested a lease from a DHCP server.

     IPV4LL        dhcpcd failed to contact any DHCP servers but did obtain an
                   IPV4LL address.

     STATIC        dhcpcd has been configured with a static configuration
                   which has not been obtained from a DHCP server.

     3RDPARTY      dhcpcd is monitoring the interface for a 3rd party to give
                   it an IP address.

     TIMEOUT       dhcpcd failed to contact any DHCP servers but was able to
                   use an old lease.

     EXPIRE        dhcpcd's lease or state expired and it failed to obtain a
                   new one.

     RELEASE       dhcpcd's lease was released back to the DHCP server for re-

     NAK           dhcpcd received a NAK from the DHCP server.  This should be
                   treated as EXPIRE.

     NOCARRIER     dhcpcd lost the carrier.  The cable may have been unplugged
                   or association to the wireless point lost.

     FAIL          dhcpcd failed to operate on the interface.  This normally
                   happens when dhcpcd does not support the raw interface,
                   which means it cannot work as a DHCP or ZeroConf client.
                   Static configuration and DHCP INFORM is still allowed.

     STOP          dhcpcd stopped running on the interface.

     DUMP          dhcpcd has been asked to dump the last lease for the inter-

     TEST          dhcpcd received an OFFER from a DHCP server but will not
                   configure the interface.  This is primarily used to test
                   the variables are filled correctly for the script to
                   process them.

     ROUTERADVERT  dhcpcd has received an IPv6 Router Advertisment, or one has

     When dhcpcd-run-hooks runs, it loads /etc/dhcpcd.enter-hook and any
     scripts found in /libexec/dhcpcd-hooks in a lexical order and then
     finally /etc/dhcpcd.exit-hook


     Roy Marples <roy@marples.name>

     Please report them to http://roy.marples.name/projects/dhcpcd

     Little validation of DHCP options is done in dhcpcd itself.  Instead, it
     is up to the hooks to handle any validation needed.  To this end, some
     helper functions are provided, such as valid_domainname as used by the
     20-resolv.conf hook to ensure that the hostname is not set to an invalid
     value.  valid_path is also provided, but is currently unused by a stock
     hook script.

NetBSD 6.0                     December 15, 2011                    NetBSD 6.0

You can also request any man page by name and (optionally) by section:


Use the DEFAULT collection to view manual pages for third-party software.

©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2018 Modified for NetBSD by Kimmo Suominen