Kea  1.9.9-git
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 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 RSASSA_PKCS1v1_5   1
 
#define SHA_256   1
 
#define SHA_512   2
 
#define SOL_MAX_DELAY   1
 
#define SOL_MAX_RT   120
 
#define SOL_TIMEOUT   1
 

Enumerations

enum  DHCPv6MessageType {
  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_DHCPV4_QUERY = 20,
  DHCPV6_DHCPV4_RESPONSE = 21
}
 
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_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_IPV6_ADDRESS_ANDSF = 143
}
 
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_AlgorithmNotSupported = 705,
  STATUS_AuthenticationFail = 706, STATUS_TimestampFail = 707, STATUS_SignatureFail = 708
}
 

Variables

const int dhcpv6_type_name_max
 
const char * dhcpv6_type_names []
 

Macro Definition Documentation

#define ALL_DHCP_RELAY_AGENTS_AND_SERVERS   "ff02::1:2"

Definition at line 293 of file dhcp6.h.

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

#define ALL_DHCP_SERVERS   "ff05::1:3"

Definition at line 294 of file dhcp6.h.

#define CNF_MAX_DELAY   1

Definition at line 310 of file dhcp6.h.

#define CNF_MAX_RD   10

Definition at line 313 of file dhcp6.h.

#define CNF_MAX_RT   4

Definition at line 312 of file dhcp6.h.

#define CNF_TIMEOUT   1

Definition at line 311 of file dhcp6.h.

#define DEC_MAX_RC   5

Definition at line 324 of file dhcp6.h.

#define DEC_TIMEOUT   1

Definition at line 323 of file dhcp6.h.

#define DHCPV4_QUERY_FLAGS_UNICAST   (1 << 23)

Definition at line 353 of file dhcp6.h.

#define DUID_TIME_EPOCH   946684800

Definition at line 345 of file dhcp6.h.

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

#define HOP_COUNT_LIMIT   32
#define INF_MAX_DELAY   1

Definition at line 318 of file dhcp6.h.

#define INF_MAX_RT   120

Definition at line 320 of file dhcp6.h.

#define INF_TIMEOUT   1

Definition at line 319 of file dhcp6.h.

#define IRT_DEFAULT   86400

Definition at line 349 of file dhcp6.h.

#define IRT_MINIMUM   600

Definition at line 350 of file dhcp6.h.

#define LQ6_MAX_RC   5

Definition at line 330 of file dhcp6.h.

#define LQ6_MAX_RT   10

Definition at line 329 of file dhcp6.h.

#define LQ6_TIMEOUT   1

Definition at line 328 of file dhcp6.h.

#define LQ6QT_BY_ADDRESS   1

Definition at line 334 of file dhcp6.h.

#define LQ6QT_BY_CLIENTID   2

Definition at line 335 of file dhcp6.h.

#define REB_MAX_RT   600

Definition at line 317 of file dhcp6.h.

#define REB_TIMEOUT   10

Definition at line 316 of file dhcp6.h.

#define REC_MAX_RC   8

Definition at line 326 of file dhcp6.h.

#define REC_TIMEOUT   2

Definition at line 325 of file dhcp6.h.

#define REL_MAX_RC   5

Definition at line 322 of file dhcp6.h.

#define REL_TIMEOUT   1

Definition at line 321 of file dhcp6.h.

#define REN_MAX_RT   600

Definition at line 315 of file dhcp6.h.

#define REN_TIMEOUT   10

Definition at line 314 of file dhcp6.h.

#define REQ_MAX_RC   10

Definition at line 309 of file dhcp6.h.

#define REQ_MAX_RT   30

Definition at line 308 of file dhcp6.h.

#define REQ_TIMEOUT   1

Definition at line 307 of file dhcp6.h.

#define RSASSA_PKCS1v1_5   1

Definition at line 264 of file dhcp6.h.

#define SHA_256   1

Definition at line 262 of file dhcp6.h.

#define SHA_512   2

Definition at line 263 of file dhcp6.h.

#define SOL_MAX_DELAY   1

Definition at line 304 of file dhcp6.h.

#define SOL_MAX_RT   120

Definition at line 306 of file dhcp6.h.

#define SOL_TIMEOUT   1

Definition at line 305 of file dhcp6.h.

Enumeration Type Documentation

Enumerator
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_DHCPV4_QUERY 
DHCPV6_DHCPV4_RESPONSE 

Definition at line 203 of file dhcp6.h.

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_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_IPV6_ADDRESS_ANDSF 

Definition at line 20 of file dhcp6.h.

Enumerator
STATUS_Success 
STATUS_UnspecFail 
STATUS_NoAddrsAvail 
STATUS_NoBinding 
STATUS_NotOnLink 
STATUS_UseMulticast 
STATUS_NoPrefixAvail 
STATUS_UnknownQueryType 
STATUS_MalformedQuery 
STATUS_NotConfigured 
STATUS_NotAllowed 
STATUS_AlgorithmNotSupported 
STATUS_AuthenticationFail 
STATUS_TimestampFail 
STATUS_SignatureFail 

Definition at line 163 of file dhcp6.h.

Variable Documentation

const int dhcpv6_type_name_max
const char* dhcpv6_type_names[]