Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DHCPCD-RUN-HOOKS(8)	FreeBSD	System Manager's Manual	   DHCPCD-RUN-HOOKS(8)

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
     /usr/local/libexec/dhcpcd-hooks and the user defined hooks	are
     /usr/local/etc/dhcpcd.enter-hook.	and /usr/local/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 DIS-
     COVER 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 gener-
		       ally just a notification	and no action need be taken.

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

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

     BOUND | BOUND6    dhcpcd obtained a new lease from	a DHCP server.

     RENEW | RENEW6    dhcpcd renewed it's lease.

     REBIND | REBIND6  dhcpcd has rebound to a new DHCP	server.

     REBOOT | REBOOT6  dhcpcd successfully requested a lease from a DHCP
		       server.

     DELEGATED6	       dhcpcd assigned a delegated prefix to the interface.

     IPV4LL	       dhcpcd obtaind an IPV4LL	address, or one	was removed.

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

     RECONFIGURE       dhcpcd has been instructed to reconfigure an interface.

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

     STOP | STOP6      dhcpcd stopped running on the interface.

     STOPPED	       dhcpcd has stopped entirely.

     DEPARTED	       The interface has been removed.

     FAIL	       dhcpcd failed to	operate	on the interface.  This	nor-
		       mally 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.

     DUMP	       dhcpcd has been asked to	dump the last lease for	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.

ENVIRONMENT
     dhcpcd will clear the environment variables aside from $PATH and
     $RC_SVCNAME.  The following variables will	then be	set, along with	any
     protocol supplied ones.

     $interface			  the name of the interface.

     $reason			  as described above.

     $pid			  the pid of dhcpcd.

     $ifcarrier			  the link status of $interface: unknown, up
				  or down.

     $ifmetric			  $interface preference, lower is better.

     $ifwireless		  1 if $interface is wireless, otherwise 0.

     $ifflags			  $interface flags.

     $ifmtu			  $interface MTU.

     $ifssid			  the name of the SSID the interface is	con-
				  nected to.

     $interface_order		  A list of interfaces,	in order of prefer-
				  ence.

     $if_up			  true if the interface	is up, otherwise
				  false.

     $if_down			  true if the interface	is down, otherwise
				  false.

     $af_waiting		  Address family waiting for, as defined in
				  dhcpcd.conf(5).

     $profile			  the name of the profile selected from
				  dhcpcd.conf(5).

     $new_delegated_dhcp6_prefix  space	separated list of delegated prefixes.

FILES
     When dhcpcd-run-hooks runs, it loads /usr/local/etc/dhcpcd.enter-hook and
     any scripts found in /usr/local/libexec/dhcpcd-hooks in a lexical order
     and then finally /usr/local/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

SECURITY CONSIDERATIONS
     dhcpcd will validate the content of each option against its encoding.
     For string, ascii,	raw or binhex encoding it's up to the user to validate
     it	for the	intended purpose.

     When used in a shell script, each variable	must be	quoted correctly.

FreeBSD	11.0			 June 29, 2015			  FreeBSD 11.0

NAME | DESCRIPTION | ENVIRONMENT | FILES | SEE ALSO | AUTHORS | BUGS | SECURITY CONSIDERATIONS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dhcpcd-run-hooks&sektion=8&manpath=FreeBSD+11.0-RELEASE+and+Ports>

home | help