Kea 1.5.0
std_option_defs.h
Go to the documentation of this file.
1// Copyright (C) 2012-2018 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
15// NOTE:
16// When adding a new space, make sure you also update
17// src/lib/yang/adaptor_option.cc
18
19namespace isc {
20namespace dhcp {
21
22namespace {
23
28#ifndef RECORD_DECL
29#define RECORD_DECL(name, ...) const OptionDataType name[] = { __VA_ARGS__ }
30#endif
31
36#ifndef RECORD_DEF
37#define RECORD_DEF(name) name, sizeof(name) / sizeof(name[0])
38#endif
39
40#ifndef NO_RECORD_DEF
41#define NO_RECORD_DEF 0, 0
42#endif
43
44// SLP Directory Agent option.
45RECORD_DECL(DIRECTORY_AGENT_RECORDS, OPT_BOOLEAN_TYPE, OPT_IPV4_ADDRESS_TYPE);
46
47// SLP Service Scope option.
48//
49// The scope list is optional.
50RECORD_DECL(SERVICE_SCOPE_RECORDS, OPT_BOOLEAN_TYPE, OPT_STRING_TYPE);
51
52// fqdn option record fields.
53//
54// Note that the flags field indicates the type of domain
55// name encoding. There is a choice between deprecated
56// ASCII encoding and compressed encoding described in
57// RFC 1035, section 3.1. The latter could be handled
58// by OPT_FQDN_TYPE but we can't use it here because
59// clients may request ASCII encoding.
62
63// V-I Vendor Class record fields.
64//
65// Opaque data is represented here by the binary data field.
67
68// RFC4578 (PXE) record fields
69//
70// Three 1 byte fields to describe a network interface: type, major and minor
72// A client identifier: a 1 byte type field followed by opaque data depending on the type
73RECORD_DECL(UUID_GUID_RECORDS, OPT_UINT8_TYPE, OPT_BINARY_TYPE);
74
75// RFC6731 DHCPv4 Recursive DNS Server Selection option.
76//
77// Flag, two addresses and domain list
78RECORD_DECL(V4_RDNSS_SELECT_RECORDS, OPT_UINT8_TYPE, OPT_IPV4_ADDRESS_TYPE,
80
81// RFC7618 DHCPv4 Port Parameter option.
82//
83// PSID offset, PSID-len and PSID
84RECORD_DECL(V4_PORTPARAMS_RECORDS, OPT_UINT8_TYPE, OPT_PSID_TYPE);
85
86// RFC5969 DHCPv6 6RD option.
87//
88// two 8 bit lengthes, an IPv6 address and one or more IPv4 addresses
91
93const OptionDefParams STANDARD_V4_OPTION_DEFINITIONS[] = {
94 { "subnet-mask", DHO_SUBNET_MASK, OPT_IPV4_ADDRESS_TYPE, false, NO_RECORD_DEF, "" },
95 { "time-offset", DHO_TIME_OFFSET, OPT_INT32_TYPE, false, NO_RECORD_DEF, "" },
96 { "routers", DHO_ROUTERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
97 { "time-servers", DHO_TIME_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
98 { "name-servers", DHO_NAME_SERVERS, OPT_IPV4_ADDRESS_TYPE,
99 true, NO_RECORD_DEF, "" },
100 { "domain-name-servers", DHO_DOMAIN_NAME_SERVERS,
102 { "log-servers", DHO_LOG_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
103 { "cookie-servers", DHO_COOKIE_SERVERS, OPT_IPV4_ADDRESS_TYPE,
104 true, NO_RECORD_DEF, "" },
105 { "lpr-servers", DHO_LPR_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
106 { "impress-servers", DHO_IMPRESS_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
107 { "resource-location-servers", DHO_RESOURCE_LOCATION_SERVERS,
109 { "host-name", DHO_HOST_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
110 { "boot-size", DHO_BOOT_SIZE, OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
111 { "merit-dump", DHO_MERIT_DUMP, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
112 { "domain-name", DHO_DOMAIN_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
113 { "swap-server", DHO_SWAP_SERVER, OPT_IPV4_ADDRESS_TYPE, false, NO_RECORD_DEF, "" },
114 { "root-path", DHO_ROOT_PATH, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
115 { "extensions-path", DHO_EXTENSIONS_PATH, OPT_STRING_TYPE,
116 false, NO_RECORD_DEF, "" },
117 { "ip-forwarding", DHO_IP_FORWARDING, OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
118 { "non-local-source-routing", DHO_NON_LOCAL_SOURCE_ROUTING,
119 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
120 { "policy-filter", DHO_POLICY_FILTER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
121 { "max-dgram-reassembly", DHO_MAX_DGRAM_REASSEMBLY,
122 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
123 { "default-ip-ttl", DHO_DEFAULT_IP_TTL, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
124 { "path-mtu-aging-timeout", DHO_PATH_MTU_AGING_TIMEOUT,
125 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
126 { "path-mtu-plateau-table", DHO_PATH_MTU_PLATEAU_TABLE,
127 OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
128 { "interface-mtu", DHO_INTERFACE_MTU, OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
129 { "all-subnets-local", DHO_ALL_SUBNETS_LOCAL,
130 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
131 { "broadcast-address", DHO_BROADCAST_ADDRESS,
133 { "perform-mask-discovery", DHO_PERFORM_MASK_DISCOVERY,
134 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
135 { "mask-supplier", DHO_MASK_SUPPLIER, OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
136 { "router-discovery", DHO_ROUTER_DISCOVERY,
137 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
138 { "router-solicitation-address", DHO_ROUTER_SOLICITATION_ADDRESS,
140 { "static-routes", DHO_STATIC_ROUTES,
142 { "trailer-encapsulation", DHO_TRAILER_ENCAPSULATION,
143 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
144 { "arp-cache-timeout", DHO_ARP_CACHE_TIMEOUT,
145 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
146 { "ieee802-3-encapsulation", DHO_IEEE802_3_ENCAPSULATION,
147 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
148 { "default-tcp-ttl", DHO_DEFAULT_TCP_TTL, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
149 { "tcp-keepalive-interval", DHO_TCP_KEEPALIVE_INTERVAL,
150 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
151 { "tcp-keepalive-garbage", DHO_TCP_KEEPALIVE_GARBAGE,
152 OPT_BOOLEAN_TYPE, false, NO_RECORD_DEF, "" },
153 { "nis-domain", DHO_NIS_DOMAIN, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
154 { "nis-servers", DHO_NIS_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
155 { "ntp-servers", DHO_NTP_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
157 { "netbios-name-servers", DHO_NETBIOS_NAME_SERVERS,
159 { "netbios-dd-server", DHO_NETBIOS_DD_SERVER,
161 { "netbios-node-type", DHO_NETBIOS_NODE_TYPE,
162 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
163 { "netbios-scope", DHO_NETBIOS_SCOPE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
164 { "font-servers", DHO_FONT_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
165 { "x-display-manager", DHO_X_DISPLAY_MANAGER,
167 { "dhcp-requested-address", DHO_DHCP_REQUESTED_ADDRESS,
169 { "dhcp-lease-time", DHO_DHCP_LEASE_TIME, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
170 { "dhcp-option-overload", DHO_DHCP_OPTION_OVERLOAD,
171 OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
172 { "dhcp-message-type", DHO_DHCP_MESSAGE_TYPE, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
173 { "dhcp-server-identifier", DHO_DHCP_SERVER_IDENTIFIER,
175 { "dhcp-parameter-request-list", DHO_DHCP_PARAMETER_REQUEST_LIST,
176 OPT_UINT8_TYPE, true, NO_RECORD_DEF, "" },
177 { "dhcp-message", DHO_DHCP_MESSAGE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
178 { "dhcp-max-message-size", DHO_DHCP_MAX_MESSAGE_SIZE,
179 OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
180 { "dhcp-renewal-time", DHO_DHCP_RENEWAL_TIME, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
181 { "dhcp-rebinding-time", DHO_DHCP_REBINDING_TIME,
182 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
183 { "vendor-class-identifier", DHO_VENDOR_CLASS_IDENTIFIER,
184 OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
185 { "dhcp-client-identifier", DHO_DHCP_CLIENT_IDENTIFIER,
186 OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
187 { "nwip-domain-name", DHO_NWIP_DOMAIN_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
188 { "nwip-suboptions", DHO_NWIP_SUBOPTIONS, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
189 { "nisplus-domain-name", DHO_NISP_DOMAIN_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
190 { "nisplus-servers", DHO_NISP_SERVER_ADDR, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
191 { "tftp-server-name", DHO_TFTP_SERVER_NAME, OPT_STRING_TYPE, false,
192 NO_RECORD_DEF, "" },
193 { "boot-file-name", DHO_BOOT_FILE_NAME, OPT_STRING_TYPE, false,
194 NO_RECORD_DEF, "" },
195 { "mobile-ip-home-agent", DHO_HOME_AGENT_ADDRS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
196 { "smtp-server", DHO_SMTP_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
197 { "pop-server", DHO_POP3_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
198 { "nntp-server", DHO_NNTP_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
199 { "www-server", DHO_WWW_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
200 { "finger-server", DHO_FINGER_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
201 { "irc-server", DHO_IRC_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
202 { "streettalk-server", DHO_STREETTALK_SERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
203 { "streettalk-directory-assistance-server", DHO_STDASERVER, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
204 { "user-class", DHO_USER_CLASS, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
205 { "slp-directory-agent", DHO_DIRECTORY_AGENT, OPT_RECORD_TYPE, true,
206 RECORD_DEF(DIRECTORY_AGENT_RECORDS), "" },
207 { "slp-service-scope", DHO_SERVICE_SCOPE, OPT_RECORD_TYPE, false,
208 RECORD_DEF(SERVICE_SCOPE_RECORDS), "" },
209 { "fqdn", DHO_FQDN, OPT_RECORD_TYPE, false, RECORD_DEF(FQDN_RECORDS), "" },
210 { "dhcp-agent-options", DHO_DHCP_AGENT_OPTIONS,
211 OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "dhcp-agent-options-space" },
212 { "nds-servers", DHO_NDS_SERVERS, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
213 { "nds-tree-name", DHO_NDS_TREE_NAME, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
214 { "nds-context", DHO_NDS_CONTEXT, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
215 { "bcms-controller-names", DHO_BCMCS_DOMAIN_NAME_LIST, OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
216 { "bcms-controller-address", DHO_BCMCS_IPV4_ADDR, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
217 // Unfortunatelly the AUTHENTICATE option contains a 64-bit
218 // data field called 'replay-detection' that can't be added
219 // as a record field to a custom option. Also, there is no
220 // dedicated option class to handle it so we simply return
221 // binary option type for now.
222 // @todo implement a class to handle AUTH option.
223 { "authenticate", DHO_AUTHENTICATE, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
224 { "client-last-transaction-time", DHO_CLIENT_LAST_TRANSACTION_TIME,
225 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
226 { "associated-ip", DHO_ASSOCIATED_IP, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
227 { "client-system", DHO_SYSTEM, OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
228 { "client-ndi", DHO_NDI, OPT_RECORD_TYPE, false, RECORD_DEF(CLIENT_NDI_RECORDS), "" },
229 { "uuid-guid", DHO_UUID_GUID, OPT_RECORD_TYPE, false, RECORD_DEF(UUID_GUID_RECORDS), "" },
230 { "uap-servers", DHO_USER_AUTH, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
231 { "geoconf-civic", DHO_GEOCONF_CIVIC, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
232 { "pcode", DHO_PCODE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
233 { "tcode", DHO_TCODE, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
234 { "netinfo-server-address", DHO_NETINFO_ADDR, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
235 { "netinfo-server-tag", DHO_NETINFO_TAG, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
236 { "default-url", DHO_URL, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
237 { "auto-config", DHO_AUTO_CONFIG, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
238 { "name-service-search", DHO_NAME_SERVICE_SEARCH, OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
239 { "subnet-selection", DHO_SUBNET_SELECTION,
241 { "domain-search", DHO_DOMAIN_SEARCH, OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
242 { "vivco-suboptions", DHO_VIVCO_SUBOPTIONS, OPT_RECORD_TYPE,
243 false, RECORD_DEF(VIVCO_RECORDS), "" },
244 // Vendor-Identifying Vendor Specific Information option payload begins with a
245 // 32-bit log enterprise number, followed by a tuple of data-len/option-data.
246 // The format defined here includes 32-bit field holding enterprise number.
247 // This allows for specifying option-data information where the enterprise-id
248 // is represented by a uint32_t value. Previously we represented this option
249 // as a binary, but that would imply that enterprise number would have to be
250 // represented in binary format in the server configuration. That would be
251 // inconvenient and non-intuitive.
256 { "vivso-suboptions", DHO_VIVSO_SUBOPTIONS, OPT_UINT32_TYPE,
257 false, NO_RECORD_DEF, "" },
258 { "pana-agent", DHO_PANA_AGENT, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
259 { "v4-lost", DHO_V4_LOST, OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" },
260 { "capwap-ac-v4", DHO_CAPWAP_AC_V4, OPT_IPV4_ADDRESS_TYPE, true, NO_RECORD_DEF, "" },
261 { "sip-ua-cs-domains", DHO_SIP_UA_CONF_SERVICE_DOMAINS, OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
262 { "rdnss-selection", DHO_RDNSS_SELECT, OPT_RECORD_TYPE, true,
263 RECORD_DEF(V4_RDNSS_SELECT_RECORDS), "" },
264 { "v4-portparams", DHO_V4_PORTPARAMS, OPT_RECORD_TYPE, false,
265 RECORD_DEF(V4_PORTPARAMS_RECORDS), "" },
266 { "v4-captive-portal", DHO_V4_CAPTIVE_PORTAL, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
267 { "option-6rd", DHO_6RD, OPT_RECORD_TYPE, true, RECORD_DEF(OPT_6RD_RECORDS), "" },
268 { "v4-access-domain", DHO_V4_ACCESS_DOMAIN, OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" }
269
270 // @todo add definitions for all remaining options.
271};
272
274const int STANDARD_V4_OPTION_DEFINITIONS_SIZE =
275 sizeof(STANDARD_V4_OPTION_DEFINITIONS) / sizeof(STANDARD_V4_OPTION_DEFINITIONS[0]);
276
279const OptionDefParams LAST_RESORT_V4_OPTION_DEFINITIONS[] = {
280 { "vendor-encapsulated-options", DHO_VENDOR_ENCAPSULATED_OPTIONS,
281 OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "vendor-encapsulated-options-space" }
282};
283
284const int LAST_RESORT_V4_OPTION_DEFINITIONS_SIZE = 1;
285
287
288// client-fqdn
289RECORD_DECL(CLIENT_FQDN_RECORDS, OPT_UINT8_TYPE, OPT_FQDN_TYPE);
290// geoconf-civic
291RECORD_DECL(GEOCONF_CIVIC_RECORDS, OPT_UINT8_TYPE, OPT_UINT16_TYPE,
293// iaddr
296// ia-na
298// ia-pd
300// ia-prefix
303// lq-query
305// lq-relay-data
306RECORD_DECL(LQ_RELAY_DATA_RECORDS, OPT_IPV6_ADDRESS_TYPE, OPT_BINARY_TYPE);
307// remote-id
308RECORD_DECL(REMOTE_ID_RECORDS, OPT_UINT32_TYPE, OPT_BINARY_TYPE);
309// s46-rule
312// s46-v4v6bind
314// s46-portparams
316// status-code
317RECORD_DECL(STATUS_CODE_RECORDS, OPT_UINT16_TYPE, OPT_STRING_TYPE);
318// vendor-class
319RECORD_DECL(VENDOR_CLASS_RECORDS, OPT_UINT32_TYPE, OPT_BINARY_TYPE);
320// rdnss-selection
321RECORD_DECL(V6_RDNSS_SELECT_RECORDS, OPT_IPV6_ADDRESS_TYPE, OPT_UINT8_TYPE,
323// sedhcpv6 signature
324RECORD_DECL(SIGNATURE_RECORDS, OPT_UINT8_TYPE, OPT_UINT8_TYPE,
326
327// RFC5970 (PXE) Class record fields
328//
329// Three 1 byte fileds to describe a network interface: type, major and minor
331
342const OptionDefParams STANDARD_V6_OPTION_DEFINITIONS[] = {
343 { "clientid", D6O_CLIENTID, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
344 { "serverid", D6O_SERVERID, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
345 { "ia-na", D6O_IA_NA, OPT_RECORD_TYPE, false, RECORD_DEF(IA_NA_RECORDS), "" },
346 { "ia-ta", D6O_IA_TA, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
347 { "iaaddr", D6O_IAADDR, OPT_RECORD_TYPE, false, RECORD_DEF(IAADDR_RECORDS), "" },
348 { "oro", D6O_ORO, OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
349 { "preference", D6O_PREFERENCE, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
350 { "elapsed-time", D6O_ELAPSED_TIME, OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
351 { "relay-msg", D6O_RELAY_MSG, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
352 // Unfortunately the AUTH option contains a 64-bit data field
353 // called 'replay-detection' that can't be added as a record
354 // field to a custom option. Also, there is no dedicated
355 // option class to handle it so we simply return binary
356 // option type for now.
357 // @todo implement a class to handle AUTH option.
358 { "auth", D6O_AUTH, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
359 { "unicast", D6O_UNICAST, OPT_IPV6_ADDRESS_TYPE, false, NO_RECORD_DEF, "" },
360 { "status-code", D6O_STATUS_CODE, OPT_RECORD_TYPE, false,
361 RECORD_DEF(STATUS_CODE_RECORDS), "" },
362 { "rapid-commit", D6O_RAPID_COMMIT, OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "" },
363 { "user-class", D6O_USER_CLASS, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
364 { "vendor-class", D6O_VENDOR_CLASS, OPT_RECORD_TYPE, false,
365 RECORD_DEF(VENDOR_CLASS_RECORDS), "" },
366 { "vendor-opts", D6O_VENDOR_OPTS, OPT_UINT32_TYPE, false,
367 NO_RECORD_DEF, "vendor-opts-space" },
368 { "interface-id", D6O_INTERFACE_ID, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
369 { "reconf-msg", D6O_RECONF_MSG, OPT_UINT8_TYPE, false, NO_RECORD_DEF, "" },
370 { "reconf-accept", D6O_RECONF_ACCEPT, OPT_EMPTY_TYPE, false,
371 NO_RECORD_DEF, "" },
372 { "sip-server-dns", D6O_SIP_SERVERS_DNS, OPT_FQDN_TYPE, true,
373 NO_RECORD_DEF, "" },
374 { "sip-server-addr", D6O_SIP_SERVERS_ADDR, OPT_IPV6_ADDRESS_TYPE, true,
375 NO_RECORD_DEF, "" },
376 { "dns-servers", D6O_NAME_SERVERS, OPT_IPV6_ADDRESS_TYPE, true,
377 NO_RECORD_DEF, "" },
378 { "domain-search", D6O_DOMAIN_SEARCH, OPT_FQDN_TYPE, true, NO_RECORD_DEF, "" },
379 { "ia-pd", D6O_IA_PD, OPT_RECORD_TYPE, false, RECORD_DEF(IA_PD_RECORDS), "" },
380 { "iaprefix", D6O_IAPREFIX, OPT_RECORD_TYPE, false,
381 RECORD_DEF(IA_PREFIX_RECORDS), "" },
382 { "nis-servers", D6O_NIS_SERVERS, OPT_IPV6_ADDRESS_TYPE, true,
383 NO_RECORD_DEF, "" },
384 { "nisp-servers", D6O_NISP_SERVERS, OPT_IPV6_ADDRESS_TYPE, true,
385 NO_RECORD_DEF, "" },
386 { "nis-domain-name", D6O_NIS_DOMAIN_NAME, OPT_FQDN_TYPE, true,
387 NO_RECORD_DEF, "" },
388 { "nisp-domain-name", D6O_NISP_DOMAIN_NAME, OPT_FQDN_TYPE, true,
389 NO_RECORD_DEF, "" },
390 { "sntp-servers", D6O_SNTP_SERVERS, OPT_IPV6_ADDRESS_TYPE, true,
391 NO_RECORD_DEF, "" },
392 { "information-refresh-time", D6O_INFORMATION_REFRESH_TIME,
393 OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
394 { "bcmcs-server-dns", D6O_BCMCS_SERVER_D, OPT_FQDN_TYPE, true,
395 NO_RECORD_DEF, "" },
396 { "bcmcs-server-addr", D6O_BCMCS_SERVER_A, OPT_IPV6_ADDRESS_TYPE, true,
397 NO_RECORD_DEF, "" },
398 { "geoconf-civic", D6O_GEOCONF_CIVIC, OPT_RECORD_TYPE, false,
399 RECORD_DEF(GEOCONF_CIVIC_RECORDS), "" },
400 { "remote-id", D6O_REMOTE_ID, OPT_RECORD_TYPE, false,
401 RECORD_DEF(REMOTE_ID_RECORDS), "" },
402 { "subscriber-id", D6O_SUBSCRIBER_ID, OPT_BINARY_TYPE, false,
403 NO_RECORD_DEF, "" },
404 { "client-fqdn", D6O_CLIENT_FQDN, OPT_RECORD_TYPE, false,
405 RECORD_DEF(CLIENT_FQDN_RECORDS), "" },
406 { "pana-agent", D6O_PANA_AGENT, OPT_IPV6_ADDRESS_TYPE, true,
407 NO_RECORD_DEF, "" },
408 { "new-posix-timezone", D6O_NEW_POSIX_TIMEZONE, OPT_STRING_TYPE, false,
409 NO_RECORD_DEF, "" },
410 { "new-tzdb-timezone", D6O_NEW_TZDB_TIMEZONE, OPT_STRING_TYPE, false,
411 NO_RECORD_DEF, "" },
412 { "ero", D6O_ERO, OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
413 { "lq-query", D6O_LQ_QUERY, OPT_RECORD_TYPE, false,
414 RECORD_DEF(LQ_QUERY_RECORDS), "" },
415 { "client-data", D6O_CLIENT_DATA, OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "" },
416 { "clt-time", D6O_CLT_TIME, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
417 { "lq-relay-data", D6O_LQ_RELAY_DATA, OPT_RECORD_TYPE, false,
418 RECORD_DEF(LQ_RELAY_DATA_RECORDS), "" },
419 { "lq-client-link", D6O_LQ_CLIENT_LINK, OPT_IPV6_ADDRESS_TYPE, true,
420 NO_RECORD_DEF, "" },
421 { "v6-lost", D6O_V6_LOST, OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" },
422 { "capwap-ac-v6", D6O_CAPWAP_AC_V6, OPT_IPV6_ADDRESS_TYPE, true,
423 NO_RECORD_DEF, "" },
424 { "relay-id", D6O_RELAY_ID, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
425 { "v6-access-domain", D6O_V6_ACCESS_DOMAIN, OPT_FQDN_TYPE, false,
426 NO_RECORD_DEF, "" },
427 { "sip-ua-cs-list", D6O_SIP_UA_CS_LIST, OPT_FQDN_TYPE, true,
428 NO_RECORD_DEF, "" },
429 { "bootfile-url", D6O_BOOTFILE_URL, OPT_STRING_TYPE, false, NO_RECORD_DEF, "" },
430 { "bootfile-param", D6O_BOOTFILE_PARAM, OPT_TUPLE_TYPE, true, NO_RECORD_DEF, "" },
431 { "client-arch-type", D6O_CLIENT_ARCH_TYPE, OPT_UINT16_TYPE, true, NO_RECORD_DEF, "" },
432 { "nii", D6O_NII, OPT_RECORD_TYPE, false, RECORD_DEF(CLIENT_NII_RECORDS), "" },
433 { "aftr-name", D6O_AFTR_NAME, OPT_FQDN_TYPE, false, NO_RECORD_DEF, "" },
434 { "erp-local-domain-name", D6O_ERP_LOCAL_DOMAIN_NAME, OPT_FQDN_TYPE, false,
435 NO_RECORD_DEF, "" },
436 { "rsoo", D6O_RSOO, OPT_EMPTY_TYPE, false, NO_RECORD_DEF, "rsoo-opts" },
437 { "pd-exclude", D6O_PD_EXCLUDE, OPT_IPV6_PREFIX_TYPE, false, NO_RECORD_DEF, "" },
438 { "rdnss-selection", D6O_RDNSS_SELECTION, OPT_RECORD_TYPE, true,
439 RECORD_DEF(V6_RDNSS_SELECT_RECORDS), "" },
440 { "client-linklayer-addr", D6O_CLIENT_LINKLAYER_ADDR, OPT_BINARY_TYPE, false,
441 NO_RECORD_DEF, "" },
442 { "link-address", D6O_LINK_ADDRESS, OPT_IPV6_ADDRESS_TYPE, false,
443 NO_RECORD_DEF, "" },
444 { "solmax-rt", D6O_SOL_MAX_RT, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
445 { "inf-max-rt", D6O_INF_MAX_RT, OPT_UINT32_TYPE, false, NO_RECORD_DEF, "" },
446 { "dhcpv4-message", D6O_DHCPV4_MSG, OPT_BINARY_TYPE, false, NO_RECORD_DEF, "" },
447 { "dhcp4o6-server-addr", D6O_DHCPV4_O_DHCPV6_SERVER, OPT_IPV6_ADDRESS_TYPE, true,
448 NO_RECORD_DEF, "" },
449 { "v6-captive-portal", D6O_V6_CAPTIVE_PORTAL, OPT_STRING_TYPE, false,
450 NO_RECORD_DEF, "" },
451 { "relay-source-port", D6O_RELAY_SOURCE_PORT, OPT_UINT16_TYPE, false, NO_RECORD_DEF, "" },
452 { "ipv6-address-andsf", D6O_IPV6_ADDRESS_ANDSF, OPT_IPV6_ADDRESS_TYPE, true,
453 NO_RECORD_DEF, "" },
454 { "public-key", D6O_PUBLIC_KEY, OPT_BINARY_TYPE, false,
455 NO_RECORD_DEF, "" },
456 { "certificate", D6O_CERTIFICATE, OPT_BINARY_TYPE, false,
457 NO_RECORD_DEF, "" },
458 { "signature", D6O_SIGNATURE, OPT_RECORD_TYPE, false,
459 RECORD_DEF(SIGNATURE_RECORDS), "" },
460 { "timestamp", D6O_TIMESTAMP, OPT_BINARY_TYPE, false,
461 NO_RECORD_DEF, "" },
462 { "s46-cont-mape", D6O_S46_CONT_MAPE, OPT_EMPTY_TYPE, false, NO_RECORD_DEF,
464 { "s46-cont-mapt", D6O_S46_CONT_MAPT, OPT_EMPTY_TYPE, false, NO_RECORD_DEF,
466 { "s46-cont-lw", D6O_S46_CONT_LW, OPT_EMPTY_TYPE, false, NO_RECORD_DEF,
468
469 // @todo There is still a bunch of options for which we have to provide
470 // definitions but we don't do it because they are not really
471 // critical right now.
472};
473
475const int STANDARD_V6_OPTION_DEFINITIONS_SIZE =
476 sizeof(STANDARD_V6_OPTION_DEFINITIONS) /
477 sizeof(STANDARD_V6_OPTION_DEFINITIONS[0]);
478
479// Option definitions that belong to two or more option spaces are defined here.
480const OptionDefParams OPTION_DEF_PARAMS_S46_BR = { "s46-br", D6O_S46_BR,
482const OptionDefParams OPTION_DEF_PARAMS_S46_RULE = { "s46-rule", D6O_S46_RULE,
484const OptionDefParams OPTION_DEF_PARAMS_S46_PORTPARAMS = { "s46-portparams",
485 D6O_S46_PORTPARAMS, OPT_RECORD_TYPE, false, RECORD_DEF(S46_PORTPARAMS), "" };
486
493const OptionDefParams ISC_V6_OPTION_DEFINITIONS[] = {
494 { "4o6-interface", ISC_V6_4O6_INTERFACE, OPT_STRING_TYPE, false,
495 NO_RECORD_DEF, "" },
496 { "4o6-source-address", ISC_V6_4O6_SRC_ADDRESS, OPT_IPV6_ADDRESS_TYPE,
497 false, NO_RECORD_DEF, "" },
498 { "4o6-source-port", ISC_V6_4O6_SRC_PORT, OPT_UINT16_TYPE, false,
499 NO_RECORD_DEF, "" }
500};
501
502const int ISC_V6_OPTION_DEFINITIONS_SIZE =
503 sizeof(ISC_V6_OPTION_DEFINITIONS) /
504 sizeof(ISC_V6_OPTION_DEFINITIONS[0]);
505
507const OptionDefParams MAPE_V6_OPTION_DEFINITIONS[] = {
508 OPTION_DEF_PARAMS_S46_BR,
509 OPTION_DEF_PARAMS_S46_RULE
510};
511
512const int MAPE_V6_OPTION_DEFINITIONS_SIZE =
513 sizeof(MAPE_V6_OPTION_DEFINITIONS) /
514 sizeof(MAPE_V6_OPTION_DEFINITIONS[0]);
515
517const OptionDefParams MAPT_V6_OPTION_DEFINITIONS[] = {
518 OPTION_DEF_PARAMS_S46_RULE,
519 { "s46-dmr", D6O_S46_DMR, OPT_IPV6_PREFIX_TYPE, false, NO_RECORD_DEF, "" }
520};
521
522const int MAPT_V6_OPTION_DEFINITIONS_SIZE =
523 sizeof(MAPT_V6_OPTION_DEFINITIONS) /
524 sizeof(MAPT_V6_OPTION_DEFINITIONS[0]);
525
527const OptionDefParams LW_V6_OPTION_DEFINITIONS[] = {
528 OPTION_DEF_PARAMS_S46_BR,
529 { "s46-v4v6bind", D6O_S46_V4V6BIND, OPT_RECORD_TYPE, false,
530 RECORD_DEF(S46_V4V6BIND), V4V6_BIND_OPTION_SPACE }
531};
532
533const int LW_V6_OPTION_DEFINITIONS_SIZE =
534 sizeof(LW_V6_OPTION_DEFINITIONS) /
535 sizeof(LW_V6_OPTION_DEFINITIONS[0]);
536
538const OptionDefParams V4V6_RULE_OPTION_DEFINITIONS[] = {
539 OPTION_DEF_PARAMS_S46_PORTPARAMS
540};
541
542const int V4V6_RULE_OPTION_DEFINITIONS_SIZE =
543 sizeof(V4V6_RULE_OPTION_DEFINITIONS) /
544 sizeof(V4V6_RULE_OPTION_DEFINITIONS[0]);
545
547const OptionDefParams V4V6_BIND_OPTION_DEFINITIONS[] = {
548 OPTION_DEF_PARAMS_S46_PORTPARAMS
549};
550
551const int V4V6_BIND_OPTION_DEFINITIONS_SIZE =
552 sizeof(V4V6_BIND_OPTION_DEFINITIONS) /
553 sizeof(V4V6_BIND_OPTION_DEFINITIONS[0]);
554
555} // unnamed namespace
556
557} // namespace dhcp
558} // namespace isc
559
560#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:157
@ 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_SIGNATURE
Definition: dhcp6.h:165
@ D6O_BCMCS_SERVER_D
Definition: dhcp6.h:53
@ D6O_PUBLIC_KEY
Definition: dhcp6.h:163
@ 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_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_TIMESTAMP
Definition: dhcp6.h:166
@ 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_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_CERTIFICATE
Definition: dhcp6.h:164
@ 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_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:214
@ DHO_ROUTERS
Definition: dhcp4.h:72
@ DHO_NWIP_DOMAIN_NAME
Definition: dhcp4.h:131
@ DHO_NAME_SERVICE_SEARCH
Definition: dhcp4.h:177
@ 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:209
@ 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:172
@ DHO_DHCP_REBINDING_TIME
Definition: dhcp4.h:128
@ DHO_DHCP_MESSAGE_TYPE
Definition: dhcp4.h:122
@ DHO_INTERFACE_MTU
Definition: dhcp4.h:95
@ DHO_UUID_GUID
Definition: dhcp4.h:166
@ DHO_DHCP_SERVER_IDENTIFIER
Definition: dhcp4.h:123
@ DHO_SIP_UA_CONF_SERVICE_DOMAINS
Definition: dhcp4.h:193
@ 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:184
@ DHO_AUTO_CONFIG
Definition: dhcp4.h:176
@ DHO_ROUTER_SOLICITATION_ADDRESS
Definition: dhcp4.h:101
@ DHO_PATH_MTU_AGING_TIMEOUT
Definition: dhcp4.h:93
@ DHO_NDI
Definition: dhcp4.h:163
@ DHO_RDNSS_SELECT
Definition: dhcp4.h:198
@ 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:173
@ DHO_NDS_TREE_NAME
Definition: dhcp4.h:155
@ 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:178
@ DHO_DOMAIN_SEARCH
Definition: dhcp4.h:179
@ DHO_IRC_SERVER
Definition: dhcp4.h:143
@ DHO_NIS_DOMAIN
Definition: dhcp4.h:109
@ 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_URL
Definition: dhcp4.h:174
@ DHO_BCMCS_IPV4_ADDR
Definition: dhcp4.h:158
@ DHO_MERIT_DUMP
Definition: dhcp4.h:83
@ DHO_V4_LOST
Definition: dhcp4.h:189
@ DHO_V4_CAPTIVE_PORTAL
Definition: dhcp4.h:210
@ 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_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:190
@ 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:185
@ 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:188
@ DHO_DHCP_LEASE_TIME
Definition: dhcp4.h:120
@ DHO_V4_ACCESS_DOMAIN
Definition: dhcp4.h:215
Defines the logger used by the top-level component of kea-dhcp-ddns.
#define V4V6_BIND_OPTION_SPACE
Definition: option_space.h:22
#define V4V6_RULE_OPTION_SPACE
Definition: option_space.h:21
#define MAPE_V6_OPTION_SPACE
Definition: option_space.h:18
#define LW_V6_OPTION_SPACE
Definition: option_space.h:20
#define MAPT_V6_OPTION_SPACE
Definition: option_space.h:19
#define RECORD_DECL(name,...)
Declare an array holding parameters used to create instance of a definition for option comprising a r...
#define NO_RECORD_DEF
#define RECORD_DEF(name)
A pair of values: one pointing to the array holding types of data fields belonging to the record,...