March 23, 2009 DHCPCD.SH 8 SMM

### NAME

dhcpcd-run-hooks - DHCP client configuration script

### DESCRIPTION

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

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

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

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

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

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

### FILES

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`

### SEE ALSO

dhcpcd(8)

### AUTHORS

Roy Marples <roy@marples.name>

### BUGS

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