Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
*** 9,19 ****
dhcpagent [-a] [ -d n] [-f] [-v]
DESCRIPTION
dhcpagent implements the client half of the Dynamic Host Configuration
! Protocol (DHCP) for machines running Solaris software.
The dhcpagent daemon obtains configuration parameters for the client
(local) machine's network interfaces from a DHCP server. These
parameters may include a lease on an IP address, which gives the client
--- 9,19 ----
dhcpagent [-a] [ -d n] [-f] [-v]
DESCRIPTION
dhcpagent implements the client half of the Dynamic Host Configuration
! Protocol (DHCP) for machines running illumos software.
The dhcpagent daemon obtains configuration parameters for the client
(local) machine's network interfaces from a DHCP server. These
parameters may include a lease on an IP address, which gives the client
*** 22,63 ****
longer than the lease, it must negotiate an extension using DHCP. For
this reason, dhcpagent must run as a daemon, terminating only when the
client machine powers down.
! For IPv4, the dhcpagent daemon is controlled through ifconfig(1M) in
! much the same way that the init(1M) daemon is controlled by
! telinit(1M). dhcpagent can be invoked as a user process, albeit one
! requiring root privileges, but this is not necessary, as ifconfig(1M)
! will start it automatically.
For IPv6, the dhcpagent daemon is invoked automatically by in.ndpd(1M).
It can also be controlled through ifconfig(1M), if necessary.
When invoked, dhcpagent enters a passive state while it awaits
! instructions from ifconfig(1M) or in.ndpd(1M). When it receives a
! command to configure an interface, it brings up the interface (if
! necessary) and starts DHCP. Once DHCP is complete, dhcpagent can be
! queried for the values of the various network parameters. In addition,
! if DHCP was used to obtain a lease on an address for an interface, it
! configures the address for use. When a lease is obtained, it is
! automatically renewed as necessary. If the lease cannot be renewed,
! dhcpagent will unconfigure the address, but the interface will be left
! up and dhcpagent will attempt to acquire a new address lease. dhcpagent
! monitors system suspend/resume events and will validate any non-
! permanent leases with the DHCP server upon resume. Similarly, dhcpagent
! monitors link up/down events and will validate any non-permanent leases
! with the DHCP server when the downed link is brought back up. The lease
! validation mechanism will restart DHCP if the server indicates that the
! existing lease is no longer valid. If the server cannot be contacted,
! then the existing lease will continue. This behavior can be modified
! with the VERIFIED_LEASE_ONLY parameter in the /etc/default/dhcpagent
! file. See the description of this parameter below.
For IPv4, if the configured interface is found to be unplumbed, or to
have a different IP address, subnet mask, or broadcast address from
those obtained from DHCP, the interface is abandoned from DHCP control.
--- 22,68 ----
longer than the lease, it must negotiate an extension using DHCP. For
this reason, dhcpagent must run as a daemon, terminating only when the
client machine powers down.
! For IPv4, the dhcpagent daemon is controlled through ipadm(1M),
! nwamcfg(1M), or ifconfig(1M) in much the same way that the init(1M)
! daemon is controlled by telinit(1M). dhcpagent can be invoked as a user
! process, albeit one requiring root privileges, but this is not
! necessary, as ipadm(1M), nwamcfg(1M), or ifconfig(1M) will start
! dhcpagent automatically.
For IPv6, the dhcpagent daemon is invoked automatically by in.ndpd(1M).
It can also be controlled through ifconfig(1M), if necessary.
When invoked, dhcpagent enters a passive state while it awaits
! instructions from ipadm(1M), nwamcfg(1M), ifconfig(1M), or in.ndpd(1M).
! When dhcpagent receives a command to configure an interface, dhcpagent
! brings up the interface (if necessary) and starts DHCP. Once DHCP is
! complete, dhcpagent can be queried for the values of the various
! network parameters. In addition, if DHCP was used to obtain a lease on
! an address for an interface, dhcpagent configures the address for use.
! When a lease is obtained, it is automatically renewed as necessary. If
! the lease cannot be renewed, dhcpagent will unconfigure the address,
! but the interface will be left up, and dhcpagent will attempt to
! acquire a new address lease.
+ dhcpagent monitors system suspend/resume events and will validate any
+ non-permanent leases with the DHCP server upon resume. Similarly,
+ dhcpagent monitors link up/down events and will validate any non-
+ permanent leases with the DHCP server when the downed link is brought
+ back up. The lease validation mechanism will restart DHCP if the server
+ indicates that the existing lease is no longer valid. If the server
+ cannot be contacted, then the existing lease will continue. This
+ behavior can be modified with the VERIFIED_LEASE_ONLY parameter in the
+ /etc/default/dhcpagent file. See the description of this parameter
+ below.
+
+
For IPv4, if the configured interface is found to be unplumbed, or to
have a different IP address, subnet mask, or broadcast address from
those obtained from DHCP, the interface is abandoned from DHCP control.
*** 98,110 ****
where no specific interface is requested. See dhcpinfo(1) and
ifconfig(1M) for details.
For IPv4, the dhcpagent daemon can be configured to request a
! particular host name. See the REQUEST_HOSTNAME description in the FILES
! section. When first configuring a client to request a host name, you
! must perform the following steps as root to ensure that the full DHCP
negotiation takes place:
# pkill dhcpagent
# rm /etc/dhcp/interface.dhc
# reboot
--- 103,116 ----
where no specific interface is requested. See dhcpinfo(1) and
ifconfig(1M) for details.
For IPv4, the dhcpagent daemon can be configured to request a
! particular Fully Qualified Domain Name (FQDN) or host name. See the
! REQUEST_FQDN or REQUEST_HOSTNAME description in the FILES section. When
! first configuring a client to request an FQDN or host name, you must
! perform the following steps as root to ensure that the full DHCP
negotiation takes place:
# pkill dhcpagent
# rm /etc/dhcp/interface.dhc
# reboot
*** 389,402 ****
/etc/dhcp/duid
/etc/dhcp/iaid
! Contains persistent storage for DUID (DHCP Unique Identifier) and
! IAID (Identity Association Identifier) values. The format of these
! files is undocumented, and applications should not read from or
! write to them.
/etc/default/dhcpagent
Contains default values for tunable parameters. All values may be
--- 395,413 ----
/etc/dhcp/duid
/etc/dhcp/iaid
! Contains persistent storage for system-generated DUID (DHCP Unique
! Identifier) and interface-specific IAID (Identity Association
! Identifier) values which are used if no CLIENT_ID is defined (see
! below). The format of these files is undocumented, and applications
! should not read from or write to them. Instead, dhcpinfo(1) can be
! used to query the dhcpagent for ClientID. For DHCPv6 interfaces,
! the result will contain the DUID. For DHCPv4 interfaces with
! V4_DEFAULT_IAID_DUID enabled (see below), the result will contain
! the IAID and DUID.
/etc/default/dhcpagent
Contains default values for tunable parameters. All values may be
*** 425,443 ****
it has time remaining) and a new one obtained.
Enabling this option is often desirable on mobile systems, such
as laptops, to allow the system to recover quickly from moves.
OFFER_WAIT
! Indicates how long to wait between checking for valid OFFERs
! after sending a DISCOVER. For DHCPv6, sets the time to wait
! between checking for valid Advertisements after sending a
! Solicit.
CLIENT_ID
Indicates the value that should be used to uniquely identify
the client to the server. This value can take one of three
basic forms:
--- 436,458 ----
it has time remaining) and a new one obtained.
Enabling this option is often desirable on mobile systems, such
as laptops, to allow the system to recover quickly from moves.
+ Default value of this option is no.
+
OFFER_WAIT
! Indicates how long to wait in seconds between checking for
! valid OFFERs after sending a DISCOVER. For DHCPv6, sets the
! time to wait between checking for valid Advertisements after
! sending a Solicit.
+ Default value of this option is 3.
+
CLIENT_ID
Indicates the value that should be used to uniquely identify
the client to the server. This value can take one of three
basic forms:
*** 488,497 ****
--- 503,529 ----
only. These both represent raw Client ID (without RFC 4361), in
hex, or NVT ASCII string format. Thus, "Sun" and 0x53756E are
equivalent.
+ V4_DEFAULT_IAID_DUID
+
+ Indicates whether to use, when CLIENT_ID is not defined, a
+ system-managed, RFC 3315-style (i.e., DHCPv6-style) binding
+ identifier as documented in RFC 4361, "Node-specific Client
+ Identifiers for DHCPv4," for IPv4 interfaces which for purposes
+ of backward compatibility do not normally get default binding
+ identifiers.
+
+ An IPv4 interface that is not in an IP network multipathing
+ (IPMP) group, that is not IP over InfiniBand (IPoIB), and that
+ is not a logical interface does not normally get a default
+ binding identifier.
+
+ Default value of this option is no.
+
+
PARAM_REQUEST_LIST
Specifies a list of comma-separated integer values of options
for which the client would like values, or symbolic Site or
Option option names. Symbolic option names for IPv4 are
*** 508,534 ****
dhcpinfo(1) or acted on by the client. This parameter can be
used, for example, to disable an unwanted client name or
default router.
REQUEST_HOSTNAME
Indicates the client requests the DHCP server to map the
client's leased IPv4 address to the host name associated with
the network interface that performs DHCP on the client. The
! host name must be specified in the /etc/hostname.interface file
! for the relevant interface on a line of the form
inet hostname
where hostname is the host name requested.
This option works with DHCPv4 only.
/etc/dhcp/eventhook
Location of a DHCP event program.
--- 540,610 ----
dhcpinfo(1) or acted on by the client. This parameter can be
used, for example, to disable an unwanted client name or
default router.
+ REQUEST_FQDN
+
+ Indicates the client requests the DHCP server to map the
+ client's leased IPv4 address to the Fully Qualified Domain Name
+ (FQDN) associated with the network interface that performs DHCP
+ on the client and to collaborate with a compatible DNS server
+ to manage A and PTR resource records for the FQDN for the life
+ of the lease.
+
+ The hostname in the FQDN is determined from the following
+ possible configurations:
+
+ 1. ipadm(1M): include the -1,--primary flag when creating an
+ address that uses DHCP so that nodename(4) is used as the
+ hostname.
+
+ 2. ipadm(1M): include the -h,--reqhost hostname switch when
+ executing the create-addr -T dhcp subcommand, or use the set-
+ addrprop -p reqhost=hostname subcommand for any existing DHCP
+ address.
+
+ 3. nwamcfg(1M): set a property, ip-primary=on, for an ncu ip
+ that uses DHCP so that nodename(4) is used as the hostname.
+
+ 4. nwamcfg(1M): set a property, ip-reqhost=hostname, for an
+ ncu ip that uses DHCP.
+
+ The hostname value is either a Partially Qualified Domain Name
+ (PQDN) or an FQDN (i.e., a "rooted" domain name ending with a
+ '.' or one inferred to be an FQDN if it contains at least three
+ DNS labels such as srv.example.com). If a PQDN is specified,
+ then an FQDN is constructed if either a defaultdomain(4) or a
+ resolv.conf(4) domain is defined.
+
+ If an FQDN is sent, REQUEST_HOSTNAME processing will not be
+ done, per RFC 4702 (3.1): "clients that send the Client FQDN
+ option in their messages MUST NOT also send the Host Name."
+
+ Default value of this option is yes.
+
+
REQUEST_HOSTNAME
Indicates the client requests the DHCP server to map the
client's leased IPv4 address to the host name associated with
the network interface that performs DHCP on the client. The
! host name must be specified as documented for a PQDN in
! REQUEST_FQDN above or specified in the /etc/hostname.interface
! file for the relevant interface on a line of the form
inet hostname
where hostname is the host name requested.
This option works with DHCPv4 only.
+ Default value of this option is yes.
+
/etc/dhcp/eventhook
Location of a DHCP event program.
*** 544,554 ****
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
dhcpinfo(1), ifconfig(1M), init(1M), in.mpathd(1M), in.ndpd(1M),
! syslog(3C), attributes(5), dhcp(5)
Croft, B. and Gilmore, J.,Bootstrap Protocol (BOOTP)RFC 951, Network
--- 620,631 ----
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
dhcpinfo(1), ifconfig(1M), init(1M), in.mpathd(1M), in.ndpd(1M),
! ipadm(1M), nwamcfg(1M), syslog(3C), defaultdomain(4), nodename(4),
! resolv.conf(4), attributes(5), dhcp(5)
Croft, B. and Gilmore, J.,Bootstrap Protocol (BOOTP)RFC 951, Network
*** 608,613 ****
The logical interfaces for each address are plumbed by dhcpagent
automatically.
! December 11, 2015 DHCPAGENT(1M)
--- 685,690 ----
The logical interfaces for each address are plumbed by dhcpagent
automatically.
! November 7, 2016 DHCPAGENT(1M)