DHCPv6 client definitions. More...

Detailed Description

DHCPv6 client definitions.

Author
Martine Lenders m.len.nosp@m.ders.nosp@m.@fu-b.nosp@m.erli.nosp@m.n.de

Definition in file client.h.

#include "byteorder.h"
#include "event.h"
#include "net/ipv6/addr.h"
#include "thread.h"
+ Include dependency graph for client.h:

Go to the source code of this file.

Data Structures

struct  dhcpv6_duid_l2_t
 DUID based on link-layer address plus time. More...
 

Macros

#define DHCPV6_CLIENT_DUID_LEN   (sizeof(dhcpv6_duid_l2_t) + 8U)
 Static length of the DUID.
 
#define DHCPV6_CLIENT_BUFLEN   (256)
 length for send and receive buffer
 
#define CONFIG_DHCPV6_CLIENT_PFX_LEASE_MAX   (1U)
 Maximum number of prefix leases to be stored.
 

Auto-initialization parameters

#define DHCPV6_CLIENT_STACK_SIZE   (THREAD_STACKSIZE_DEFAULT)
 stack size
 
#define DHCPV6_CLIENT_PRIORITY   (THREAD_PRIORITY_MAIN - 2)
 priority
 

DHCPv6 unique identifier (DUID) definitions

See also
RFC 8415, section 11
void dhcpv6_client_auto_init (void)
 Auto-initializes the client in its own thread. More...
 
void dhcpv6_client_init (event_queue_t *event_queue, uint16_t netif)
 Initializes the client. More...
 
void dhcpv6_client_start (void)
 Let the server start listening. More...
 

Configuration functions

void dhcpv6_client_req_ia_pd (unsigned netif, unsigned pfx_len)
 Configures the client to request prefix delegation for a network interface from a server. More...
 

Stack-specific functions

These functions need to be provided by the network-stack implementation.

unsigned dhcpv6_client_get_duid_l2 (unsigned netif, dhcpv6_duid_l2_t *duid)
 Get the link-layer address DUID for the client. More...
 
void dhcpv6_client_conf_prefix (unsigned netif, const ipv6_addr_t *pfx, unsigned pfx_len, uint32_t valid, uint32_t pref)
 Configures a prefix delegation lease that is provided by the server. More...
 
uint32_t dhcpv6_client_prefix_valid_until (unsigned netif, const ipv6_addr_t *pfx, unsigned pfx_len)
 Determines how long the prefix delegation lease is still valid. More...