About the Solaris DHCP Client
The Solaris DHCP client is the dhcpagent daemon, which is part of the
Solaris Operating System (Solaris OS). When you install the Solaris OS, you are
prompted to use DHCP to configure network interfaces. If you specify Yes, the
DHCP client software is enabled on your system during Solaris installation. You do
not need to do anything else with the Solaris client to use DHCP.
The DHCP server's configuration determines what information is given to DHCP client systems
that use the DHCP service.
If a client system is already running the Solaris OS, but not
using DHCP, you can reconfigure the client system to use DHCP. You can
also reconfigure a DHCP client system so that it stops using DHCP and
uses static network information that you provide. See Enabling and Disabling a Solaris DHCP Client for more information.
Logical Interfaces
In the DHCPv4 client, each logical interface is independent and is an administrative
unit. In addition to the zeroth logical interface (which defaults to the
interface MAC address as an identifier), the user may configure specific logical interfaces
to run DHCP by specifying a CLIENT_ID in the dhcpagent configuration file.
For example:
hme0:1.CLIENT_ID=orangutan
DHCP Client Startup
The dhcpagent daemon obtains configuration information that is needed by other processes involved
in booting the system. For this reason, the system startup scripts start dhcpagent
early in the boot process and wait until the network configuration information from the
DHCP server arrives.
The presence of the file /etc/dhcp.interface (for example, /etc/dhcp.ce0 on a Sun FireTM 880 system)
indicates to the startup scripts that DHCP is to be used on
the specified interface. Upon finding a dhcp.interface file, the startup scripts start dhcpagent.
After startup, dhcpagent waits until it receives instructions to configure a network interface.
The startup scripts issue the ifconfig interface dhcp start command, which instructs dhcpagent to start DHCP
as described in How DHCP Works. If commands are contained within the dhcp.interface file, they are
appended to the dhcp start option of ifconfig. See the ifconfig(1M) man page for
more information about options used with the ifconfig interface dhcp command.
How the DHCP Client Manages Network Configuration Information
After the information packet is obtained from a DHCP server, dhcpagent configures
the network interface and brings up the interface. The daemon controls the interface
for the duration of the lease time for the IP address, and maintains
the configuration data in an internal table. The system startup scripts use the
dhcpinfo command to extract configuration option values from the internal table. The values
are used to configure the system and enable it to communicate on the
network.
The dhcpagent daemon waits passively until a period of time elapses, usually half
the lease time. The daemon then requests an extension of the lease from
a DHCP server. If dhcpagent finds that the interface is down or that
the IP address has changed, the daemon does not control the interface until
instructed by the ifconfig command to do so. If dhcpagent finds that the
interface is up and the IP address hasn't changed, the daemon sends a
request to the server for a lease renewal. If the lease cannot be
renewed, dhcpagent takes down the interface at the end of the lease time.
Each time dhcpagent performs an action related to the lease, the daemon looks
for an executable file called /etc/dhcp/eventhook. If an executable file with this
name is found, dhcpagent invokes the executable. See DHCP Client Event Scripts for more information about
using the event executable.
DHCP Client Shutdown
When the DHCP client system shuts down normally, dhcpagent writes the current configuration
information to the file /etc/dhcp/interface.dhc. The lease is dropped rather than released, so
the DHCP server does not know that the IP address is not
in active use.
If the lease is still valid when the system reboots, dhcpagent sends an
abbreviated request to use the same IP address and network configuration information. If
the DHCP server permits this request, dhcpagent can use the information that it
wrote to disk when the system shut down. If the server does not
permit the client to use the information, dhcpagent initiates the DHCP protocol sequence
described in How DHCP Works. As a result, the client obtains new network configuration information.