Print this page
7388 Support DHCP Client FQDN. Allow IAID/DUID for all v4.
   1 DHCPAGENT(1M)                Maintenance Commands                DHCPAGENT(1M)
   2 
   3 
   4 
   5 NAME
   6        dhcpagent - Dynamic Host Configuration Protocol (DHCP) client daemon
   7 
   8 SYNOPSIS
   9        dhcpagent [-a] [ -d n] [-f] [-v]
  10 
  11 
  12 DESCRIPTION
  13        dhcpagent implements the client half of the Dynamic Host Configuration
  14        Protocol (DHCP) for machines running Solaris software.
  15 
  16 
  17        The dhcpagent daemon obtains configuration parameters for the client
  18        (local) machine's network interfaces from a DHCP server. These
  19        parameters may include a lease on an IP address, which gives the client
  20        machine use of the address for the period of the lease, which may be
  21        infinite. If the client wishes to use the IP address for a period
  22        longer than the lease, it must negotiate an extension using DHCP. For
  23        this reason, dhcpagent must run as a daemon, terminating only when the
  24        client machine powers down.
  25 
  26 
  27        For IPv4, the dhcpagent daemon is controlled through ifconfig(1M) in
  28        much the same way that the init(1M) daemon is controlled by
  29        telinit(1M). dhcpagent can be invoked as a user process, albeit one
  30        requiring root privileges, but this is not necessary, as ifconfig(1M)
  31        will start it automatically.

  32 
  33 
  34        For IPv6, the dhcpagent daemon is invoked automatically by in.ndpd(1M).
  35        It can also be controlled through ifconfig(1M), if necessary.
  36 
  37 
  38        When invoked, dhcpagent enters a passive state while it awaits
  39        instructions from ifconfig(1M) or in.ndpd(1M). When it receives a
  40        command to configure an interface, it brings up the interface (if
  41        necessary) and starts DHCP. Once DHCP is complete, dhcpagent can be
  42        queried for the values of the various network parameters. In addition,
  43        if DHCP was used to obtain a lease on an address for an interface, it
  44        configures the address for use. When a lease is obtained, it is
  45        automatically renewed as necessary. If the lease cannot be renewed,
  46        dhcpagent will unconfigure the address, but the interface will be left
  47        up and dhcpagent will attempt to acquire a new address lease. dhcpagent
  48        monitors system suspend/resume events and will validate any non-
  49        permanent leases with the DHCP server upon resume. Similarly, dhcpagent
  50        monitors link up/down events and will validate any non-permanent leases
  51        with the DHCP server when the downed link is brought back up. The lease
  52        validation mechanism will restart DHCP if the server indicates that the
  53        existing lease is no longer valid. If the server cannot be contacted,
  54        then the existing lease will continue. This behavior can be modified
  55        with the VERIFIED_LEASE_ONLY parameter in the /etc/default/dhcpagent
  56        file.  See the description of this parameter below.
  57 
  58 












  59        For IPv4, if the configured interface is found to be unplumbed, or to
  60        have a different IP address, subnet mask, or broadcast address from
  61        those obtained from DHCP, the interface is abandoned from DHCP control.
  62 
  63 
  64        For IPv6, dhcpagent automatically plumbs and unplumbs logical
  65        interfaces as necessary for the IPv6 addresses supplied by the server.
  66        The IPv6 prefix length (netmask) is not set by the DHCPv6 protocol, but
  67        is instead set by in.ndpd(1M) using prefix information obtained by
  68        Router Advertisements.  If any of the logical interfaces created by
  69        dhcpagent is unplumbed, or configured with a different IP address, it
  70        will be abandoned from DHCP control.  If the link-local interface is
  71        unplumbed, then all addresses configured by DHCP on that physical
  72        interface will be removed.
  73 
  74 
  75        In addition to DHCP, dhcpagent also supports BOOTP (IPv4 only). See RFC
  76        951, Bootstrap Protocol. Configuration parameters obtained from a BOOTP
  77        server are treated identically to those received from a DHCP server,
  78        except that the IP address received from a BOOTP server always has an


  83        the client, for example, the domain name and addresses of routers.
  84        Aside from the IP address, and for IPv4 alone, the netmask, broadcast
  85        address, and default router, the agent does not directly configure the
  86        workstation, but instead acts as a database which may be interrogated
  87        by other programs, and in particular by dhcpinfo(1).
  88 
  89 
  90        On clients with a single interface, this is quite straightforward.
  91        Clients with multiple interfaces may present difficulties, as it is
  92        possible that some information arriving on different interfaces may
  93        need to be merged, or may be inconsistent. Furthermore, the
  94        configuration of the interfaces is asynchronous, so requests may arrive
  95        while some or all of the interfaces are still unconfigured. To handle
  96        these cases, one interface may be designated as primary, which makes it
  97        the authoritative source for the values of DHCP parameters in the case
  98        where no specific interface is requested. See dhcpinfo(1) and
  99        ifconfig(1M) for details.
 100 
 101 
 102        For IPv4, the dhcpagent daemon can be configured to request a
 103        particular host name. See the REQUEST_HOSTNAME description in the FILES
 104        section. When first configuring a client to request a host name, you
 105        must perform the following steps as root to ensure that the full DHCP

 106        negotiation takes place:
 107 
 108          # pkill dhcpagent
 109          # rm /etc/dhcp/interface.dhc
 110          # reboot
 111 
 112 
 113 
 114 
 115        All DHCP packets sent by dhcpagent include a vendor class identifier
 116        (RFC 2132, option code 60; RFC 3315, option code 16). This identifier
 117        is the same as the platform name returned by the uname -i command,
 118        except:
 119 
 120            o      Any commas in the platform name are changed to periods.
 121 
 122            o      If the name does not start with a stock symbol and a comma,
 123                   it is automatically prefixed with SUNW.
 124 
 125    Messages


 374 
 375 
 376 
 377        Note the redirection of stdout and stderr to a file.
 378 
 379 
 380 FILES
 381        /etc/dhcp/if.dhc
 382        /etc/dhcp/if.dh6
 383 
 384            Contains the configuration for interface. The mere existence of
 385            this file does not imply that the configuration is correct, since
 386            the lease might have expired. On start-up, dhcpagent confirms the
 387            validity of the address using REQUEST (for DHCPv4) or Confirm
 388            (DHCPv6).
 389 
 390 
 391        /etc/dhcp/duid
 392        /etc/dhcp/iaid
 393 
 394            Contains persistent storage for DUID (DHCP Unique Identifier) and
 395            IAID (Identity Association Identifier) values. The format of these
 396            files is undocumented, and applications should not read from or
 397            write to them.





 398 
 399 
 400        /etc/default/dhcpagent
 401 
 402            Contains default values for tunable parameters. All values may be
 403            qualified with the interface they apply to by prepending the
 404            interface name and a period (".") to the interface parameter name.
 405            The parameters include: the interface parameter name.
 406 
 407            To configure IPv6 parameters, place the string .v6 between the
 408            interface name (if any) and the parameter name. For example, to set
 409            the global IPv6 parameter request list, use .v6.PARAM_REQUEST_LIST.
 410            To set the CLIENT_ID (DUID) on hme0, use hme0.v6.CLIENT_ID.
 411 
 412            The parameters include:
 413 
 414            VERIFIED_LEASE_ONLY
 415 
 416                Indicates that a RELEASE rather than a DROP should be performed
 417                on managed interfaces when the agent terminates. Release causes
 418                the client to discard the lease, and the server to make the
 419                address available again. Drop causes the client to record the
 420                lease in /etc/dhcp/interface.dhc or /etc/dhcp/interface.dh6 for
 421                later use. In addition, when the link status changes to up or
 422                when the system is resumed after a suspend, the client will
 423                verify the lease with the server. If the server is unreachable
 424                for verification, then the old lease will be discarded (even if
 425                it has time remaining) and a new one obtained.
 426 
 427                Enabling this option is often desirable on mobile systems, such
 428                as laptops, to allow the system to recover quickly from moves.
 429 

 430 

 431            OFFER_WAIT
 432 
 433                Indicates how long to wait between checking for valid OFFERs
 434                after sending a DISCOVER. For DHCPv6, sets the time to wait
 435                between checking for valid Advertisements after sending a
 436                Solicit.
 437 

 438 

 439            CLIENT_ID
 440 
 441                Indicates the value that should be used to uniquely identify
 442                the client to the server. This value can take one of three
 443                basic forms:
 444 
 445                  decimal,data...
 446                  0xHHHHH...
 447                  "string...."
 448 
 449 
 450                The first form is an RFC 3315 DUID. This is legal for both IPv4
 451                DHCP and DHCPv6. For IPv4, an RFC 4361 Client ID is constructed
 452                from this value. In this first form, the format of data...
 453                depends on the decimal value. The following formats are defined
 454                for this first form:
 455 
 456                1,hwtype,time,lla
 457 
 458                    Type 1, DUID-LLT. The hwtype value is an integer in the


 473                    sequence of hexadecimal digits.
 474 
 475 
 476                3,hwtype,lla
 477 
 478                    Type 3, DUID-LL. This is the same as DUID-LLT (type 1),
 479                    except that a time stamp is not used.
 480 
 481 
 482                *,hex
 483 
 484                    Any other type value (0 or 4-65535) can be used with an
 485                    even-length hexadecimal string.
 486 
 487                The second and third forms of CLIENT_ID are legal for IPv4
 488                only. These both represent raw Client ID (without RFC 4361), in
 489                hex, or NVT ASCII string format. Thus, "Sun" and 0x53756E are
 490                equivalent.
 491 
 492 

















 493            PARAM_REQUEST_LIST
 494 
 495                Specifies a list of comma-separated integer values of options
 496                for which the client would like values, or symbolic Site or
 497                Option option names.  Symbolic option names for IPv4 are
 498                resolved through /etc/dhcp/inittab.  Option names for IPv6 are
 499                resolved by means of /etc/dhcp/inittab6.
 500 
 501 
 502            PARAM_IGNORE_LIST
 503 
 504                Specifies a list of options (constructed in the same manner as
 505                PARAM_REQUEST_LIST) that the DHCP client will ignore. Ignored
 506                options are treated as though the server did not return the
 507                options specified. Ignored options are not visible using
 508                dhcpinfo(1) or acted on by the client. This parameter can be
 509                used, for example, to disable an unwanted client name or
 510                default router.
 511 
 512 









































 513            REQUEST_HOSTNAME
 514 
 515                Indicates the client requests the DHCP server to map the
 516                client's leased IPv4 address to the host name associated with
 517                the network interface that performs DHCP on the client. The
 518                host name must be specified in the /etc/hostname.interface file
 519                for the relevant interface on a line of the form

 520 
 521                  inet hostname
 522 
 523 
 524                where hostname is the host name requested.
 525 
 526                This option works with DHCPv4 only.
 527 

 528 
 529 

 530        /etc/dhcp/eventhook
 531 
 532            Location of a DHCP event program.
 533 
 534 
 535 ATTRIBUTES
 536        See attributes(5) for descriptions of the following attributes:
 537 
 538 
 539 
 540 
 541        +--------------------+-----------------+
 542        |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
 543        +--------------------+-----------------+
 544        |Interface Stability | Committed       |
 545        +--------------------+-----------------+
 546 
 547 SEE ALSO
 548        dhcpinfo(1), ifconfig(1M), init(1M), in.mpathd(1M), in.ndpd(1M),
 549        syslog(3C), attributes(5), dhcp(5)

 550 
 551 
 552 
 553 
 554        Croft, B. and Gilmore, J.,Bootstrap Protocol (BOOTP)RFC 951, Network
 555        Working Group, September 1985.
 556 
 557 
 558        Droms, R., Dynamic Host Configuration Protocol, RFC 2131, Network
 559        Working Group, March 1997.
 560 
 561 
 562        Lemon, T. and B. Sommerfeld. RFC 4361, Node-specific Client Identifiers
 563        for Dynamic Host Configuration Protocol Version Four (DHCPv4). Nominum
 564        and Sun Microsystems. February 2006.
 565 
 566 
 567        Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6
 568        (DHCPv6). Cisco Systems. July 2003.
 569 


 593 
 594        DHCP can be performed on IP interfaces that are part of an IPMP group
 595        (to acquire and maintain test addresses). The daemon will automatically
 596        set the NOFAILOVER and DEPRECATED flags on each test address.
 597        Additionally, the daemon will not add or remove default routes in this
 598        case. Note that the actual DHCP packet exchange may be performed over
 599        any active IP interface in the IPMP group. It is strongly recommended
 600        that test addresses have infinite leases. Otherwise, an extended
 601        network outage detectable only by probes may cause test address leases
 602        to expire, causing in.mpathd(1M) to revert to link-based failure
 603        detection and trigger an erroneous repair.
 604 
 605 
 606        With DHCPv6, the link-local interface must be configured using
 607        /etc/hostname6.hme0 in order for DHCPv6 to run on hme0 at boot time.
 608        The logical interfaces for each address are plumbed by dhcpagent
 609        automatically.
 610 
 611 
 612 
 613                                December 11, 2015                 DHCPAGENT(1M)
   1 DHCPAGENT(1M)                Maintenance Commands                DHCPAGENT(1M)
   2 
   3 
   4 
   5 NAME
   6        dhcpagent - Dynamic Host Configuration Protocol (DHCP) client daemon
   7 
   8 SYNOPSIS
   9        dhcpagent [-a] [ -d n] [-f] [-v]
  10 
  11 
  12 DESCRIPTION
  13        dhcpagent implements the client half of the Dynamic Host Configuration
  14        Protocol (DHCP) for machines running illumos software.
  15 
  16 
  17        The dhcpagent daemon obtains configuration parameters for the client
  18        (local) machine's network interfaces from a DHCP server. These
  19        parameters may include a lease on an IP address, which gives the client
  20        machine use of the address for the period of the lease, which may be
  21        infinite. If the client wishes to use the IP address for a period
  22        longer than the lease, it must negotiate an extension using DHCP. For
  23        this reason, dhcpagent must run as a daemon, terminating only when the
  24        client machine powers down.
  25 
  26 
  27        For IPv4, the dhcpagent daemon is controlled through ipadm(1M),
  28        nwamcfg(1M), or ifconfig(1M) in much the same way that the init(1M)
  29        daemon is controlled by telinit(1M). dhcpagent can be invoked as a user
  30        process, albeit one requiring root privileges, but this is not
  31        necessary, as ipadm(1M), nwamcfg(1M), or ifconfig(1M) will start
  32        dhcpagent automatically.
  33 
  34 
  35        For IPv6, the dhcpagent daemon is invoked automatically by in.ndpd(1M).
  36        It can also be controlled through ifconfig(1M), if necessary.
  37 
  38 
  39        When invoked, dhcpagent enters a passive state while it awaits
  40        instructions from ipadm(1M), nwamcfg(1M), ifconfig(1M), or in.ndpd(1M).
  41        When dhcpagent receives a command to configure an interface, dhcpagent
  42        brings up the interface (if necessary) and starts DHCP. Once DHCP is
  43        complete, dhcpagent can be queried for the values of the various
  44        network parameters. In addition, if DHCP was used to obtain a lease on
  45        an address for an interface, dhcpagent configures the address for use.
  46        When a lease is obtained, it is automatically renewed as necessary. If
  47        the lease cannot be renewed, dhcpagent will unconfigure the address,
  48        but the interface will be left up, and dhcpagent will attempt to
  49        acquire a new address lease.








  50 
  51 
  52        dhcpagent monitors system suspend/resume events and will validate any
  53        non-permanent leases with the DHCP server upon resume. Similarly,
  54        dhcpagent monitors link up/down events and will validate any non-
  55        permanent leases with the DHCP server when the downed link is brought
  56        back up. The lease validation mechanism will restart DHCP if the server
  57        indicates that the existing lease is no longer valid. If the server
  58        cannot be contacted, then the existing lease will continue. This
  59        behavior can be modified with the VERIFIED_LEASE_ONLY parameter in the
  60        /etc/default/dhcpagent file.  See the description of this parameter
  61        below.
  62 
  63 
  64        For IPv4, if the configured interface is found to be unplumbed, or to
  65        have a different IP address, subnet mask, or broadcast address from
  66        those obtained from DHCP, the interface is abandoned from DHCP control.
  67 
  68 
  69        For IPv6, dhcpagent automatically plumbs and unplumbs logical
  70        interfaces as necessary for the IPv6 addresses supplied by the server.
  71        The IPv6 prefix length (netmask) is not set by the DHCPv6 protocol, but
  72        is instead set by in.ndpd(1M) using prefix information obtained by
  73        Router Advertisements.  If any of the logical interfaces created by
  74        dhcpagent is unplumbed, or configured with a different IP address, it
  75        will be abandoned from DHCP control.  If the link-local interface is
  76        unplumbed, then all addresses configured by DHCP on that physical
  77        interface will be removed.
  78 
  79 
  80        In addition to DHCP, dhcpagent also supports BOOTP (IPv4 only). See RFC
  81        951, Bootstrap Protocol. Configuration parameters obtained from a BOOTP
  82        server are treated identically to those received from a DHCP server,
  83        except that the IP address received from a BOOTP server always has an


  88        the client, for example, the domain name and addresses of routers.
  89        Aside from the IP address, and for IPv4 alone, the netmask, broadcast
  90        address, and default router, the agent does not directly configure the
  91        workstation, but instead acts as a database which may be interrogated
  92        by other programs, and in particular by dhcpinfo(1).
  93 
  94 
  95        On clients with a single interface, this is quite straightforward.
  96        Clients with multiple interfaces may present difficulties, as it is
  97        possible that some information arriving on different interfaces may
  98        need to be merged, or may be inconsistent. Furthermore, the
  99        configuration of the interfaces is asynchronous, so requests may arrive
 100        while some or all of the interfaces are still unconfigured. To handle
 101        these cases, one interface may be designated as primary, which makes it
 102        the authoritative source for the values of DHCP parameters in the case
 103        where no specific interface is requested. See dhcpinfo(1) and
 104        ifconfig(1M) for details.
 105 
 106 
 107        For IPv4, the dhcpagent daemon can be configured to request a
 108        particular Fully Qualified Domain Name (FQDN) or host name. See the
 109        REQUEST_FQDN or REQUEST_HOSTNAME description in the FILES section. When
 110        first configuring a client to request an FQDN or host name, you must
 111        perform the following steps as root to ensure that the full DHCP
 112        negotiation takes place:
 113 
 114          # pkill dhcpagent
 115          # rm /etc/dhcp/interface.dhc
 116          # reboot
 117 
 118 
 119 
 120 
 121        All DHCP packets sent by dhcpagent include a vendor class identifier
 122        (RFC 2132, option code 60; RFC 3315, option code 16). This identifier
 123        is the same as the platform name returned by the uname -i command,
 124        except:
 125 
 126            o      Any commas in the platform name are changed to periods.
 127 
 128            o      If the name does not start with a stock symbol and a comma,
 129                   it is automatically prefixed with SUNW.
 130 
 131    Messages


 380 
 381 
 382 
 383        Note the redirection of stdout and stderr to a file.
 384 
 385 
 386 FILES
 387        /etc/dhcp/if.dhc
 388        /etc/dhcp/if.dh6
 389 
 390            Contains the configuration for interface. The mere existence of
 391            this file does not imply that the configuration is correct, since
 392            the lease might have expired. On start-up, dhcpagent confirms the
 393            validity of the address using REQUEST (for DHCPv4) or Confirm
 394            (DHCPv6).
 395 
 396 
 397        /etc/dhcp/duid
 398        /etc/dhcp/iaid
 399 
 400            Contains persistent storage for system-generated DUID (DHCP Unique
 401            Identifier) and interface-specific IAID (Identity Association
 402            Identifier) values which are used if no CLIENT_ID is defined (see
 403            below). The format of these files is undocumented, and applications
 404            should not read from or write to them.  Instead, dhcpinfo(1) can be
 405            used to query the dhcpagent for ClientID.  For DHCPv6 interfaces,
 406            the result will contain the DUID. For DHCPv4 interfaces with
 407            V4_DEFAULT_IAID_DUID enabled (see below), the result will contain
 408            the IAID and DUID.
 409 
 410 
 411        /etc/default/dhcpagent
 412 
 413            Contains default values for tunable parameters. All values may be
 414            qualified with the interface they apply to by prepending the
 415            interface name and a period (".") to the interface parameter name.
 416            The parameters include: the interface parameter name.
 417 
 418            To configure IPv6 parameters, place the string .v6 between the
 419            interface name (if any) and the parameter name. For example, to set
 420            the global IPv6 parameter request list, use .v6.PARAM_REQUEST_LIST.
 421            To set the CLIENT_ID (DUID) on hme0, use hme0.v6.CLIENT_ID.
 422 
 423            The parameters include:
 424 
 425            VERIFIED_LEASE_ONLY
 426 
 427                Indicates that a RELEASE rather than a DROP should be performed
 428                on managed interfaces when the agent terminates. Release causes
 429                the client to discard the lease, and the server to make the
 430                address available again. Drop causes the client to record the
 431                lease in /etc/dhcp/interface.dhc or /etc/dhcp/interface.dh6 for
 432                later use. In addition, when the link status changes to up or
 433                when the system is resumed after a suspend, the client will
 434                verify the lease with the server. If the server is unreachable
 435                for verification, then the old lease will be discarded (even if
 436                it has time remaining) and a new one obtained.
 437 
 438                Enabling this option is often desirable on mobile systems, such
 439                as laptops, to allow the system to recover quickly from moves.
 440 
 441                Default value of this option is no.
 442 
 443 
 444            OFFER_WAIT
 445 
 446                Indicates how long to wait in seconds between checking for
 447                valid OFFERs after sending a DISCOVER. For DHCPv6, sets the
 448                time to wait between checking for valid Advertisements after
 449                sending a Solicit.
 450 
 451                Default value of this option is 3.
 452 
 453 
 454            CLIENT_ID
 455 
 456                Indicates the value that should be used to uniquely identify
 457                the client to the server. This value can take one of three
 458                basic forms:
 459 
 460                  decimal,data...
 461                  0xHHHHH...
 462                  "string...."
 463 
 464 
 465                The first form is an RFC 3315 DUID. This is legal for both IPv4
 466                DHCP and DHCPv6. For IPv4, an RFC 4361 Client ID is constructed
 467                from this value. In this first form, the format of data...
 468                depends on the decimal value. The following formats are defined
 469                for this first form:
 470 
 471                1,hwtype,time,lla
 472 
 473                    Type 1, DUID-LLT. The hwtype value is an integer in the


 488                    sequence of hexadecimal digits.
 489 
 490 
 491                3,hwtype,lla
 492 
 493                    Type 3, DUID-LL. This is the same as DUID-LLT (type 1),
 494                    except that a time stamp is not used.
 495 
 496 
 497                *,hex
 498 
 499                    Any other type value (0 or 4-65535) can be used with an
 500                    even-length hexadecimal string.
 501 
 502                The second and third forms of CLIENT_ID are legal for IPv4
 503                only. These both represent raw Client ID (without RFC 4361), in
 504                hex, or NVT ASCII string format. Thus, "Sun" and 0x53756E are
 505                equivalent.
 506 
 507 
 508            V4_DEFAULT_IAID_DUID
 509 
 510                Indicates whether to use, when CLIENT_ID is not defined, a
 511                system-managed, RFC 3315-style (i.e., DHCPv6-style) binding
 512                identifier as documented in RFC 4361, "Node-specific Client
 513                Identifiers for DHCPv4," for IPv4 interfaces which for purposes
 514                of backward compatibility do not normally get default binding
 515                identifiers.
 516 
 517                An IPv4 interface that is not in an IP network multipathing
 518                (IPMP) group, that is not IP over InfiniBand (IPoIB), and that
 519                is not a logical interface does not normally get a default
 520                binding identifier.
 521 
 522                Default value of this option is no.
 523 
 524 
 525            PARAM_REQUEST_LIST
 526 
 527                Specifies a list of comma-separated integer values of options
 528                for which the client would like values, or symbolic Site or
 529                Option option names.  Symbolic option names for IPv4 are
 530                resolved through /etc/dhcp/inittab.  Option names for IPv6 are
 531                resolved by means of /etc/dhcp/inittab6.
 532 
 533 
 534            PARAM_IGNORE_LIST
 535 
 536                Specifies a list of options (constructed in the same manner as
 537                PARAM_REQUEST_LIST) that the DHCP client will ignore. Ignored
 538                options are treated as though the server did not return the
 539                options specified. Ignored options are not visible using
 540                dhcpinfo(1) or acted on by the client. This parameter can be
 541                used, for example, to disable an unwanted client name or
 542                default router.
 543 
 544 
 545            REQUEST_FQDN
 546 
 547                Indicates the client requests the DHCP server to map the
 548                client's leased IPv4 address to the Fully Qualified Domain Name
 549                (FQDN) associated with the network interface that performs DHCP
 550                on the client and to collaborate with a compatible DNS server
 551                to manage A and PTR resource records for the FQDN for the life
 552                of the lease.
 553 
 554                The hostname in the FQDN is determined from the following
 555                possible configurations:
 556 
 557                1.  ipadm(1M): include the -1,--primary flag when creating an
 558                address that uses DHCP so that nodename(4) is used as the
 559                hostname.
 560 
 561                2.  ipadm(1M): include the -h,--reqhost hostname switch when
 562                executing the create-addr -T dhcp subcommand, or use the set-
 563                addrprop -p reqhost=hostname subcommand for any existing DHCP
 564                address.
 565 
 566                3.  nwamcfg(1M): set a property, ip-primary=on, for an ncu ip
 567                that uses DHCP so that nodename(4) is used as the hostname.
 568 
 569                4.  nwamcfg(1M): set a property, ip-reqhost=hostname, for an
 570                ncu ip that uses DHCP.
 571 
 572                The hostname value is either a Partially Qualified Domain Name
 573                (PQDN) or an FQDN (i.e., a "rooted" domain name ending with a
 574                '.' or one inferred to be an FQDN if it contains at least three
 575                DNS labels such as srv.example.com).  If a PQDN is specified,
 576                then an FQDN is constructed if either a defaultdomain(4) or a
 577                resolv.conf(4) domain is defined.
 578 
 579                If an FQDN is sent, REQUEST_HOSTNAME processing will not be
 580                done, per RFC 4702 (3.1):  "clients that send the Client FQDN
 581                option in their messages MUST NOT also send the Host Name."
 582 
 583                Default value of this option is yes.
 584 
 585 
 586            REQUEST_HOSTNAME
 587 
 588                Indicates the client requests the DHCP server to map the
 589                client's leased IPv4 address to the host name associated with
 590                the network interface that performs DHCP on the client. The
 591                host name must be specified as documented for a PQDN in
 592                REQUEST_FQDN above or specified in the /etc/hostname.interface
 593                file for the relevant interface on a line of the form
 594 
 595                  inet hostname
 596 
 597 
 598                where hostname is the host name requested.
 599 
 600                This option works with DHCPv4 only.
 601 
 602                Default value of this option is yes.
 603 
 604 
 605 
 606        /etc/dhcp/eventhook
 607 
 608            Location of a DHCP event program.
 609 
 610 
 611 ATTRIBUTES
 612        See attributes(5) for descriptions of the following attributes:
 613 
 614 
 615 
 616 
 617        +--------------------+-----------------+
 618        |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
 619        +--------------------+-----------------+
 620        |Interface Stability | Committed       |
 621        +--------------------+-----------------+
 622 
 623 SEE ALSO
 624        dhcpinfo(1), ifconfig(1M), init(1M), in.mpathd(1M), in.ndpd(1M),
 625        ipadm(1M), nwamcfg(1M), syslog(3C), defaultdomain(4), nodename(4),
 626        resolv.conf(4), attributes(5), dhcp(5)
 627 
 628 
 629 
 630 
 631        Croft, B. and Gilmore, J.,Bootstrap Protocol (BOOTP)RFC 951, Network
 632        Working Group, September 1985.
 633 
 634 
 635        Droms, R., Dynamic Host Configuration Protocol, RFC 2131, Network
 636        Working Group, March 1997.
 637 
 638 
 639        Lemon, T. and B. Sommerfeld. RFC 4361, Node-specific Client Identifiers
 640        for Dynamic Host Configuration Protocol Version Four (DHCPv4). Nominum
 641        and Sun Microsystems. February 2006.
 642 
 643 
 644        Droms, R. RFC 3315, Dynamic Host Configuration Protocol for IPv6
 645        (DHCPv6). Cisco Systems. July 2003.
 646 


 670 
 671        DHCP can be performed on IP interfaces that are part of an IPMP group
 672        (to acquire and maintain test addresses). The daemon will automatically
 673        set the NOFAILOVER and DEPRECATED flags on each test address.
 674        Additionally, the daemon will not add or remove default routes in this
 675        case. Note that the actual DHCP packet exchange may be performed over
 676        any active IP interface in the IPMP group. It is strongly recommended
 677        that test addresses have infinite leases. Otherwise, an extended
 678        network outage detectable only by probes may cause test address leases
 679        to expire, causing in.mpathd(1M) to revert to link-based failure
 680        detection and trigger an erroneous repair.
 681 
 682 
 683        With DHCPv6, the link-local interface must be configured using
 684        /etc/hostname6.hme0 in order for DHCPv6 to run on hme0 at boot time.
 685        The logical interfaces for each address are plumbed by dhcpagent
 686        automatically.
 687 
 688 
 689 
 690                                November 7, 2016                  DHCPAGENT(1M)