Kea 2.7.6
dhcp6.h File Reference
#include <stdint.h>
+ Include dependency graph for dhcp6.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ALL_DHCP_RELAY_AGENTS_AND_SERVERS   "ff02::1:2"
 
#define ALL_DHCP_SERVERS   "ff05::1:3"
 
#define CNF_MAX_DELAY   1
 
#define CNF_MAX_RD   10
 
#define CNF_MAX_RT   4
 
#define CNF_TIMEOUT   1
 
#define DEC_MAX_RC   5
 
#define DEC_TIMEOUT   1
 
#define DHCPV4_QUERY_FLAGS_UNICAST   (1 << 23)
 
#define DUID_TIME_EPOCH   946684800
 
#define HOP_COUNT_LIMIT   32
 
#define INF_MAX_DELAY   1
 
#define INF_MAX_RT   120
 
#define INF_TIMEOUT   1
 
#define IRT_DEFAULT   86400
 
#define IRT_MINIMUM   600
 
#define LQ6_MAX_RC   5
 
#define LQ6_MAX_RT   10
 
#define LQ6_TIMEOUT   1
 
#define LQ6QT_BY_ADDRESS   1
 
#define LQ6QT_BY_CLIENTID   2
 
#define LQ6QT_BY_LINK_ADDRESS   4
 
#define LQ6QT_BY_RELAY_ID   3
 
#define LQ6QT_BY_REMOTE_ID   5
 
#define REB_MAX_RT   600
 
#define REB_TIMEOUT   10
 
#define REC_MAX_RC   8
 
#define REC_TIMEOUT   2
 
#define REL_MAX_RC   5
 
#define REL_TIMEOUT   1
 
#define REN_MAX_RT   600
 
#define REN_TIMEOUT   10
 
#define REQ_MAX_RC   10
 
#define REQ_MAX_RT   30
 
#define REQ_TIMEOUT   1
 
#define SOL_MAX_DELAY   1
 
#define SOL_MAX_RT   120
 
#define SOL_TIMEOUT   1
 

Enumerations

enum  DHCPv6MessageType {
  DHCPV6_NOTYPE = 0 , DHCPV6_SOLICIT = 1 , DHCPV6_ADVERTISE = 2 , DHCPV6_REQUEST = 3 ,
  DHCPV6_CONFIRM = 4 , DHCPV6_RENEW = 5 , DHCPV6_REBIND = 6 , DHCPV6_REPLY = 7 ,
  DHCPV6_RELEASE = 8 , DHCPV6_DECLINE = 9 , DHCPV6_RECONFIGURE = 10 , DHCPV6_INFORMATION_REQUEST = 11 ,
  DHCPV6_RELAY_FORW = 12 , DHCPV6_RELAY_REPL = 13 , DHCPV6_LEASEQUERY = 14 , DHCPV6_LEASEQUERY_REPLY = 15 ,
  DHCPV6_LEASEQUERY_DONE = 16 , DHCPV6_LEASEQUERY_DATA = 17 , DHCPV6_RECONFIGURE_REQUEST = 18 , DHCPV6_RECONFIGURE_REPLY = 19 ,
  DHCPV6_DHCPV4_QUERY = 20 , DHCPV6_DHCPV4_RESPONSE = 21 , DHCPV6_ACTIVELEASEQUERY = 22 , DHCPV6_STARTTLS = 23 ,
  DHCPV6_BNDUPD = 24 , DHCPV6_BNDREPLY = 25 , DHCPV6_POOLREQ = 26 , DHCPV6_POOLRESP = 27 ,
  DHCPV6_UPDREQ = 28 , DHCPV6_UPDREQALL = 29 , DHCPV6_UPDDONE = 30 , DHCPV6_CONNECT = 31 ,
  DHCPV6_CONNECTREPLY = 32 , DHCPV6_DISCONNECT = 33 , DHCPV6_STATE = 34 , DHCPV6_CONTACT = 35 ,
  DHCPV6_TYPES_EOF
}
 
enum  DHCPv6OptionType {
  D6O_CLIENTID = 1 , D6O_SERVERID = 2 , D6O_IA_NA = 3 , D6O_IA_TA = 4 ,
  D6O_IAADDR = 5 , D6O_ORO = 6 , D6O_PREFERENCE = 7 , D6O_ELAPSED_TIME = 8 ,
  D6O_RELAY_MSG = 9 , D6O_AUTH = 11 , D6O_UNICAST = 12 , D6O_STATUS_CODE = 13 ,
  D6O_RAPID_COMMIT = 14 , D6O_USER_CLASS = 15 , D6O_VENDOR_CLASS = 16 , D6O_VENDOR_OPTS = 17 ,
  D6O_INTERFACE_ID = 18 , D6O_RECONF_MSG = 19 , D6O_RECONF_ACCEPT = 20 , D6O_SIP_SERVERS_DNS = 21 ,
  D6O_SIP_SERVERS_ADDR = 22 , D6O_NAME_SERVERS = 23 , D6O_DOMAIN_SEARCH = 24 , D6O_IA_PD = 25 ,
  D6O_IAPREFIX = 26 , D6O_NIS_SERVERS = 27 , D6O_NISP_SERVERS = 28 , D6O_NIS_DOMAIN_NAME = 29 ,
  D6O_NISP_DOMAIN_NAME = 30 , D6O_SNTP_SERVERS = 31 , D6O_INFORMATION_REFRESH_TIME = 32 , D6O_BCMCS_SERVER_D = 33 ,
  D6O_BCMCS_SERVER_A = 34 , D6O_GEOCONF_CIVIC = 36 , D6O_REMOTE_ID = 37 , D6O_SUBSCRIBER_ID = 38 ,
  D6O_CLIENT_FQDN = 39 , D6O_PANA_AGENT = 40 , D6O_NEW_POSIX_TIMEZONE = 41 , D6O_NEW_TZDB_TIMEZONE = 42 ,
  D6O_ERO = 43 , D6O_LQ_QUERY = 44 , D6O_CLIENT_DATA = 45 , D6O_CLT_TIME = 46 ,
  D6O_LQ_RELAY_DATA = 47 , D6O_LQ_CLIENT_LINK = 48 , D6O_V6_LOST = 51 , D6O_CAPWAP_AC_V6 = 52 ,
  D6O_RELAY_ID = 53 , D6O_NTP_SERVER = 56 , D6O_V6_ACCESS_DOMAIN = 57 , D6O_SIP_UA_CS_LIST = 58 ,
  D6O_BOOTFILE_URL = 59 , D6O_BOOTFILE_PARAM = 60 , D6O_CLIENT_ARCH_TYPE = 61 , D6O_NII = 62 ,
  D6O_AFTR_NAME = 64 , D6O_ERP_LOCAL_DOMAIN_NAME = 65 , D6O_RSOO = 66 , D6O_PD_EXCLUDE = 67 ,
  D6O_RDNSS_SELECTION = 74 , D6O_CLIENT_LINKLAYER_ADDR = 79 , D6O_LINK_ADDRESS = 80 , D6O_SOL_MAX_RT = 82 ,
  D6O_INF_MAX_RT = 83 , D6O_DHCPV4_MSG = 87 , D6O_DHCPV4_O_DHCPV6_SERVER = 88 , D6O_S46_RULE = 89 ,
  D6O_S46_BR = 90 , D6O_S46_DMR = 91 , D6O_S46_V4V6BIND = 92 , D6O_S46_PORTPARAMS = 93 ,
  D6O_S46_CONT_MAPE = 94 , D6O_S46_CONT_MAPT = 95 , D6O_S46_CONT_LW = 96 , D6O_V6_CAPTIVE_PORTAL = 103 ,
  D6O_RELAY_SOURCE_PORT = 135 , D6O_V6_SZTP_REDIRECT = 136 , D6O_IPV6_ADDRESS_ANDSF = 143 , D6O_V6_DNR = 144
}
 
enum  DHCPv6StatusCode {
  STATUS_Success = 0 , STATUS_UnspecFail = 1 , STATUS_NoAddrsAvail = 2 , STATUS_NoBinding = 3 ,
  STATUS_NotOnLink = 4 , STATUS_UseMulticast = 5 , STATUS_NoPrefixAvail = 6 , STATUS_UnknownQueryType = 7 ,
  STATUS_MalformedQuery = 8 , STATUS_NotConfigured = 9 , STATUS_NotAllowed = 10 , STATUS_QueryTerminated = 11
}
 

Variables

const int dhcpv6_type_name_max
 
const char * dhcpv6_type_names []
 

Macro Definition Documentation

◆ ALL_DHCP_RELAY_AGENTS_AND_SERVERS

#define ALL_DHCP_RELAY_AGENTS_AND_SERVERS   "ff02::1:2"

Definition at line 285 of file dhcp6.h.

Referenced by isc::dhcp::PktFilterInet6::openSocket().

◆ ALL_DHCP_SERVERS

#define ALL_DHCP_SERVERS   "ff05::1:3"

Definition at line 286 of file dhcp6.h.

◆ CNF_MAX_DELAY

#define CNF_MAX_DELAY   1

Definition at line 302 of file dhcp6.h.

◆ CNF_MAX_RD

#define CNF_MAX_RD   10

Definition at line 305 of file dhcp6.h.

◆ CNF_MAX_RT

#define CNF_MAX_RT   4

Definition at line 304 of file dhcp6.h.

◆ CNF_TIMEOUT

#define CNF_TIMEOUT   1

Definition at line 303 of file dhcp6.h.

◆ DEC_MAX_RC

#define DEC_MAX_RC   5

Definition at line 316 of file dhcp6.h.

◆ DEC_TIMEOUT

#define DEC_TIMEOUT   1

Definition at line 315 of file dhcp6.h.

◆ DHCPV4_QUERY_FLAGS_UNICAST

#define DHCPV4_QUERY_FLAGS_UNICAST   (1 << 23)

Definition at line 345 of file dhcp6.h.

◆ DUID_TIME_EPOCH

#define DUID_TIME_EPOCH   946684800

Definition at line 337 of file dhcp6.h.

Referenced by isc::dhcp::DUIDFactory::createLLT().

◆ HOP_COUNT_LIMIT

#define HOP_COUNT_LIMIT   32

◆ INF_MAX_DELAY

#define INF_MAX_DELAY   1

Definition at line 310 of file dhcp6.h.

◆ INF_MAX_RT

#define INF_MAX_RT   120

Definition at line 312 of file dhcp6.h.

◆ INF_TIMEOUT

#define INF_TIMEOUT   1

Definition at line 311 of file dhcp6.h.

◆ IRT_DEFAULT

#define IRT_DEFAULT   86400

Definition at line 341 of file dhcp6.h.

◆ IRT_MINIMUM

#define IRT_MINIMUM   600

Definition at line 342 of file dhcp6.h.

◆ LQ6_MAX_RC

#define LQ6_MAX_RC   5

Definition at line 322 of file dhcp6.h.

◆ LQ6_MAX_RT

#define LQ6_MAX_RT   10

Definition at line 321 of file dhcp6.h.

◆ LQ6_TIMEOUT

#define LQ6_TIMEOUT   1

Definition at line 320 of file dhcp6.h.

◆ LQ6QT_BY_ADDRESS

#define LQ6QT_BY_ADDRESS   1

Definition at line 326 of file dhcp6.h.

◆ LQ6QT_BY_CLIENTID

#define LQ6QT_BY_CLIENTID   2

Definition at line 327 of file dhcp6.h.

◆ LQ6QT_BY_LINK_ADDRESS

#define LQ6QT_BY_LINK_ADDRESS   4

Definition at line 329 of file dhcp6.h.

◆ LQ6QT_BY_RELAY_ID

#define LQ6QT_BY_RELAY_ID   3

Definition at line 328 of file dhcp6.h.

◆ LQ6QT_BY_REMOTE_ID

#define LQ6QT_BY_REMOTE_ID   5

Definition at line 330 of file dhcp6.h.

◆ REB_MAX_RT

#define REB_MAX_RT   600

Definition at line 309 of file dhcp6.h.

◆ REB_TIMEOUT

#define REB_TIMEOUT   10

Definition at line 308 of file dhcp6.h.

◆ REC_MAX_RC

#define REC_MAX_RC   8

Definition at line 318 of file dhcp6.h.

◆ REC_TIMEOUT

#define REC_TIMEOUT   2

Definition at line 317 of file dhcp6.h.

◆ REL_MAX_RC

#define REL_MAX_RC   5

Definition at line 314 of file dhcp6.h.

◆ REL_TIMEOUT

#define REL_TIMEOUT   1

Definition at line 313 of file dhcp6.h.

◆ REN_MAX_RT

#define REN_MAX_RT   600

Definition at line 307 of file dhcp6.h.

◆ REN_TIMEOUT

#define REN_TIMEOUT   10

Definition at line 306 of file dhcp6.h.

◆ REQ_MAX_RC

#define REQ_MAX_RC   10

Definition at line 301 of file dhcp6.h.

◆ REQ_MAX_RT

#define REQ_MAX_RT   30

Definition at line 300 of file dhcp6.h.

◆ REQ_TIMEOUT

#define REQ_TIMEOUT   1

Definition at line 299 of file dhcp6.h.

◆ SOL_MAX_DELAY

#define SOL_MAX_DELAY   1

Definition at line 296 of file dhcp6.h.

◆ SOL_MAX_RT

#define SOL_MAX_RT   120

Definition at line 298 of file dhcp6.h.

◆ SOL_TIMEOUT

#define SOL_TIMEOUT   1

Definition at line 297 of file dhcp6.h.

Enumeration Type Documentation

◆ DHCPv6MessageType

Enumerator
DHCPV6_NOTYPE 
DHCPV6_SOLICIT 
DHCPV6_ADVERTISE 
DHCPV6_REQUEST 
DHCPV6_CONFIRM 
DHCPV6_RENEW 
DHCPV6_REBIND 
DHCPV6_REPLY 
DHCPV6_RELEASE 
DHCPV6_DECLINE 
DHCPV6_RECONFIGURE 
DHCPV6_INFORMATION_REQUEST 
DHCPV6_RELAY_FORW 
DHCPV6_RELAY_REPL 
DHCPV6_LEASEQUERY 
DHCPV6_LEASEQUERY_REPLY 
DHCPV6_LEASEQUERY_DONE 
DHCPV6_LEASEQUERY_DATA 
DHCPV6_RECONFIGURE_REQUEST 
DHCPV6_RECONFIGURE_REPLY 
DHCPV6_DHCPV4_QUERY 
DHCPV6_DHCPV4_RESPONSE 
DHCPV6_ACTIVELEASEQUERY 
DHCPV6_STARTTLS 
DHCPV6_BNDUPD 
DHCPV6_BNDREPLY 
DHCPV6_POOLREQ 
DHCPV6_POOLRESP 
DHCPV6_UPDREQ 
DHCPV6_UPDREQALL 
DHCPV6_UPDDONE 
DHCPV6_CONNECT 
DHCPV6_CONNECTREPLY 
DHCPV6_DISCONNECT 
DHCPV6_STATE 
DHCPV6_CONTACT 
DHCPV6_TYPES_EOF 

Definition at line 196 of file dhcp6.h.

◆ DHCPv6OptionType

Note
Code points in comments are those assigned by IANA but not yet implemented in Kea. To implement a standard option, remove the comment characters, add an entry in std_option_defs.h, add a stdOptionDefs6 unit test in tests/libdhcp++_unittest.cc and update dhcp6-std-options-list in the dhcp6-srv.xml source file of the user guide.
Enumerator
D6O_CLIENTID 
D6O_SERVERID 
D6O_IA_NA 
D6O_IA_TA 
D6O_IAADDR 
D6O_ORO 
D6O_PREFERENCE 
D6O_ELAPSED_TIME 
D6O_RELAY_MSG 
D6O_AUTH 
D6O_UNICAST 
D6O_STATUS_CODE 
D6O_RAPID_COMMIT 
D6O_USER_CLASS 
D6O_VENDOR_CLASS 
D6O_VENDOR_OPTS 
D6O_INTERFACE_ID 
D6O_RECONF_MSG 
D6O_RECONF_ACCEPT 
D6O_SIP_SERVERS_DNS 
D6O_SIP_SERVERS_ADDR 
D6O_NAME_SERVERS 
D6O_DOMAIN_SEARCH 
D6O_IA_PD 
D6O_IAPREFIX 
D6O_NIS_SERVERS 
D6O_NISP_SERVERS 
D6O_NIS_DOMAIN_NAME 
D6O_NISP_DOMAIN_NAME 
D6O_SNTP_SERVERS 
D6O_INFORMATION_REFRESH_TIME 
D6O_BCMCS_SERVER_D 
D6O_BCMCS_SERVER_A 
D6O_GEOCONF_CIVIC 
D6O_REMOTE_ID 
D6O_SUBSCRIBER_ID 
D6O_CLIENT_FQDN 
D6O_PANA_AGENT 
D6O_NEW_POSIX_TIMEZONE 
D6O_NEW_TZDB_TIMEZONE 
D6O_ERO 
D6O_LQ_QUERY 
D6O_CLIENT_DATA 
D6O_CLT_TIME 
D6O_LQ_RELAY_DATA 
D6O_LQ_CLIENT_LINK 
D6O_V6_LOST 
D6O_CAPWAP_AC_V6 
D6O_RELAY_ID 
D6O_NTP_SERVER 
D6O_V6_ACCESS_DOMAIN 
D6O_SIP_UA_CS_LIST 
D6O_BOOTFILE_URL 
D6O_BOOTFILE_PARAM 
D6O_CLIENT_ARCH_TYPE 
D6O_NII 
D6O_AFTR_NAME 
D6O_ERP_LOCAL_DOMAIN_NAME 
D6O_RSOO 
D6O_PD_EXCLUDE 
D6O_RDNSS_SELECTION 
D6O_CLIENT_LINKLAYER_ADDR 
D6O_LINK_ADDRESS 
D6O_SOL_MAX_RT 
D6O_INF_MAX_RT 
D6O_DHCPV4_MSG 
D6O_DHCPV4_O_DHCPV6_SERVER 
D6O_S46_RULE 
D6O_S46_BR 
D6O_S46_DMR 
D6O_S46_V4V6BIND 
D6O_S46_PORTPARAMS 
D6O_S46_CONT_MAPE 
D6O_S46_CONT_MAPT 
D6O_S46_CONT_LW 
D6O_V6_CAPTIVE_PORTAL 
D6O_RELAY_SOURCE_PORT 
D6O_V6_SZTP_REDIRECT 
D6O_IPV6_ADDRESS_ANDSF 
D6O_V6_DNR 

Definition at line 20 of file dhcp6.h.

◆ DHCPv6StatusCode

Enumerator
STATUS_Success 
STATUS_UnspecFail 
STATUS_NoAddrsAvail 
STATUS_NoBinding 
STATUS_NotOnLink 
STATUS_UseMulticast 
STATUS_NoPrefixAvail 
STATUS_UnknownQueryType 
STATUS_MalformedQuery 
STATUS_NotConfigured 
STATUS_NotAllowed 
STATUS_QueryTerminated 

Definition at line 165 of file dhcp6.h.

Variable Documentation

◆ dhcpv6_type_name_max

const int dhcpv6_type_name_max
extern

◆ dhcpv6_type_names

const char* dhcpv6_type_names[]
extern