Skip to content

Latest commit

 

History

History
110 lines (87 loc) · 6.11 KB

File metadata and controls

110 lines (87 loc) · 6.11 KB

Chapter 3 - NetX Duo DHCPv6 configuration options

There are several configuration options for building NetX Duo DHCPv6. The following list describes each in detail:

  • NX_DHCPV6_THREAD_PRIORITY Priority of the Client thread. By default, this value specifies that the Client thread runs at priority 2.

  • NX_DHCPV6_MUTEX_WAIT Time out option for obtaining an exclusive lock on a DHCPv6 Client mutex. The default value is TX_WAIT_FOREVER.

  • NX_DHCPV6_TICKS_PER_SECOND Ratio of ticks to seconds. This is processor dependent. The default value is 100.

  • NX_DHCPV6_IP_LIFETIME_TIMER_INTERVAL Time interval in seconds at which the IP lifetime timer updates the length of time the current IP address has been assigned to the Client. By default, this value is 1.

  • NX_DHCPV6_SESSION_TIMER_INTERVAL Time interval in seconds at which the session timer updates the length of time the Client has been in session communicating with the Server. By default, this value is 1.

  • NX_DHCPV6_MAX_IA_ADDRESS The maximum number of IA addresses that can be added to the Client record. The default value is 1.

  • NX_DHCPV6_NUM_DNS_SERVERS Number of DNS servers to store to the client record. The default value is 2.

  • NX_DHCPV6_NUM_TIME_SERVERS Number of time servers to store to the client record. The default value is 1.

  • NX_DHCPV6_DOMAIN_NAME_BUFFER_SIZE Size of the buffer in the Client record to hold the client’s network domain name. The default value is 30.

  • NX_DHCPV6_TIME_ZONE_BUFFER_SIZE Size of the buffer in the Client record to hold the Client’s time zone. The default value is 10.

  • NX_DHCPV6_MAX_MESSAGE_SIZE Size of the buffer in the Client record to hold the option status message in a Server reply. The default value is 100 bytes.

  • NX_DHCPV6_PACKET_TIME_OUT Time out in seconds for allocating a packet from the Client packet pool. The default value is 3 seconds.

  • NX_DHCPV6_TYPE_OF_SERVICE This defines the type of service for UDP packet transmission from the DHCPv6 Client socket. The default value is NX_IP_NORMAL.

  • NX_DHCPV6_TIME_TO_LIVE The number of times a Client packet is forwarded by a network router before the packet is discarded. The default value is 0x80.

  • NX_DHCPV6_QUEUE_DEPTH Specifies the number of packets to keep in the Client UDP socket receive queue before NetX Duo discards packets. The default value is 5.

DHCPv6 Message Transmission

There are a set of DHCPv6 Client options for setting parameters on DHCPv6 message transmission. These are:

  • initial timeout

  • maximum delay on the first transmission

  • maximum retransmission timeout

  • maximum number of retransmissions

  • maximum duration to wait for server response

These parameters apply to each of the DHCPv6 Client messages:

  • SOLICIT

  • REQUEST

  • RENEW

  • REBIND

  • RELEASE

  • DECLINE

  • CONFIRM

  • INFORM

The following is a complete list of these configurable options and their default values:

NX_DHCPV6_FIRST_SOL_MAX_DELAY                  	(1 * NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_INIT_SOL_TRANSMISSION_TIMEOUT         (1 * NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_SOL_RETRANSMISSION_TIMEOUT        (120 *
                                                NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_SOL_RETRANSMISSION_COUNT          0
NX_DHCPV6_MAX_SOL_RETRANSMISSION_DURATION       0

NX_DHCPV6_INIT_REQ_TRANSMISSION_TIMEOUT         (1 * NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_REQ_RETRANSMISSION_TIMEOUT        (30 * NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_REQ_RETRANSMISSION_COUNT          10
NX_DHCPV6_MAX_REQ_RETRANSMISSION_DURATION       0

NX_DHCPV6_INIT_RENEW_TRANSMISSION_TIMEOUT       (10*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_RENEW_RETRANSMISSION_TIMEOUT      (600*
                                                NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_RENEW_RETRANSMISSION_COUNT        0

NX_DHCPV6_INIT_REBIND_TRANSMISSION_TIMEOUT      (10*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_REBIND_RETRANSMISSION_TIMEOUT     (600*
                                                NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_REBIND_RETRANSMISSION_COUNT       0

NX_DHCPV6_INIT_RELEASE_TRANSMISSION_TIMEOUT     (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_RELEASE_RETRANSMISSION_TIMEOUT    0
NX_DHCPV6_MAX_RELEASE_RETRANSMISSION_COUNT      5
NX_DHCPV6_MAX_RELEASE_RETRANSMISSION_DURATION   0

NX_DHCPV6_INIT_DECLINE_TRANSMISSION_TIMEOUT     (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_DECLINE_RETRANSMISSION_TIMEOUT    0
NX_DHCPV6_MAX_DECLINE_RETRANSMISSION_COUNT      5
NX_DHCPV6_MAX_DECLINE_RETRANSMISSION_DURATION   0
NX_DHCPV6_FIRST_CONFIRM_MAX_DELAY               (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_INIT_CONFIRM_TRANSMISSION_TIMEOUT     (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_CONFIRM_RETRANSMISSION_TIMEOUT    (4*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_CONFIRM_RETRANSMISSION_COUNT      0
NX_DHCPV6_MAX_CONFIRM_RETRANSMISSION_DURATION   10

NX_DHCPV6_FIRST_INFORM_MAX_DELAY                (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_INIT_INFORM_TRANSMISSION_TIMEOUT      (1*NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_INFORM_RETRANSMISSION_TIMEOUT     (120*
                                                NX_DHCPV6_TICKS_PER_SECOND)
NX_DHCPV6_MAX_INFORM_RETRANSMISSION_COUNT       0
NX_DHCPV6_MAX_INFORM_RETRANSMISSION_DURATION    0

For no limit on a retransmission timeout, set the message retransmission count to 0. For no limit on the number of times a DHCPv6 Client message is retransmitted (retries), set the message retransmission count to 0.

Note
Regardless of length of timeout or number of retries, when an IPv6 address valid lifetime expires, it is removed from the IP address table and can no longer be used by the Client. The NetX Duo DHCPv6 Client will automatically begin sending SOLICIT messages requesting a new IPv6 address.