Loading...
Searching...
No Matches

Internal DHCPv6 definitions. More...

Detailed Description

Internal DHCPv6 definitions.

Note
This header is based on RFC 8415
Author
Martine Lenders m.len.nosp@m.ders.nosp@m.@fu-b.nosp@m.erli.nosp@m.n.de

Definition in file _dhcpv6.h.

#include <stdint.h>
#include "byteorder.h"
#include "net/ipv6/addr.h"
+ Include dependency graph for _dhcpv6.h:

Go to the source code of this file.

Data Structures

struct  dhcpv6_msg_t
 Client/Server message header. More...
 
struct  dhcpv6_relay_msg_t
 Relay Agents/Server message format. More...
 
union  dhcpv6_duid_t
 Generic storage DUID. More...
 
struct  dhcpv6_opt_t
 General DHCPv6 option format. More...
 
struct  dhcpv6_opt_duid_t
 DHCPv6 client or server identifier option format. More...
 
struct  dhcpv6_opt_ia_na_t
 DHCPv6 identity association for non-temporary addresses (IA_NA) option format. More...
 
struct  dhcpv6_opt_iaaddr_t
 DHCPv6 IA address option format. More...
 
struct  dhcpv6_opt_oro_t
 DHCPv6 option request option format. More...
 
struct  dhcpv6_opt_pref_t
 DHCPv6 preference option format. More...
 
struct  dhcpv6_opt_elapsed_time_t
 DHCPv6 elapsed time option format. More...
 
struct  dhcpv6_opt_relay_msg_t
 DHCPv6 relay message option. More...
 
struct  dhcpv6_opt_status_t
 DHCPv6 status code option format. More...
 
struct  dhcpv6_opt_iid_t
 DHCPv6 interface-id option. More...
 
struct  dhcpv6_opt_dns_rns_t
 DHCPv6 DNS recursive name server option. More...
 
struct  dhcpv6_opt_ia_pd_t
 DHCPv6 identity association for prefix delegation option (IA_PD) format. More...
 
struct  dhcpv6_opt_iapfx_t
 DHCPv6 IA prefix option format. More...
 
struct  dhcpv6_opt_irt_t
 DHCPv6 Information Refresh Time option format. More...
 
struct  dhcpv6_opt_smr_t
 DHCPv6 SOL_MAX_RT option format. More...
 
struct  dhcpv6_opt_imr_t
 DHCPv6 INF_MAX_RT option format. More...
 
struct  dhcpv6_opt_mud_url_t
 MUD URL DHCPv6 option format. More...
 

Macros

#define DHCPV6_DUID_MAX_LEN   (128U)
 maximum length of DUID
 

Functions

void dhcpv6_client_dns_rns_conf (const dhcpv6_opt_dns_rns_t *opt, uint16_t netif)
 Configures a DNS recursive name server provided by the server.
 

DHCPv6 multicast addresses

See also
[RFC 8415, section 7.1] (https://tools.ietf.org/html/rfc8415#section-7.1)
#define DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS
 Multicast address used by clients to communicate with neighboring relay agents and servers.
 

DHCPv6 transmission and retransmission parameters

See also
[RFC 8415, section 7.6] (https://tools.ietf.org/html/rfc8415#section-7.6)
#define DHCPV6_SOL_MAX_DELAY   (1U)
 SOL_MAX_DELAY (in sec)
 
#define DHCPV6_SOL_TIMEOUT   (1U)
 SOL_TIMEOUT (in sec)
 
#define DHCPV6_SOL_MAX_RT   (3600U)
 SOL_MAX_RT (in sec)
 
#define DHCPV6_REQ_TIMEOUT   (1U)
 REQ_TIMEOUT (in sec)
 
#define DHCPV6_REQ_MAX_RT   (30U)
 REQ_MAX_RT (in sec)
 
#define DHCPV6_REQ_MAX_RC   (10U)
 REQ_MAX_RC.
 
#define DHCPV6_REN_TIMEOUT   (10U)
 REN_TIMEOUT (in sec)
 
#define DHCPV6_REN_MAX_RT   (600U)
 REN_MAX_RT (in sec)
 
#define DHCPV6_REB_TIMEOUT   (10U)
 REB_TIMEOUT (in sec)
 
#define DHCPV6_REB_MAX_RT   (600U)
 REB_MAX_RT (in sec)
 
#define DHCPV6_INF_MAX_DELAY   (1U)
 INF_MAX_DELAY (in sec)
 
#define DHCPV6_INF_TIMEOUT   (1U)
 INF_TIMEOUT (in sec)
 
#define DHCPV6_INF_MAX_RT   (3600U)
 INF_MAX_RT (in sec)
 
#define DHCPV6_IRT_DEFAULT   (86400U)
 IRT_DEFAULT (in sec)
 
#define DHCPV6_IRT_MINIMUM   (600U)
 IRT_MINIMUM (in sec)
 

Macro Definition Documentation

◆ DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS

#define DHCPV6_ALL_RELAY_AGENTS_AND_SERVERS
Value:
{ 0xff, 0x02, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, \
0x00, 0x01, 0x00, 0x02 \
}

Multicast address used by clients to communicate with neighboring relay agents and servers.

Note
Corresponds with All_DHCP_Relay_Agents_and_Servers in the draft.

Definition at line 44 of file _dhcpv6.h.

◆ DHCPV6_DUID_MAX_LEN

#define DHCPV6_DUID_MAX_LEN   (128U)

maximum length of DUID

Definition at line 80 of file _dhcpv6.h.

◆ DHCPV6_INF_MAX_DELAY

#define DHCPV6_INF_MAX_DELAY   (1U)

INF_MAX_DELAY (in sec)

Definition at line 71 of file _dhcpv6.h.

◆ DHCPV6_INF_MAX_RT

#define DHCPV6_INF_MAX_RT   (3600U)

INF_MAX_RT (in sec)

Definition at line 73 of file _dhcpv6.h.

◆ DHCPV6_INF_TIMEOUT

#define DHCPV6_INF_TIMEOUT   (1U)

INF_TIMEOUT (in sec)

Definition at line 72 of file _dhcpv6.h.

◆ DHCPV6_IRT_DEFAULT

#define DHCPV6_IRT_DEFAULT   (86400U)

IRT_DEFAULT (in sec)

Definition at line 75 of file _dhcpv6.h.

◆ DHCPV6_IRT_MINIMUM

#define DHCPV6_IRT_MINIMUM   (600U)

IRT_MINIMUM (in sec)

Definition at line 76 of file _dhcpv6.h.

◆ DHCPV6_REB_MAX_RT

#define DHCPV6_REB_MAX_RT   (600U)

REB_MAX_RT (in sec)

Definition at line 69 of file _dhcpv6.h.

◆ DHCPV6_REB_TIMEOUT

#define DHCPV6_REB_TIMEOUT   (10U)

REB_TIMEOUT (in sec)

Definition at line 68 of file _dhcpv6.h.

◆ DHCPV6_REN_MAX_RT

#define DHCPV6_REN_MAX_RT   (600U)

REN_MAX_RT (in sec)

Definition at line 66 of file _dhcpv6.h.

◆ DHCPV6_REN_TIMEOUT

#define DHCPV6_REN_TIMEOUT   (10U)

REN_TIMEOUT (in sec)

Definition at line 65 of file _dhcpv6.h.

◆ DHCPV6_REQ_MAX_RC

#define DHCPV6_REQ_MAX_RC   (10U)

REQ_MAX_RC.

Definition at line 63 of file _dhcpv6.h.

◆ DHCPV6_REQ_MAX_RT

#define DHCPV6_REQ_MAX_RT   (30U)

REQ_MAX_RT (in sec)

Definition at line 62 of file _dhcpv6.h.

◆ DHCPV6_REQ_TIMEOUT

#define DHCPV6_REQ_TIMEOUT   (1U)

REQ_TIMEOUT (in sec)

Definition at line 61 of file _dhcpv6.h.

◆ DHCPV6_SOL_MAX_DELAY

#define DHCPV6_SOL_MAX_DELAY   (1U)

SOL_MAX_DELAY (in sec)

Definition at line 57 of file _dhcpv6.h.

◆ DHCPV6_SOL_MAX_RT

#define DHCPV6_SOL_MAX_RT   (3600U)

SOL_MAX_RT (in sec)

Definition at line 59 of file _dhcpv6.h.

◆ DHCPV6_SOL_TIMEOUT

#define DHCPV6_SOL_TIMEOUT   (1U)

SOL_TIMEOUT (in sec)

Definition at line 58 of file _dhcpv6.h.

Function Documentation

◆ dhcpv6_client_dns_rns_conf()

void dhcpv6_client_dns_rns_conf ( const dhcpv6_opt_dns_rns_t opt,
uint16_t  netif 
)

Configures a DNS recursive name server provided by the server.

Note
Only available with module dhcpv6_client_dns.
Parameters
[in]optA legal DNS recursive name option.
[in]netifNetwork interface the message carrying opt came in.