Struct:ttRouterAdvDnsParam

Jump to: navigation, search
#include <trsocket.h>
 
/*
 * DNS Configuration Option parameters ([RFC8106].5).
 * For DNS server addresses (RDNSS) and DNS search list (DNSSL).
 * (suggested default lifetime shown)
 */
typedef struct tsRouterAdvDnsParam
{
    ttUser32Bit             raDnsLifetime;  /* 3 * MaxRtrAdvInterval */
    ttUser8Bit              raDnsCount;     /* number of strings */
    ttUserConstCharPtrPtr   raDnsStrArray;  /* array of string pointers */
} ttRouterAdvDnsParam;
 
typedef ttRouterAdvDnsParam TM_FAR * ttRouterAdvDnsParamPtr;
typedef const ttRouterAdvDnsParam TM_FAR * ttConstRouterAdvDnsParamPtr;

Structure Description

This structure contains parameters for constructing one of the DNS options described in Table 1 below. Treck supports one RDNSS option and one DNSSL option, each of which contain a list of values. Both options use this structure. Note that DNS information is also sent in DHCPv6 messages, which some hosts may prefer. The specification, IPv6 Router Advertisement Option for DNS Configuration, can be found in RFC 8106.

Table 1. DNS Options
RDNSS Recursive DNS Server Option The RDNSS option contains one or more IPv6 addresses of RDNSSes. All of the addresses share the same Lifetime value. If it is desirable to have different Lifetime values, multiple RDNSS options can be used. Treck supports one RDNSS option: member raAdvRDNSS of structure ttRouterAdvParam.

Default: omitted (raDnsCount = 0)

DNSSL DNS Search List Option The DNSSL option contains one or more domain names of DNS suffixes. All of the domain names share the same Lifetime value. If it is desirable to have different Lifetime values, multiple DNSSL options can be used. Treck supports one DNSSL option: member raAdvDNSSL of structure ttRouterAdvParam.

Default: omitted (raDnsCount = 0)

This is an optional feature of the Router Advertisement Module (configuration macro TM_6_RTR_ADV_SEND_MOD). Enable the feature by uncommenting the following compile time macro in trsystem.h.

#define TM_6_RTR_ADV_SEND_MOD_DNS

Call tf6RouterAdvDefaults() to get the default values. Call tf6RouterAdvConfig() to activate the Router Advertisement configuration.


Members

  • raDnsLifetime
    The time, in seconds, that the associated DNS option remains valid. The value of Lifetime SHOULD by default be at least (3 * MaxRtrAdvInterval), where MaxRtrAdvInterval is the maximum Router Advertisement interval as defined in RFC 4861. A value of all one bits (0xffffffff) represents infinity. A value of zero means that hosts must stop using the information contained in the option.
  • raDnsCount
    The number of strings in raDnsStrArray. Specify 0 to omit the option. The default is 0.
  • raDnsStrArray
    A pointer to an array of string pointers. For RDNSS, each string is an IPv6 address, e.g. "2001:db8::123". For DNSSL, each string is a domain name, e.g. "treck.com".