Kea 2.7.6
std_option_defs.h
Go to the documentation of this file.
1// Copyright (C) 2012-2024 Internet Systems Consortium, Inc. ("ISC")
2//
3// This Source Code Form is subject to the terms of the Mozilla Public
4// License, v. 2.0. If a copy of the MPL was not distributed with this
5// file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7#ifndef STD_OPTION_DEFS_H
8#define STD_OPTION_DEFS_H
9
11#include <dhcp/dhcp4.h>
12#include <dhcp/dhcp6.h>
13#include <dhcp/option_space.h>
14
16#define DHCP4_OPTION_SPACE "dhcp4"
17#define DHCP6_OPTION_SPACE "dhcp6"
18#define ISC_V6_OPTION_SPACE "4o6"
19#define MAPE_V6_OPTION_SPACE "s46-cont-mape-options"
20#define MAPT_V6_OPTION_SPACE "s46-cont-mapt-options"
21#define LW_V6_OPTION_SPACE "s46-cont-lw-options"
22#define V4V6_RULE_OPTION_SPACE "s46-rule-options"
23#define V4V6_BIND_OPTION_SPACE "s46-v4v6bind-options"
24#define V6_NTP_SERVER_SPACE "v6-ntp-server-suboptions"
25#define CABLELABS_CLIENT_CONF_SPACE "cablelabs-client-conf"
26#define LAST_RESORT_V4_OPTION_SPACE "last-resort-v4"
27
29#define DHCP_AGENT_OPTION_SPACE "dhcp-agent-options-space"
30#define VENDOR_ENCAPSULATED_OPTION_SPACE "vendor-encapsulated-options-space"
31
32// NOTE:
33// When adding a new space, make sure you also update
34// src/lib/yang/adaptor_option.cc
35
36namespace isc {
37namespace dhcp {
38
39namespace {
40
45#ifndef RECORD_DECL
46#define RECORD_DECL(name, ...) const OptionDataType name[] = { __VA_ARGS__ }
47#endif
48
53#ifndef RECORD_DEF
54#define RECORD_DEF(name) name, sizeof(name) / sizeof(name[0])
55#endif
56
57#ifndef NO_RECORD_DEF
58#define NO_RECORD_DEF 0, 0
59#endif
60
61// SLP Directory Agent option.
62RECORD_DECL(DIRECTORY_AGENT_RECORDS, OPT_BOOLEAN_TYPE, OPT_IPV4_ADDRESS_TYPE);
63
64// SLP Service Scope option.
65//
66// The scope list is optional.
67RECORD_DECL(SERVICE_SCOPE_RECORDS, OPT_BOOLEAN_TYPE, OPT_STRING_TYPE);
68
69// fqdn option record fields.
70//
71// Note that the flags field indicates the type of domain
72// name encoding. There is a choice between deprecated
73// ASCII encoding and compressed encoding described in
74// RFC 1035, section 3.1. The latter could be handled
75// by OPT_FQDN_TYPE but we can't use it here because
76// clients may request ASCII encoding.
79
80// V-I Vendor Class record fields.
81//
82// Opaque data is represented here by the binary data field.
84
85// RFC4578 (PXE) record fields
86//
87// Three 1 byte fields to describe a network interface: type, major and minor
89// A client identifier: a 1 byte type field followed by opaque data depending on the type
90RECORD_DECL(UUID_GUID_RECORDS, OPT_UINT8_TYPE, OPT_BINARY_TYPE);
91
92// RFC6731 DHCPv4 Recursive DNS Server Selection option.
93//
94// Flag, two addresses and domain list
95RECORD_DECL(V4_RDNSS_SELECT_RECORDS, OPT_UINT8_TYPE, OPT_IPV4_ADDRESS_TYPE,
97
98// RFC6926 DHCPv4 Bulk Leasequery Status Code option.
99RECORD_DECL(V4_STATUS_CODE_RECORDS, OPT_UINT8_TYPE, OPT_STRING_TYPE);
100
101// RFC7618 DHCPv4 Port Parameter option.
102//
103// PSID offset, PSID-len and PSID
104RECORD_DECL(V4_PORTPARAMS_RECORDS, OPT_UINT8_TYPE, OPT_PSID_TYPE);
105
106// RFC5969 DHCPv6 6RD option.
107//
108// two 8 bit lengthes, an IPv6 address and one or more IPv4 addresses
111
113const OptionDefParams STANDARD_V4_OPTION_DEFINITIONS[] = {
114 { "subnet-mask", DHO_SUBNET_MASK, DHCP4_OPTION_SPACE,
117 false, NO_RECORD_DEF, "" },
119 NO_RECORD_DEF, "" },
120 { "time-servers", DHO_TIME_SERVERS, DHCP4_OPTION_SPACE,
122 { "name-servers", DHO_NAME_SERVERS, DHCP4_OPTION_SPACE,
124 { "domain-name-servers", DHO_DOMAIN_NAME_SERVERS, DHCP4_OPTION_SPACE,
126 { "log-servers", DHO_LOG_SERVERS, DHCP4_OPTION_SPACE,
128 { "cookie-servers", DHO_COOKIE_SERVERS, DHCP4_OPTION_SPACE,
130 { "lpr-servers", DHO_LPR_SERVERS, DHCP4_OPTION_SPACE,
132 { "impress-servers", DHO_IMPRESS_SERVERS, DHCP4_OPTION_SPACE,
134 { "resource-location-servers", DHO_RESOURCE_LOCATION_SERVERS,
136 { "host-name", DHO_HOST_NAME, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
137 NO_RECORD_DEF, "" },
138 { "boot-size", DHO_BOOT_SIZE, DHCP4_OPTION_SPACE, OPT_UINT16_TYPE, false,
139 NO_RECORD_DEF, "" },
141 false, NO_RECORD_DEF, "" },
143 false, NO_RECORD_DEF, "" },
144 { "swap-server", DHO_SWAP_SERVER, DHCP4_OPTION_SPACE,
146 { "root-path", DHO_ROOT_PATH, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
147 NO_RECORD_DEF, "" },
148 { "extensions-path", DHO_EXTENSIONS_PATH, DHCP4_OPTION_SPACE,
149 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
151 false, NO_RECORD_DEF, "" },
152 { "non-local-source-routing", DHO_NON_LOCAL_SOURCE_ROUTING,
154 { "policy-filter", DHO_POLICY_FILTER, DHCP4_OPTION_SPACE,
156 { "max-dgram-reassembly", DHO_MAX_DGRAM_REASSEMBLY, DHCP4_OPTION_SPACE,
157 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
159 false, NO_RECORD_DEF, "" },
160 { "path-mtu-aging-timeout", DHO_PATH_MTU_AGING_TIMEOUT, DHCP4_OPTION_SPACE,
161 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
162 { "path-mtu-plateau-table", DHO_PATH_MTU_PLATEAU_TABLE, DHCP4_OPTION_SPACE,
163 OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
165 false, NO_RECORD_DEF, "" },
166 { "all-subnets-local", DHO_ALL_SUBNETS_LOCAL, DHCP4_OPTION_SPACE,
167 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
168 { "broadcast-address", DHO_BROADCAST_ADDRESS, DHCP4_OPTION_SPACE,
170 { "perform-mask-discovery", DHO_PERFORM_MASK_DISCOVERY, DHCP4_OPTION_SPACE,
171 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
173 false, NO_RECORD_DEF, "" },
174 { "router-discovery", DHO_ROUTER_DISCOVERY, DHCP4_OPTION_SPACE,
175 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
176 { "router-solicitation-address", DHO_ROUTER_SOLICITATION_ADDRESS,
178 { "static-routes", DHO_STATIC_ROUTES, DHCP4_OPTION_SPACE,
180 { "trailer-encapsulation", DHO_TRAILER_ENCAPSULATION, DHCP4_OPTION_SPACE,
181 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
182 { "arp-cache-timeout", DHO_ARP_CACHE_TIMEOUT, DHCP4_OPTION_SPACE,
183 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
184 { "ieee802-3-encapsulation", DHO_IEEE802_3_ENCAPSULATION,
186 { "default-tcp-ttl", DHO_DEFAULT_TCP_TTL, DHCP4_OPTION_SPACE,
187 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
188 { "tcp-keepalive-interval", DHO_TCP_KEEPALIVE_INTERVAL, DHCP4_OPTION_SPACE,
189 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
190 { "tcp-keepalive-garbage", DHO_TCP_KEEPALIVE_GARBAGE, DHCP4_OPTION_SPACE,
191 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
192 { "nis-domain", DHO_NIS_DOMAIN, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
193 NO_RECORD_DEF, "" },
194 { "nis-servers", DHO_NIS_SERVERS, DHCP4_OPTION_SPACE,
196 { "ntp-servers", DHO_NTP_SERVERS, DHCP4_OPTION_SPACE,
199 { "netbios-name-servers", DHO_NETBIOS_NAME_SERVERS, DHCP4_OPTION_SPACE,
201 { "netbios-dd-server", DHO_NETBIOS_DD_SERVER, DHCP4_OPTION_SPACE,
203 { "netbios-node-type", DHO_NETBIOS_NODE_TYPE, DHCP4_OPTION_SPACE,
204 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
206 false, NO_RECORD_DEF, "" },
207 { "font-servers", DHO_FONT_SERVERS, DHCP4_OPTION_SPACE,
209 { "x-display-manager", DHO_X_DISPLAY_MANAGER, DHCP4_OPTION_SPACE,
211 { "dhcp-requested-address", DHO_DHCP_REQUESTED_ADDRESS, DHCP4_OPTION_SPACE,
213 { "dhcp-lease-time", DHO_DHCP_LEASE_TIME, DHCP4_OPTION_SPACE,
214 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
215 { "dhcp-option-overload", DHO_DHCP_OPTION_OVERLOAD, DHCP4_OPTION_SPACE,
216 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
217 { "dhcp-message-type", DHO_DHCP_MESSAGE_TYPE, DHCP4_OPTION_SPACE,
218 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
219 { "dhcp-server-identifier", DHO_DHCP_SERVER_IDENTIFIER, DHCP4_OPTION_SPACE,
221 { "dhcp-parameter-request-list", DHO_DHCP_PARAMETER_REQUEST_LIST,
224 false, NO_RECORD_DEF, "" },
225 { "dhcp-max-message-size", DHO_DHCP_MAX_MESSAGE_SIZE, DHCP4_OPTION_SPACE,
226 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
227 { "dhcp-renewal-time", DHO_DHCP_RENEWAL_TIME, DHCP4_OPTION_SPACE,
228 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
229 { "dhcp-rebinding-time", DHO_DHCP_REBINDING_TIME, DHCP4_OPTION_SPACE,
230 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
231 { "vendor-class-identifier", DHO_VENDOR_CLASS_IDENTIFIER,
233 { "dhcp-client-identifier", DHO_DHCP_CLIENT_IDENTIFIER, DHCP4_OPTION_SPACE,
234 OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
235 { "nwip-domain-name", DHO_NWIP_DOMAIN_NAME, DHCP4_OPTION_SPACE,
236 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
237 { "nwip-suboptions", DHO_NWIP_SUBOPTIONS, DHCP4_OPTION_SPACE,
238 OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
239 { "nisplus-domain-name", DHO_NISP_DOMAIN_NAME, DHCP4_OPTION_SPACE,
240 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
241 { "nisplus-servers", DHO_NISP_SERVER_ADDR, DHCP4_OPTION_SPACE,
243 { "tftp-server-name", DHO_TFTP_SERVER_NAME, DHCP4_OPTION_SPACE,
244 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
245 { "boot-file-name", DHO_BOOT_FILE_NAME, DHCP4_OPTION_SPACE,
246 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
247 { "mobile-ip-home-agent", DHO_HOME_AGENT_ADDRS, DHCP4_OPTION_SPACE,
249 { "smtp-server", DHO_SMTP_SERVER, DHCP4_OPTION_SPACE,
252 true, NO_RECORD_DEF, "" },
253 { "nntp-server", DHO_NNTP_SERVER, DHCP4_OPTION_SPACE,
256 true, NO_RECORD_DEF, "" },
257 { "finger-server", DHO_FINGER_SERVER, DHCP4_OPTION_SPACE,
260 true, NO_RECORD_DEF, "" },
261 { "streettalk-server", DHO_STREETTALK_SERVER, DHCP4_OPTION_SPACE,
263 { "streettalk-directory-assistance-server", DHO_STDASERVER,
265 { "user-class", DHO_USER_CLASS, DHCP4_OPTION_SPACE, OPT_BINARY_TYPE, false,
266 NO_RECORD_DEF, "" },
267 { "slp-directory-agent", DHO_DIRECTORY_AGENT, DHCP4_OPTION_SPACE,
268 OPT_RECORD_TYPE, true, RECORD_DEF(DIRECTORY_AGENT_RECORDS), "" },
269 { "slp-service-scope", DHO_SERVICE_SCOPE, DHCP4_OPTION_SPACE,
270 OPT_RECORD_TYPE, false, RECORD_DEF(SERVICE_SCOPE_RECORDS), "" },
272 RECORD_DEF(FQDN_RECORDS), "" },
273 { "dhcp-agent-options", DHO_DHCP_AGENT_OPTIONS, DHCP4_OPTION_SPACE,
275 { "nds-servers", DHO_NDS_SERVERS, DHCP4_OPTION_SPACE,
278 false, NO_RECORD_DEF, "" },
280 false, NO_RECORD_DEF, "" },
281 { "bcms-controller-names", DHO_BCMCS_DOMAIN_NAME_LIST, DHCP4_OPTION_SPACE,
282 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
283 { "bcms-controller-address", DHO_BCMCS_IPV4_ADDR, DHCP4_OPTION_SPACE,
285 // Unfortunately the AUTHENTICATE option contains a 64-bit
286 // data field called 'replay-detection' that can't be added
287 // as a record field to a custom option. Also, there is no
288 // dedicated option class to handle it so we simply return
289 // binary option type for now.
290 // @todo implement a class to handle AUTH option.
292 false, NO_RECORD_DEF, "" },
293 { "client-last-transaction-time", DHO_CLIENT_LAST_TRANSACTION_TIME,
295 { "associated-ip", DHO_ASSOCIATED_IP, DHCP4_OPTION_SPACE,
297 { "client-system", DHO_SYSTEM, DHCP4_OPTION_SPACE, OPT_UINT16_TYPE, true,
298 NO_RECORD_DEF, "" },
299 { "client-ndi", DHO_NDI, DHCP4_OPTION_SPACE, OPT_RECORD_TYPE, false,
300 RECORD_DEF(CLIENT_NDI_RECORDS), "" },
301 { "uuid-guid", DHO_UUID_GUID, DHCP4_OPTION_SPACE, OPT_RECORD_TYPE, false,
302 RECORD_DEF(UUID_GUID_RECORDS), "" },
303 { "uap-servers", DHO_USER_AUTH, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
304 NO_RECORD_DEF, "" },
306 false, NO_RECORD_DEF, "" },
307 { "pcode", DHO_PCODE, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
308 NO_RECORD_DEF, "" },
309 { "tcode", DHO_TCODE, DHCP4_OPTION_SPACE, OPT_STRING_TYPE, false,
310 NO_RECORD_DEF, "" },
311 { "v6-only-preferred", DHO_V6_ONLY_PREFERRED, DHCP4_OPTION_SPACE,
312 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
313 { "netinfo-server-address", DHO_NETINFO_ADDR, DHCP4_OPTION_SPACE,
315 { "netinfo-server-tag", DHO_NETINFO_TAG, DHCP4_OPTION_SPACE,
316 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
317 { "v4-captive-portal", DHO_V4_CAPTIVE_PORTAL, DHCP4_OPTION_SPACE,
318 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
320 false, NO_RECORD_DEF, "" },
321 { "name-service-search", DHO_NAME_SERVICE_SEARCH, DHCP4_OPTION_SPACE,
322 OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
323 { "subnet-selection", DHO_SUBNET_SELECTION, DHCP4_OPTION_SPACE,
326 true, NO_RECORD_DEF, "" },
328 false, NO_RECORD_DEF, "" },
329 { "cablelabs-client-conf", DHO_CCC, DHCP4_OPTION_SPACE, OPT_EMPTY_TYPE,
331 { "vivco-suboptions", DHO_VIVCO_SUBOPTIONS, DHCP4_OPTION_SPACE,
332 OPT_RECORD_TYPE, false, RECORD_DEF(VIVCO_RECORDS), "" },
333 // Vendor-Identifying Vendor Specific Information option payload begins with a
334 // 32-bit log enterprise number, followed by a tuple of data-len/option-data.
335 // The format defined here includes 32-bit field holding enterprise number.
336 // This allows for specifying option-data information where the enterprise-id
337 // is represented by a uint32_t value. Previously we represented this option
338 // as a binary, but that would imply that enterprise number would have to be
339 // represented in binary format in the server configuration. That would be
340 // inconvenient and non-intuitive.
345 { "vivso-suboptions", DHO_VIVSO_SUBOPTIONS, DHCP4_OPTION_SPACE,
346 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
348 true, NO_RECORD_DEF, "" },
349 { "v4-lost", DHO_V4_LOST, DHCP4_OPTION_SPACE, OPT_FQDN_TYPE, false,
350 NO_RECORD_DEF, "" },
351 { "capwap-ac-v4", DHO_CAPWAP_AC_V4, DHCP4_OPTION_SPACE,
354 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
356 true, NO_RECORD_DEF, ""},
358 true, RECORD_DEF(V4_RDNSS_SELECT_RECORDS), "" },
359 { "status-code", DHO_STATUS_CODE, DHCP4_OPTION_SPACE,
360 OPT_RECORD_TYPE, false, RECORD_DEF(V4_STATUS_CODE_RECORDS), "" },
361 { "base-time", DHO_BASE_TIME, DHCP4_OPTION_SPACE,
362 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
363 { "start-time-of-state", DHO_START_TIME_OF_STATE, DHCP4_OPTION_SPACE,
364 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
365 { "query-start-time", DHO_QUERY_START_TIME, DHCP4_OPTION_SPACE,
366 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
367 { "query-end-time", DHO_QUERY_END_TIME, DHCP4_OPTION_SPACE,
368 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
369 { "dhcp-state", DHO_DHCP_STATE, DHCP4_OPTION_SPACE,
370 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
371 { "data-source", DHO_DATA_SOURCE, DHCP4_OPTION_SPACE,
372 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
374 false, RECORD_DEF(V4_PORTPARAMS_RECORDS), "" },
376 false, NO_RECORD_DEF, "" },
377 { "option-6rd", DHO_6RD, DHCP4_OPTION_SPACE, OPT_RECORD_TYPE, true,
378 RECORD_DEF(OPT_6RD_RECORDS), "" },
379 { "v4-access-domain", DHO_V4_ACCESS_DOMAIN, DHCP4_OPTION_SPACE,
380 OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" }
381
382 // @todo add definitions for all remaining options.
383};
384
386const int STANDARD_V4_OPTION_DEFINITIONS_SIZE =
387 sizeof(STANDARD_V4_OPTION_DEFINITIONS) /
388 sizeof(STANDARD_V4_OPTION_DEFINITIONS[0]);
389
391const OptionDefParams DHCP_AGENT_OPTION_DEFINITIONS[] = {
392 { "circuit-id", RAI_OPTION_AGENT_CIRCUIT_ID,
394 { "remote-id", RAI_OPTION_REMOTE_ID,
396 { "docsis-device-class", RAI_OPTION_DOCSIS_DEVICE_CLASS,
398 { "link-selection", RAI_OPTION_LINK_SELECTION,
400 NO_RECORD_DEF, "" },
401 { "subscriber-id", RAI_OPTION_SUBSCRIBER_ID,
403 { "radius", RAI_OPTION_RADIUS,
405 { "auth", RAI_OPTION_AUTH,
407 { "vendor-specific-info", RAI_OPTION_VSI,
409 { "relay-flags", RAI_OPTION_RELAY_FLAGS,
411 { "server-id-override", RAI_OPTION_SERVER_ID_OVERRIDE,
413 NO_RECORD_DEF, "" },
414 { "relay-id", RAI_OPTION_RELAY_ID,
416 { "access-techno-type", RAI_OPTION_ACCESS_TECHNO_TYPE,
418 { "access-network-name", RAI_OPTION_ACCESS_NETWORK_NAME,
420 { "access-point-name", RAI_OPTION_ACCESS_POINT_NAME,
422 { "access-point-bssid", RAI_OPTION_ACCESS_POINT_BSSID,
424 { "operator-id", RAI_OPTION_OPERATOR_ID,
426 { "operator-realm", RAI_OPTION_OPERATOR_REALM,
428 { "relay-port", RAI_OPTION_RELAY_PORT,
430 { "virtual-subnet-select", RAI_OPTION_VIRTUAL_SUBNET_SELECT,
432 { "virtual-subnet-select-ctrl", RAI_OPTION_VIRTUAL_SUBNET_SELECT_CTRL,
434};
435
436const int DHCP_AGENT_OPTION_DEFINITIONS_SIZE =
437 sizeof(DHCP_AGENT_OPTION_DEFINITIONS) /
438 sizeof(DHCP_AGENT_OPTION_DEFINITIONS[0]);
439
442const OptionDefParams LAST_RESORT_V4_OPTION_DEFINITIONS[] = {
443 { "vendor-encapsulated-options", DHO_VENDOR_ENCAPSULATED_OPTIONS,
446};
447
448const int LAST_RESORT_V4_OPTION_DEFINITIONS_SIZE =
449 sizeof(LAST_RESORT_V4_OPTION_DEFINITIONS) /
450 sizeof(LAST_RESORT_V4_OPTION_DEFINITIONS[0]);
451
453
454// client-fqdn
455RECORD_DECL(CLIENT_FQDN_RECORDS, OPT_UINT8_TYPE, OPT_FQDN_TYPE);
456// geoconf-civic
457RECORD_DECL(GEOCONF_CIVIC_RECORDS, OPT_UINT8_TYPE, OPT_UINT16_TYPE,
459// iaddr
462// ia-na
464// ia-pd
466// ia-prefix
469// lq-query
471// lq-relay-data
472RECORD_DECL(LQ_RELAY_DATA_RECORDS, OPT_IPV6_ADDRESS_TYPE, OPT_BINARY_TYPE);
473// remote-id
474RECORD_DECL(REMOTE_ID_RECORDS, OPT_UINT32_TYPE, OPT_BINARY_TYPE);
475// s46-rule
478// s46-v4v6bind
480// s46-portparams
482// status-code
483RECORD_DECL(V6_STATUS_CODE_RECORDS, OPT_UINT16_TYPE, OPT_STRING_TYPE);
484// vendor-class
485RECORD_DECL(VENDOR_CLASS_RECORDS, OPT_UINT32_TYPE, OPT_BINARY_TYPE);
486// rdnss-selection
487RECORD_DECL(V6_RDNSS_SELECT_RECORDS, OPT_IPV6_ADDRESS_TYPE, OPT_UINT8_TYPE,
489// sedhcpv6 signature
490RECORD_DECL(SIGNATURE_RECORDS, OPT_UINT8_TYPE, OPT_UINT8_TYPE,
492
493// RFC5970 (PXE) Class record fields
494//
495// Three 1 byte fileds to describe a network interface: type, major and minor
497
508const OptionDefParams STANDARD_V6_OPTION_DEFINITIONS[] = {
509 { "clientid", D6O_CLIENTID, DHCP6_OPTION_SPACE, OPT_BINARY_TYPE, false,
510 NO_RECORD_DEF, "" },
511 { "serverid", D6O_SERVERID, DHCP6_OPTION_SPACE, OPT_BINARY_TYPE, false,
512 NO_RECORD_DEF, "" },
513 { "ia-na", D6O_IA_NA, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
514 RECORD_DEF(IA_NA_RECORDS), "" },
515 { "ia-ta", D6O_IA_TA, DHCP6_OPTION_SPACE, OPT_UINT32_TYPE, false,
516 NO_RECORD_DEF, "" },
517 { "iaaddr", D6O_IAADDR, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
518 RECORD_DEF(IAADDR_RECORDS), "" },
520 "" },
521 { "preference", D6O_PREFERENCE, DHCP6_OPTION_SPACE, OPT_UINT8_TYPE, false,
522 NO_RECORD_DEF, "" },
524 false, NO_RECORD_DEF, "" },
525 { "relay-msg", D6O_RELAY_MSG, DHCP6_OPTION_SPACE, OPT_BINARY_TYPE, false,
526 NO_RECORD_DEF, "" },
527 // Unfortunately the AUTH option contains a 64-bit data field
528 // called 'replay-detection' that can't be added as a record
529 // field to a custom option. Also, there is no dedicated
530 // option class to handle it so we simply return binary
531 // option type for now.
532 // @todo implement a class to handle AUTH option.
534 NO_RECORD_DEF, "" },
536 false, NO_RECORD_DEF, "" },
538 false, RECORD_DEF(V6_STATUS_CODE_RECORDS), "" },
540 false, NO_RECORD_DEF, "" },
542 false, NO_RECORD_DEF, "" },
544 false, RECORD_DEF(VENDOR_CLASS_RECORDS), "" },
546 false, NO_RECORD_DEF, "" },
548 false, NO_RECORD_DEF, "" },
549 { "reconf-msg", D6O_RECONF_MSG, DHCP6_OPTION_SPACE, OPT_UINT8_TYPE, false,
550 NO_RECORD_DEF, "" },
552 false, NO_RECORD_DEF, "" },
554 true, NO_RECORD_DEF, "" },
555 { "sip-server-addr", D6O_SIP_SERVERS_ADDR, DHCP6_OPTION_SPACE,
557 { "dns-servers", D6O_NAME_SERVERS, DHCP6_OPTION_SPACE,
560 true, NO_RECORD_DEF, "" },
561 { "ia-pd", D6O_IA_PD, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
562 RECORD_DEF(IA_PD_RECORDS), "" },
563 { "iaprefix", D6O_IAPREFIX, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
564 RECORD_DEF(IA_PREFIX_RECORDS), "" },
565 { "nis-servers", D6O_NIS_SERVERS, DHCP6_OPTION_SPACE,
567 { "nisp-servers", D6O_NISP_SERVERS, DHCP6_OPTION_SPACE,
569 { "nis-domain-name", D6O_NIS_DOMAIN_NAME, DHCP6_OPTION_SPACE,
570 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
571 { "nisp-domain-name", D6O_NISP_DOMAIN_NAME, DHCP6_OPTION_SPACE,
572 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
573 { "sntp-servers", D6O_SNTP_SERVERS, DHCP6_OPTION_SPACE,
575 { "information-refresh-time", D6O_INFORMATION_REFRESH_TIME,
577 { "bcmcs-server-dns", D6O_BCMCS_SERVER_D, DHCP6_OPTION_SPACE,
578 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
579 { "bcmcs-server-addr", D6O_BCMCS_SERVER_A, DHCP6_OPTION_SPACE,
581 { "geoconf-civic", D6O_GEOCONF_CIVIC, DHCP6_OPTION_SPACE,
582 OPT_RECORD_TYPE, false, RECORD_DEF(GEOCONF_CIVIC_RECORDS), "" },
583 { "remote-id", D6O_REMOTE_ID, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
584 RECORD_DEF(REMOTE_ID_RECORDS), "" },
586 false, NO_RECORD_DEF, "" },
588 false, RECORD_DEF(CLIENT_FQDN_RECORDS), "" },
590 true, NO_RECORD_DEF, "" },
591 { "new-posix-timezone", D6O_NEW_POSIX_TIMEZONE, DHCP6_OPTION_SPACE,
592 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
593 { "new-tzdb-timezone", D6O_NEW_TZDB_TIMEZONE, DHCP6_OPTION_SPACE,
594 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
596 NO_RECORD_DEF, "" },
597 { "lq-query", D6O_LQ_QUERY, DHCP6_OPTION_SPACE, OPT_RECORD_TYPE, false,
598 RECORD_DEF(LQ_QUERY_RECORDS), DHCP6_OPTION_SPACE },
601 { "clt-time", D6O_CLT_TIME, DHCP6_OPTION_SPACE, OPT_UINT32_TYPE, false,
602 NO_RECORD_DEF, "" },
604 false, RECORD_DEF(LQ_RELAY_DATA_RECORDS), "" },
605 { "lq-client-link", D6O_LQ_CLIENT_LINK, DHCP6_OPTION_SPACE,
607 { "v6-lost", D6O_V6_LOST, DHCP6_OPTION_SPACE, OPT_FQDN_TYPE, false,
608 NO_RECORD_DEF, "" },
609 { "capwap-ac-v6", D6O_CAPWAP_AC_V6, DHCP6_OPTION_SPACE,
611 { "relay-id", D6O_RELAY_ID, DHCP6_OPTION_SPACE, OPT_BINARY_TYPE, false,
612 NO_RECORD_DEF, "" },
615 { "v6-access-domain", D6O_V6_ACCESS_DOMAIN, DHCP6_OPTION_SPACE,
616 OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" },
617 { "sip-ua-cs-list", D6O_SIP_UA_CS_LIST, DHCP6_OPTION_SPACE,
618 OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
620 false, NO_RECORD_DEF, "" },
622 true, NO_RECORD_DEF, "" },
623 { "client-arch-type", D6O_CLIENT_ARCH_TYPE, DHCP6_OPTION_SPACE,
624 OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
626 RECORD_DEF(CLIENT_NII_RECORDS), "" },
627 { "aftr-name", D6O_AFTR_NAME, DHCP6_OPTION_SPACE, OPT_FQDN_TYPE, false,
628 NO_RECORD_DEF, "" },
629 { "erp-local-domain-name", D6O_ERP_LOCAL_DOMAIN_NAME, DHCP6_OPTION_SPACE
630 , OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" },
631 { "rsoo", D6O_RSOO, DHCP6_OPTION_SPACE, OPT_EMPTY_TYPE, false,
632 NO_RECORD_DEF, "rsoo-opts" },
634 false, NO_RECORD_DEF, "" },
635 { "rdnss-selection", D6O_RDNSS_SELECTION, DHCP6_OPTION_SPACE,
636 OPT_RECORD_TYPE, true, RECORD_DEF(V6_RDNSS_SELECT_RECORDS), "" },
637 { "client-linklayer-addr", D6O_CLIENT_LINKLAYER_ADDR, DHCP6_OPTION_SPACE,
638 OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
639 { "link-address", D6O_LINK_ADDRESS, DHCP6_OPTION_SPACE,
641 { "solmax-rt", D6O_SOL_MAX_RT, DHCP6_OPTION_SPACE, OPT_UINT32_TYPE, false,
642 NO_RECORD_DEF, "" },
643 { "inf-max-rt", D6O_INF_MAX_RT, DHCP6_OPTION_SPACE, OPT_UINT32_TYPE, false,
644 NO_RECORD_DEF, "" },
646 false, NO_RECORD_DEF, "" },
647 { "dhcp4o6-server-addr", D6O_DHCPV4_O_DHCPV6_SERVER, DHCP6_OPTION_SPACE,
649 { "v6-captive-portal", D6O_V6_CAPTIVE_PORTAL, DHCP6_OPTION_SPACE,
650 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
651 { "relay-source-port", D6O_RELAY_SOURCE_PORT, DHCP6_OPTION_SPACE,
652 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
653 { "v6-sztp-redirect", D6O_V6_SZTP_REDIRECT, DHCP6_OPTION_SPACE,
654 OPT_TUPLE_TYPE, true, NO_RECORD_DEF, "" },
655 { "ipv6-address-andsf", D6O_IPV6_ADDRESS_ANDSF, DHCP6_OPTION_SPACE,
664 false, NO_RECORD_DEF, "" }
665
666 // @todo There is still a bunch of options for which we have to provide
667 // definitions but we don't do it because they are not really
668 // critical right now.
669};
670
672const int STANDARD_V6_OPTION_DEFINITIONS_SIZE =
673 sizeof(STANDARD_V6_OPTION_DEFINITIONS) /
674 sizeof(STANDARD_V6_OPTION_DEFINITIONS[0]);
675
682const OptionDefParams ISC_V6_OPTION_DEFINITIONS[] = {
683 { "4o6-interface", ISC_V6_4O6_INTERFACE, ISC_V6_OPTION_SPACE,
684 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
685 { "4o6-source-address", ISC_V6_4O6_SRC_ADDRESS, ISC_V6_OPTION_SPACE,
687 { "4o6-source-port", ISC_V6_4O6_SRC_PORT, ISC_V6_OPTION_SPACE,
688 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" }
689};
690
691const int ISC_V6_OPTION_DEFINITIONS_SIZE =
692 sizeof(ISC_V6_OPTION_DEFINITIONS) /
693 sizeof(ISC_V6_OPTION_DEFINITIONS[0]);
694
696const OptionDefParams MAPE_V6_OPTION_DEFINITIONS[] = {
698 NO_RECORD_DEF, "" },
701};
702
703const int MAPE_V6_OPTION_DEFINITIONS_SIZE =
704 sizeof(MAPE_V6_OPTION_DEFINITIONS) /
705 sizeof(MAPE_V6_OPTION_DEFINITIONS[0]);
706
708const OptionDefParams MAPT_V6_OPTION_DEFINITIONS[] = {
712 false, NO_RECORD_DEF, "" }
713};
714
715const int MAPT_V6_OPTION_DEFINITIONS_SIZE =
716 sizeof(MAPT_V6_OPTION_DEFINITIONS) /
717 sizeof(MAPT_V6_OPTION_DEFINITIONS[0]);
718
720const OptionDefParams LW_V6_OPTION_DEFINITIONS[] = {
722 NO_RECORD_DEF, "" },
724 false, RECORD_DEF(S46_V4V6BIND), V4V6_BIND_OPTION_SPACE }
725};
726
727const int LW_V6_OPTION_DEFINITIONS_SIZE =
728 sizeof(LW_V6_OPTION_DEFINITIONS) /
729 sizeof(LW_V6_OPTION_DEFINITIONS[0]);
730
732const OptionDefParams V4V6_RULE_OPTION_DEFINITIONS[] = {
733 { "s46-portparams", D6O_S46_PORTPARAMS, V4V6_RULE_OPTION_SPACE,
734 OPT_RECORD_TYPE, false, RECORD_DEF(S46_PORTPARAMS), "" }
735};
736
737const int V4V6_RULE_OPTION_DEFINITIONS_SIZE =
738 sizeof(V4V6_RULE_OPTION_DEFINITIONS) /
739 sizeof(V4V6_RULE_OPTION_DEFINITIONS[0]);
740
742const OptionDefParams V4V6_BIND_OPTION_DEFINITIONS[] = {
743 { "s46-portparams", D6O_S46_PORTPARAMS, V4V6_BIND_OPTION_SPACE,
744 OPT_RECORD_TYPE, false, RECORD_DEF(S46_PORTPARAMS), "" }
745};
746
747const int V4V6_BIND_OPTION_DEFINITIONS_SIZE =
748 sizeof(V4V6_BIND_OPTION_DEFINITIONS) /
749 sizeof(V4V6_BIND_OPTION_DEFINITIONS[0]);
750
752const OptionDefParams V6_NTP_SERVER_DEFINITIONS[] = {
753 { "ntp-server-address", NTP_SUBOPTION_SRV_ADDR, V6_NTP_SERVER_SPACE,
755 { "ntp-server-multicast", NTP_SUBOPTION_MC_ADDR, V6_NTP_SERVER_SPACE,
757 { "ntp-server-fqdn", NTP_SUBOPTION_SRV_FQDN, V6_NTP_SERVER_SPACE,
758 OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" }
759};
760
761const int V6_NTP_SERVER_DEFINITIONS_SIZE =
762 sizeof(V6_NTP_SERVER_DEFINITIONS) /
763 sizeof(V6_NTP_SERVER_DEFINITIONS[0]);
764
769
771const OptionDefParams CABLELABS_CLIENT_CONF_DEFINITIONS[] = {
772 { "tsp-primary-server", TSP_PRIMARY_SERVER, CABLELABS_CLIENT_CONF_SPACE,
774 { "tsp-secondary-server", TSP_SECONDARY_SERVER, CABLELABS_CLIENT_CONF_SPACE,
776 // No tsp-provisioning-server as it has a variant record type
777 { "tsp-as-parameters", TSP_AS_PARAMETERS, CABLELABS_CLIENT_CONF_SPACE,
778 OPT_RECORD_TYPE, false, RECORD_DEF(TSP_AS_RECORDS), "" },
779 { "tsp-ap-parameters", TSP_AP_PARAMETERS, CABLELABS_CLIENT_CONF_SPACE,
780 OPT_RECORD_TYPE, false, RECORD_DEF(TSP_AS_RECORDS), "" },
781 // RFC 3495 rrata says fqdn (vs string)
783 false, NO_RECORD_DEF, "" },
785 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
786 { "tsp-provisioning-timer", TSP_PROVISIONING_TIMER,
789 NO_RECORD_DEF, "" },
792};
793
794const int CABLELABS_CLIENT_CONF_DEFINITIONS_SIZE =
795 sizeof(CABLELABS_CLIENT_CONF_DEFINITIONS) /
796 sizeof(CABLELABS_CLIENT_CONF_DEFINITIONS[0]);
797
798} // namespace
799
800} // namespace dhcp
801} // namespace isc
802
803#endif // STD_OPTION_DEFS_H
@ D6O_CLIENT_FQDN
Definition dhcp6.h:59
@ D6O_USER_CLASS
Definition dhcp6.h:35
@ D6O_S46_DMR
Definition dhcp6.h:111
@ D6O_S46_CONT_LW
Definition dhcp6.h:116
@ D6O_UNICAST
Definition dhcp6.h:32
@ D6O_RSOO
Definition dhcp6.h:86
@ D6O_INTERFACE_ID
Definition dhcp6.h:38
@ D6O_SIP_UA_CS_LIST
Definition dhcp6.h:78
@ D6O_NII
Definition dhcp6.h:82
@ D6O_IPV6_ADDRESS_ANDSF
Definition dhcp6.h:158
@ D6O_DHCPV4_O_DHCPV6_SERVER
Definition dhcp6.h:108
@ D6O_SERVERID
Definition dhcp6.h:22
@ D6O_AUTH
Definition dhcp6.h:31
@ D6O_CLIENTID
Definition dhcp6.h:21
@ D6O_V6_CAPTIVE_PORTAL
Definition dhcp6.h:123
@ D6O_RELAY_MSG
Definition dhcp6.h:29
@ D6O_S46_CONT_MAPE
Definition dhcp6.h:114
@ D6O_REMOTE_ID
Definition dhcp6.h:57
@ D6O_INFORMATION_REFRESH_TIME
Definition dhcp6.h:52
@ D6O_VENDOR_OPTS
Definition dhcp6.h:37
@ D6O_INF_MAX_RT
Definition dhcp6.h:103
@ D6O_V6_ACCESS_DOMAIN
Definition dhcp6.h:77
@ D6O_S46_RULE
Definition dhcp6.h:109
@ D6O_S46_V4V6BIND
Definition dhcp6.h:112
@ D6O_IA_TA
Definition dhcp6.h:24
@ D6O_BOOTFILE_URL
Definition dhcp6.h:79
@ D6O_SUBSCRIBER_ID
Definition dhcp6.h:58
@ D6O_S46_PORTPARAMS
Definition dhcp6.h:113
@ D6O_NEW_TZDB_TIMEZONE
Definition dhcp6.h:62
@ D6O_CLT_TIME
Definition dhcp6.h:66
@ D6O_SOL_MAX_RT
Definition dhcp6.h:102
@ D6O_BCMCS_SERVER_D
Definition dhcp6.h:53
@ D6O_CLIENT_ARCH_TYPE
Definition dhcp6.h:81
@ D6O_NAME_SERVERS
Definition dhcp6.h:43
@ D6O_RELAY_SOURCE_PORT
Definition dhcp6.h:155
@ D6O_RAPID_COMMIT
Definition dhcp6.h:34
@ D6O_SIP_SERVERS_ADDR
Definition dhcp6.h:42
@ D6O_PANA_AGENT
Definition dhcp6.h:60
@ D6O_V6_LOST
Definition dhcp6.h:71
@ D6O_AFTR_NAME
Definition dhcp6.h:84
@ D6O_BOOTFILE_PARAM
Definition dhcp6.h:80
@ D6O_RELAY_ID
Definition dhcp6.h:73
@ D6O_IA_NA
Definition dhcp6.h:23
@ D6O_PREFERENCE
Definition dhcp6.h:27
@ D6O_NIS_SERVERS
Definition dhcp6.h:47
@ D6O_S46_BR
Definition dhcp6.h:110
@ D6O_RDNSS_SELECTION
Definition dhcp6.h:94
@ D6O_ORO
Definition dhcp6.h:26
@ D6O_ERO
Definition dhcp6.h:63
@ D6O_V6_SZTP_REDIRECT
Definition dhcp6.h:156
@ D6O_PD_EXCLUDE
Definition dhcp6.h:87
@ D6O_S46_CONT_MAPT
Definition dhcp6.h:115
@ D6O_RECONF_MSG
Definition dhcp6.h:39
@ D6O_IA_PD
Definition dhcp6.h:45
@ D6O_SIP_SERVERS_DNS
Definition dhcp6.h:41
@ D6O_SNTP_SERVERS
Definition dhcp6.h:51
@ D6O_RECONF_ACCEPT
Definition dhcp6.h:40
@ D6O_DOMAIN_SEARCH
Definition dhcp6.h:44
@ D6O_NISP_SERVERS
Definition dhcp6.h:48
@ D6O_LQ_QUERY
Definition dhcp6.h:64
@ D6O_V6_DNR
Definition dhcp6.h:159
@ D6O_GEOCONF_CIVIC
Definition dhcp6.h:56
@ D6O_NISP_DOMAIN_NAME
Definition dhcp6.h:50
@ D6O_DHCPV4_MSG
Definition dhcp6.h:107
@ D6O_IAADDR
Definition dhcp6.h:25
@ D6O_CLIENT_DATA
Definition dhcp6.h:65
@ D6O_LQ_RELAY_DATA
Definition dhcp6.h:67
@ D6O_NIS_DOMAIN_NAME
Definition dhcp6.h:49
@ D6O_NTP_SERVER
Definition dhcp6.h:76
@ D6O_BCMCS_SERVER_A
Definition dhcp6.h:54
@ D6O_LQ_CLIENT_LINK
Definition dhcp6.h:68
@ D6O_CLIENT_LINKLAYER_ADDR
Definition dhcp6.h:99
@ D6O_LINK_ADDRESS
Definition dhcp6.h:100
@ D6O_NEW_POSIX_TIMEZONE
Definition dhcp6.h:61
@ D6O_VENDOR_CLASS
Definition dhcp6.h:36
@ D6O_ERP_LOCAL_DOMAIN_NAME
Definition dhcp6.h:85
@ D6O_STATUS_CODE
Definition dhcp6.h:33
@ D6O_ELAPSED_TIME
Definition dhcp6.h:28
@ D6O_IAPREFIX
Definition dhcp6.h:46
@ D6O_CAPWAP_AC_V6
Definition dhcp6.h:72
@ DHO_NNTP_SERVER
Definition dhcp4.h:140
@ DHO_NON_LOCAL_SOURCE_ROUTING
Definition dhcp4.h:89
@ DHO_STREETTALK_SERVER
Definition dhcp4.h:144
@ DHO_QUERY_START_TIME
Definition dhcp4.h:208
@ DHO_IMPRESS_SERVERS
Definition dhcp4.h:79
@ DHO_DHCP_MAX_MESSAGE_SIZE
Definition dhcp4.h:126
@ DHO_DHCP_MESSAGE
Definition dhcp4.h:125
@ DHO_DIRECTORY_AGENT
Definition dhcp4.h:147
@ DHO_BOOT_SIZE
Definition dhcp4.h:82
@ DHO_NETBIOS_NODE_TYPE
Definition dhcp4.h:115
@ DHO_FONT_SERVERS
Definition dhcp4.h:117
@ DHO_SUBNET_MASK
Definition dhcp4.h:70
@ DHO_6RD
Definition dhcp4.h:222
@ DHO_ROUTERS
Definition dhcp4.h:72
@ DHO_NWIP_DOMAIN_NAME
Definition dhcp4.h:131
@ DHO_NAME_SERVICE_SEARCH
Definition dhcp4.h:181
@ DHO_LOG_SERVERS
Definition dhcp4.h:76
@ DHO_DOMAIN_NAME
Definition dhcp4.h:84
@ DHO_NETBIOS_SCOPE
Definition dhcp4.h:116
@ DHO_TCODE
Definition dhcp4.h:170
@ DHO_TFTP_SERVER_NAME
Definition dhcp4.h:135
@ DHO_V4_PORTPARAMS
Definition dhcp4.h:213
@ DHO_V4_SZTP_REDIRECT
Definition dhcp4.h:199
@ DHO_DOMAIN_NAME_SERVERS
Definition dhcp4.h:75
@ DHO_IP_FORWARDING
Definition dhcp4.h:88
@ DHO_VENDOR_CLASS_IDENTIFIER
Definition dhcp4.h:129
@ DHO_TRAILER_ENCAPSULATION
Definition dhcp4.h:103
@ DHO_TIME_SERVERS
Definition dhcp4.h:73
@ DHO_SERVICE_SCOPE
Definition dhcp4.h:148
@ DHO_GEOCONF_CIVIC
Definition dhcp4.h:168
@ DHO_NETINFO_ADDR
Definition dhcp4.h:174
@ DHO_DHCP_REBINDING_TIME
Definition dhcp4.h:128
@ DHO_DHCP_MESSAGE_TYPE
Definition dhcp4.h:122
@ DHO_V6_ONLY_PREFERRED
Definition dhcp4.h:172
@ DHO_INTERFACE_MTU
Definition dhcp4.h:95
@ DHO_UUID_GUID
Definition dhcp4.h:166
@ DHO_DHCP_SERVER_IDENTIFIER
Definition dhcp4.h:123
@ DHO_CLASSLESS_STATIC_ROUTE
Definition dhcp4.h:185
@ DHO_SIP_UA_CONF_SERVICE_DOMAINS
Definition dhcp4.h:197
@ DHO_HOST_NAME
Definition dhcp4.h:81
@ DHO_DEFAULT_TCP_TTL
Definition dhcp4.h:106
@ DHO_STATIC_ROUTES
Definition dhcp4.h:102
@ DHO_DHCP_CLIENT_IDENTIFIER
Definition dhcp4.h:130
@ DHO_COOKIE_SERVERS
Definition dhcp4.h:77
@ DHO_ROOT_PATH
Definition dhcp4.h:86
@ DHO_NTP_SERVERS
Definition dhcp4.h:111
@ DHO_BOOT_FILE_NAME
Definition dhcp4.h:136
@ DHO_VIVCO_SUBOPTIONS
Definition dhcp4.h:188
@ DHO_AUTO_CONFIG
Definition dhcp4.h:180
@ DHO_ROUTER_SOLICITATION_ADDRESS
Definition dhcp4.h:101
@ DHO_V4_DNR
Definition dhcp4.h:217
@ DHO_PATH_MTU_AGING_TIMEOUT
Definition dhcp4.h:93
@ DHO_NDI
Definition dhcp4.h:163
@ DHO_RDNSS_SELECT
Definition dhcp4.h:202
@ DHO_BASE_TIME
Definition dhcp4.h:206
@ DHO_DHCP_REQUESTED_ADDRESS
Definition dhcp4.h:119
@ DHO_NISP_SERVER_ADDR
Definition dhcp4.h:134
@ DHO_RESOURCE_LOCATION_SERVERS
Definition dhcp4.h:80
@ DHO_NETINFO_TAG
Definition dhcp4.h:175
@ DHO_NDS_TREE_NAME
Definition dhcp4.h:155
@ DHO_QUERY_END_TIME
Definition dhcp4.h:209
@ DHO_ALL_SUBNETS_LOCAL
Definition dhcp4.h:96
@ DHO_TCP_KEEPALIVE_INTERVAL
Definition dhcp4.h:107
@ DHO_DHCP_OPTION_OVERLOAD
Definition dhcp4.h:121
@ DHO_SMTP_SERVER
Definition dhcp4.h:138
@ DHO_POLICY_FILTER
Definition dhcp4.h:90
@ DHO_DHCP_AGENT_OPTIONS
Definition dhcp4.h:151
@ DHO_TIME_OFFSET
Definition dhcp4.h:71
@ DHO_PATH_MTU_PLATEAU_TABLE
Definition dhcp4.h:94
@ DHO_BCMCS_DOMAIN_NAME_LIST
Definition dhcp4.h:157
@ DHO_PERFORM_MASK_DISCOVERY
Definition dhcp4.h:98
@ DHO_WWW_SERVER
Definition dhcp4.h:141
@ DHO_SYSTEM
Definition dhcp4.h:162
@ DHO_ROUTER_DISCOVERY
Definition dhcp4.h:100
@ DHO_NDS_SERVERS
Definition dhcp4.h:154
@ DHO_ASSOCIATED_IP
Definition dhcp4.h:161
@ DHO_VENDOR_ENCAPSULATED_OPTIONS
Definition dhcp4.h:112
@ DHO_NDS_CONTEXT
Definition dhcp4.h:156
@ DHO_NAME_SERVERS
Definition dhcp4.h:74
@ DHO_CLIENT_LAST_TRANSACTION_TIME
Definition dhcp4.h:160
@ DHO_SUBNET_SELECTION
Definition dhcp4.h:182
@ DHO_DATA_SOURCE
Definition dhcp4.h:211
@ DHO_DOMAIN_SEARCH
Definition dhcp4.h:183
@ DHO_START_TIME_OF_STATE
Definition dhcp4.h:207
@ DHO_IRC_SERVER
Definition dhcp4.h:143
@ DHO_NIS_DOMAIN
Definition dhcp4.h:109
@ DHO_DHCP_STATE
Definition dhcp4.h:210
@ DHO_LPR_SERVERS
Definition dhcp4.h:78
@ DHO_DEFAULT_IP_TTL
Definition dhcp4.h:92
@ DHO_NETBIOS_DD_SERVER
Definition dhcp4.h:114
@ DHO_HOME_AGENT_ADDRS
Definition dhcp4.h:137
@ DHO_BCMCS_IPV4_ADDR
Definition dhcp4.h:158
@ DHO_MERIT_DUMP
Definition dhcp4.h:83
@ DHO_V4_LOST
Definition dhcp4.h:193
@ DHO_V4_CAPTIVE_PORTAL
Definition dhcp4.h:178
@ DHO_TCP_KEEPALIVE_GARBAGE
Definition dhcp4.h:108
@ DHO_X_DISPLAY_MANAGER
Definition dhcp4.h:118
@ DHO_IEEE802_3_ENCAPSULATION
Definition dhcp4.h:105
@ DHO_CCC
Definition dhcp4.h:186
@ DHO_USER_AUTH
Definition dhcp4.h:167
@ DHO_STDASERVER
Definition dhcp4.h:145
@ DHO_DHCP_PARAMETER_REQUEST_LIST
Definition dhcp4.h:124
@ DHO_PCODE
Definition dhcp4.h:169
@ DHO_USER_CLASS
Definition dhcp4.h:146
@ DHO_ARP_CACHE_TIMEOUT
Definition dhcp4.h:104
@ DHO_POP3_SERVER
Definition dhcp4.h:139
@ DHO_NWIP_SUBOPTIONS
Definition dhcp4.h:132
@ DHO_CAPWAP_AC_V4
Definition dhcp4.h:194
@ DHO_MAX_DGRAM_REASSEMBLY
Definition dhcp4.h:91
@ DHO_FQDN
Definition dhcp4.h:150
@ DHO_EXTENSIONS_PATH
Definition dhcp4.h:87
@ DHO_MASK_SUPPLIER
Definition dhcp4.h:99
@ DHO_NIS_SERVERS
Definition dhcp4.h:110
@ DHO_FINGER_SERVER
Definition dhcp4.h:142
@ DHO_BROADCAST_ADDRESS
Definition dhcp4.h:97
@ DHO_AUTHENTICATE
Definition dhcp4.h:159
@ DHO_VIVSO_SUBOPTIONS
Definition dhcp4.h:189
@ DHO_STATUS_CODE
Definition dhcp4.h:205
@ DHO_NISP_DOMAIN_NAME
Definition dhcp4.h:133
@ DHO_DHCP_RENEWAL_TIME
Definition dhcp4.h:127
@ DHO_NETBIOS_NAME_SERVERS
Definition dhcp4.h:113
@ DHO_SWAP_SERVER
Definition dhcp4.h:85
@ DHO_PANA_AGENT
Definition dhcp4.h:192
@ DHO_DHCP_LEASE_TIME
Definition dhcp4.h:120
@ DHO_V4_ACCESS_DOMAIN
Definition dhcp4.h:223
@ TSP_USE_TGT
Definition dhcp4.h:296
@ TSP_PRIMARY_SERVER
Definition dhcp4.h:290
@ TSP_PROVISIONING_TIMER
Definition dhcp4.h:297
@ TSP_AS_PARAMETERS
Definition dhcp4.h:293
@ KDC_SERVER
Definition dhcp4.h:299
@ TSP_AP_PARAMETERS
Definition dhcp4.h:294
@ TSP_REALM
Definition dhcp4.h:295
@ TSP_SCT
Definition dhcp4.h:298
@ TSP_SECONDARY_SERVER
Definition dhcp4.h:291
@ RAI_OPTION_OPERATOR_ID
Definition dhcp4.h:281
@ RAI_OPTION_RADIUS
Definition dhcp4.h:271
@ RAI_OPTION_SERVER_ID_OVERRIDE
Definition dhcp4.h:275
@ RAI_OPTION_SUBSCRIBER_ID
Definition dhcp4.h:270
@ RAI_OPTION_VSI
Definition dhcp4.h:273
@ RAI_OPTION_RELAY_ID
Definition dhcp4.h:276
@ RAI_OPTION_AGENT_CIRCUIT_ID
Definition dhcp4.h:265
@ RAI_OPTION_OPERATOR_REALM
Definition dhcp4.h:282
@ RAI_OPTION_ACCESS_NETWORK_NAME
Definition dhcp4.h:278
@ RAI_OPTION_REMOTE_ID
Definition dhcp4.h:266
@ RAI_OPTION_VIRTUAL_SUBNET_SELECT_CTRL
Definition dhcp4.h:285
@ RAI_OPTION_LINK_SELECTION
Definition dhcp4.h:269
@ RAI_OPTION_RELAY_PORT
Definition dhcp4.h:283
@ RAI_OPTION_AUTH
Definition dhcp4.h:272
@ RAI_OPTION_VIRTUAL_SUBNET_SELECT
Definition dhcp4.h:284
@ RAI_OPTION_DOCSIS_DEVICE_CLASS
Definition dhcp4.h:268
@ RAI_OPTION_ACCESS_POINT_BSSID
Definition dhcp4.h:280
@ RAI_OPTION_RELAY_FLAGS
Definition dhcp4.h:274
@ RAI_OPTION_ACCESS_TECHNO_TYPE
Definition dhcp4.h:277
@ RAI_OPTION_ACCESS_POINT_NAME
Definition dhcp4.h:279
Defines the logger used by the top-level component of kea-lfc.
#define V4V6_BIND_OPTION_SPACE
#define DHCP4_OPTION_SPACE
global std option spaces
#define RECORD_DECL(name,...)
Declare an array holding parameters used to create instance of a definition for option comprising a r...
#define ISC_V6_OPTION_SPACE
#define V6_NTP_SERVER_SPACE
#define NO_RECORD_DEF
#define VENDOR_ENCAPSULATED_OPTION_SPACE
#define V4V6_RULE_OPTION_SPACE
#define MAPE_V6_OPTION_SPACE
#define DHCP_AGENT_OPTION_SPACE
encapsulated option spaces
#define RECORD_DEF(name)
A pair of values: one pointing to the array holding types of data fields belonging to the record,...
#define LW_V6_OPTION_SPACE
#define DHCP6_OPTION_SPACE
#define MAPT_V6_OPTION_SPACE
#define CABLELABS_CLIENT_CONF_SPACE