ThreadX docsThreadX docs
ThreadX
ThreadX Modules
NetX Duo
FileX
GUIX
USBX
TraceX
LevelX
ThreadX
ThreadX Modules
NetX Duo
FileX
GUIX
USBX
TraceX
LevelX
  • NetX Duo Documentation

    • Understand NetX Duo
    • NetX Duo documentation
    • Chapter 1 - Introduction to NetX Duo
    • Chapter 2 - Installation and Use of NetX Duo
    • Chapter 3 - Functional Components of NetX Duo
    • Chapter 4 - Description of NetX Duo Services
    • Chapter 5 - NetX Duo Network Drivers
    • Appendix A - NetX Duo Services
    • Appendix B - NetX Duo Constants
    • Appendix C - NetX Duo Data Types
    • Appendix D - NetX Duo BSD-Compatible Socket API
    • Appendix E - NetX Duo ASCII Character Codes
    • Auto-IP

      • Chapter 1 - Introduction to NetX Duo AutoIP
      • Chapter 2 - Installation and use of NetX Duo AutoIP
      • Chapter 3 - Description of NetX Duo AutoIP services
    • BSD

      • Chapter 1 - Introduction to NetX Duo BSD
      • Chapter 2 - Installation and use of NetX Duo BSD
      • Chapter 3 - NetX Duo BSD Services
    • Crypto

      • Chapter 1 - Introduction to NetX Duo Crypto
      • Chapter 2 - Installation and use of NetX Duo Crypto
      • Chapter 3 - Functional description of NetX Duo Crypto
      • Chapter 4 - NetX Duo Crypto API description
      • Appendix - NetX Duo Crypto CAVS test
    • DHCP Client

      • Chapter 1 - Introduction to the NetX Duo DHCP Client
      • Chapter 2 - Installation and use of NetX Duo DHCP Client
      • Chapter 3 - Description of NetX Duo DHCP Client services
      • Appendix A - Description of the Restore state feature for NetX Duo DHCP Client services
    • DHCP Server

      • Chapter 1 - Introduction to NetX Duo DHCP Server
      • Chapter 2 - Installation and Use of the NetX Duo DHCP Server
      • Chapter 3 - Description of NetX Duo DHCP server services
    • DHCPv6 Client

      • Chapter 1 - Introduction to NetX Duo DHCPv6 Client
      • Chapter 2 - Installation and use of NetX Duo DHCPv6 Client
      • Chapter 3 - NetX Duo DHCPv6 configuration options
      • Chapter 4 - NetX Duo DHCPv6 Client services
      • Appendix A - Description of the Restore State Feature for NetX Duo DHCPv6 Client
    • DHCPv6 Server

      • Chapter 1 - Introduction to NetX Duo DHCPv6 server
      • Chapter 2 - Installation and use of NetX Duo DHCPv6 server
      • Chapter 3 - NetX Duo DHCPv6 server configuration options
      • Chapter 4 - NetX Duo DHCPv6 server services
      • Appendix A – NetX Duo DHCPv6 option codes
      • Appendix B - NetX Duo DHCPv6 server status codes
      • Appendix C - NetX Duo DHCPv6 unique identifiers (DUIDs)
      • Appendix D - NetX Duo Advanced DHCPv6 server example
    • DNS

      • Chapter 1 - Introduction to the NetX Duo DNS Client
      • Chapter 2 - Installation and Use of NetX Duo DNS Client
      • Chapter 3 - Description of NetX Duo DNS Client Services
    • FTP

      • Chapter 1 - Introduction to NetX Duo FTP
      • Chapter 2 - Installation and use of FTP
      • Chapter 3 - Description of FTP services
    • HTTP

      • Chapter 1 - Introduction to NetX Duo HTTP
      • Chapter 2 - Installation and Use of NetX Duo HTTP
      • Chapter 3 - Description of NetX Duo HTTP Services
    • iperf

      • Chapter 1 - Introduction to NetX Duo Iperf
      • Chapter 2 - Installing and using NetX Duo Iperf
      • Chapter 3 - Running the UDP Transmit Test
    • mDNS

      • Chapter 1 - Introduction to NetX Duo mDNS/DNS-SD
      • Chapter 2 - Installation and use of mDNS
      • Chapter 3 - Description of internal service cache
      • Chapter 4 - Description of mDNS services
    • mqtt

      • Chapter 1 - Introduction to NetX Duo MQTT
      • Chapter 2 - Installation and use of NetX Duo MQTT client
      • Chapter 3 - Description of NetX Duo MQTT Client Services
    • NAT

      • Chapter 1 - An introduction to Network Address Translation
      • Chapter 2 - Installation and use of NAT
      • Chapter 3 - NAT configuration options
      • Chapter 4 - Description of NAT services
    • POP3 Client

      • Chapter 1 - Introduction to NetX Duo POP3
      • Chapter 2 - Installation and use of NetX Duo POP3 Client
      • Chapter 3 - Description of POP3 Client services
    • PPP

      • Chapter 1 - Introduction to the NetX Duo Point-to-Point Protocol (PPP)
      • Chapter 2 - Installation and use of NetX Duo Point-to-Point Protocol (PPP)
      • Chapter 3 - Description of NetX Duo Point-to-Point Protocol (PPP) services
    • PTP Client

      • Chapter 1 - Introduction to NetX Duo PTP Client
      • Chapter 2 - Installation and Use of NetX Duo PTP Client
      • Chapter 3 - Description of NetX Duo PTP Client Services
    • rtp

      • Chapter 1 - Introduction to the NetX Duo RTP Sender
      • Chapter 2 - Installation and use of NetX Duo RTP Sender
      • Chapter 3 - Description of NetX Duo RTP Sender Services
    • rtsp

      • Chapter 1 - Introduction to the NetX Duo RTSP Server
      • Chapter 2 - Installation and use of NetX Duo RTSP Server
      • Chapter 3 - Description of NetX Duo RTSP Server Services
    • Secure DTLS

      • Chapter 1 - Introduction to NetX Duo Secure DTLS
      • Chapter 2 - Installation and use of NetX Duo Secure DTLS
      • Chapter 3 - Functional description of NetX Duo Secure DTLS
      • Chapter 4 - Description of NetX Duo Secure DTLS services
      • Appendix A - NetX Duo Secure DTLS return/error codes
    • Secure TLS

      • Chapter 1 - Introduction to NetX Duo Secure
      • Chapter 2 - Installation and use of NetX Duo Secure
      • Chapter 3 - Functional description of NetX Duo Secure
      • Chapter 4 - Description of NetX Duo Secure services
      • Appendix A - NetX Duo Secure return/error codes
    • SMTP Client

      • Chapter 1 - Introduction to NetX Duo SMTP client
      • Chapter 2 - Installation and use of NetX Duo SMTP client
      • Chapter 3 - Client description of SMTP Client services
    • snmp

      • Chapter 1 - Introduction to NetX Duo SNMP
      • Chapter 2 - Installation and use of the NetX Duo SNMP agent
      • Chapter 3 - Description of NetX Duo SNMP agent services
    • sntp client

      • Chapter 1 - Introduction to NetX Duo SNTP
      • Chapter 2 - Installation and Use of NetX Duo SNTP Client
      • Chapter 3 - Description of NetX Duo SNTP Client Services
      • Appendix A - NetX Duo SNTP Fatal Error Codes
    • telnet

      • Chapter 1 - Introduction to NetX Duo Telnet
      • Chapter 2 - Installation and use of NetX Duo Telnet
      • Chapter 3 - Description of NetX Duo Telnet services
    • TFTP

      • Chapter 1 - Introduction to NetX Duo TFTP
      • Chapter 2 - Installation and use of NetX Duo TFTP
      • Chapter 3 - Description of NetX Duo TFTP services
    • Web HTTP

      • Chapter 1 - Introduction to HTTP and HTTPS
      • Chapter 2 - Installation and use of HTTP and HTTPS
      • Chapter 3 - Description of HTTP services
    • About the NetX Duo User Guide

Chapter 3 - NetX Duo DHCPv6 server configuration options

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

  • NX_DISABLE_ERROR_CHECKING This option removes DHCPv6 error checking. It typically enabled when the application is debugged.

  • NX_DHCPV6_SERVER_THREAD_STACK_SIZE This defines the size of the DHCPv6 thread stack. By default, the size is 4096 bytes which is more than enough for most NetX Duo applications.

  • NX_DHCPV6_SERVER_THREAD_PRIORITY This defines the DHCPv6Server thread priority. This should be lower than the DHCPv6 Server's IP thread task priority. The default value is 2.

  • NX_DHCPV6_IP_LEASE_TIMER_INTERVAL Timer interval in seconds when the lease timer entry function is called by the ThreadX scheduler. The entry function sets a flag for the DHCPv6 Server to increment all Clients' accrued time on their lease by the timer interval. By default, this value is 60.

  • NX_DHCPV6_SESSION_TIMER_INTERVAL Timer interval in seconds when the session timer entry function is called by the ThreadX scheduler. The entry function sets a flag for the DHCPv6 Server to increment all active Client session time accrued by the timer interval. By default, this value is 3.

The following defines apply to the status option message type and the user configurable message. The status option indicates the outcome of a Client request:

  • NX_DHCPV6_STATUS_MESSAGE_SUCCESS "IA OPTION GRANTED"

  • NX_DHCPV6_STATUS_NO_ADDRS_AVAILABLE "IA OPTION NOT GRANTED-NO ADDRESSES AVAILABLE"

  • NX_DHCPV6_STATUS_MESSAGE_NO_BINDING "IA OPTION NOT GRANTED-INVALID CLIENT REQUEST"

  • NX_DHCPV6_STATUS_MESSAGE_NOT_ON_LINK "IA OPTION NOT GRANTED-CLIENT NOT ON LINK"

  • NX_DHCPV6_STATUS_MESSAGE_USE_MULTICAST "IA OPTION NOT GRANTED-CLIENT MUST USE MULTICAST"

  • NX_DHCPV6_STATUS_MESSAGE_NO_ADDRS_AVAILABLE IA OPTION NOT GRANTED-NO ADDRESSES AVAILABLE

  • NX_DHCPV6_SERVER_DUID_VENDOR_ASSIGNED_ID Create a Server DUID with a vendor assigned ID. Note the DUID type must be set NX_DHCPV6_DUID_TYPE_VENDOR_ASSIGNED.

  • NX_DHCPV6_SERVER_DUID_VENDOR_ASSIGNED_LENGTH Sets the upper limit on the Vendor assigned ID. The default value is 48.

  • NX_DHCPV6_SERVER_DUID_VENDOR_PRIVATE_ID Sets the enterprise type of the DUID to private vendor type.

  • NX_DHCPV6_PACKET_WAIT_OPTION This defines the wait option for the Server nx_udp_socket_receive call. This is perfunctory since the socket has a receive notify callback from NetX Duo, so the packet is already enqueued when the DHCPv6 server calls the receive function. The default value is 1 second (1 * NX_IP_PERIODIC_RATE).

  • NX_DHCPV6_SERVER_DUID_TYPE This defines the Server DUID type which the Server includes in all messages to Clients. The default value is link layer plus time (NX_DHCPV6_SERVER_DUID_TYPE_LINK_TIME).

  • NX_DHCPV6_SERVER_HW_TYPE This defines the hardware type in the DUID link layer and link layer plus time options. The default value is NX_DHCPV6_SERVER_HARDWARE_TYPE_ETHERNET.

  • NX_DHCPV6_PREFERENCE_VALUE This defines the preference option value between 0 and 255, where the higher the value the higher the preference, in the DHCPv6 option of the same name. This tells the Client what preference to place on this Server's offer where multiple DHCPv6 Servers are available to assign IP addresses. A value of 255 instructs the Client to choose this server. A value of zero indicates the Client is free to choose. The default value is zero.

  • NX_DHCPV6_MAX_OPTION_REQUEST_OPTIONS This defines the maximum number of option requests in a Client request that can be saved to a Client record. The default value is 6.

  • NX_DHCPV6_DEFAULT_T1_TIME The time in seconds assigned by the Server on a Client address lease for when the Client should begin renewing its IP address. The default value is 2000 seconds.

  • NX_DHCPV6_DEFAULT_T2_TIME The time in seconds assigned by the Server on a Client address lease for when the Client should begin rebinding its IP address assuming its attempt to renew failed. The default value is 3000 seconds.

  • NX_DHCPV6_DEFAULT_PREFERRED_TIME This defines the time in seconds assigned by the Server for when an assigned Client IP address lease is deprecated. The default value is 2 NX_DHCPV6_DEFAULT_T1_TIME.

  • NX_DHCPV6_DEFAULT_VALID_TIME This defines the time expiration in seconds assigned by the Server on an assigned Client IP address lease. After this time expires, the Client IP address is invalid. The default value is 2 NX_DHCPV6_DEFAULT_PREFERRED_TIME.

  • NX_DHCPV6_STATUS_MESSAGE_MAX Defines the maximum size of the Server message in status option message field . The default value is 100 bytes.

  • NX_DHCPV6_MAX_LEASES Defines the size of the Server's IP lease table (e.g. the max number of IPv6 address available to lease that can be stored). By default, this value is 100.

  • NX_DHCPV6_MAX_CLIENTS Defines the size of the Server's Client record table (e.g. max number of Clients that can be stored).This value should be less than or equal to the value NX_DHCPV6_MAX_LEASES. By default, this value is 120.

  • NX_DHCPV6_PACKET_TIME_OUT Defines the wait option in timer ticks for the DHCPv6 Server wait on packet allocations. The default value is 3 * NX_DHCPV6_SERVER_TICKS_PER_SECOND.

  • NX_DHCPV6_PACKET_RECEIVE_WAIT Defines the wait option in packet allocate calls on the Server packet pool. The default value is (3 * NX_DHCPV6_SERVER_TICKS_PER_SECOND) , or 3 seconds.

  • NX_DHCPV6_PACKET_SIZE This defines the packet payload of the Server packet pool packets. The default value is 500 bytes.

  • NX_DHCPV6_PACKET_POOL_SIZE Defines the Server packet pool size for packets the Server will allocate to send DHCPv6 messages out. The default value is (10 * NX_DHCPV6_PACKET_SIZE).

  • NX_DHCPV6_TYPE_OF_SERVICE This defines the type of service for UDP packet transmission. By default, this value is NX_IP_NORMAL.

  • NX_DHCPV6_FRAGMENT_OPTION This defines the Server socket fragmentation option. The default value is NX_DON'T_FRAGMENT

  • NX_DHCPV6_TIME_TO_LIVE Specifies the number of routers DHCPv6 packets from the Server may 'hop' pass before packets are discarded. The default value is set to 0x80.

  • NX_DHCPV6_QUEUE_DEPTH Specifies the number of packets to keep in the Server UDP socket receive queue before NetX Duo discards packets.

Prev
Chapter 2 - Installation and use of NetX Duo DHCPv6 server
Next
Chapter 4 - NetX Duo DHCPv6 server services