1 |
dpavlin |
25 |
# Net::DHCP::Constants.pm |
2 |
|
|
# Author: Stephan Hadinger |
3 |
|
|
|
4 |
|
|
package Net::DHCP::Constants; |
5 |
|
|
|
6 |
|
|
# standard module declaration |
7 |
|
|
use 5.8.0; |
8 |
|
|
use strict; |
9 |
|
|
our (@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION); |
10 |
|
|
use Exporter; |
11 |
dpavlin |
27 |
$VERSION = 0.67; |
12 |
dpavlin |
25 |
@ISA = qw(Exporter); |
13 |
|
|
|
14 |
|
|
@EXPORT = qw(MAGIC_COOKIE); |
15 |
|
|
|
16 |
|
|
# Constants |
17 |
|
|
our (%DHO_CODES, %REV_DHO_CODES); |
18 |
|
|
our (%DHCP_MESSAGE, %REV_DHCP_MESSAGE); |
19 |
|
|
our (%BOOTP_CODES, %REV_BOOTP_CODES); |
20 |
|
|
our (%HTYPE_CODES, %REV_HTYPE_CODES); |
21 |
|
|
|
22 |
|
|
%EXPORT_TAGS = ( |
23 |
|
|
dho_codes => [keys %DHO_CODES], |
24 |
|
|
dhcp_message => [keys %DHCP_MESSAGE], |
25 |
|
|
bootp_codes => [keys %BOOTP_CODES], |
26 |
|
|
htype_codes => [keys %HTYPE_CODES], |
27 |
|
|
dhcp_hashes => [ qw( |
28 |
|
|
%DHO_CODES %REV_DHO_CODES %DHCP_MESSAGE %REV_DHCP_MESSAGE |
29 |
|
|
%BOOTP_CODES %REV_BOOTP_CODES |
30 |
|
|
%HTYPE_CODES %REV_HTYPE_CODES |
31 |
|
|
)], |
32 |
|
|
dhcp_other => [ qw(MAGIC_COOKIE DHCP_UDP_OVERHEAD DHCP_MAX_MTU BOOTP_MIN_LEN BOOTP_ABSOLUTE_MIN_LEN DHCP_MIN_LEN)] |
33 |
|
|
); |
34 |
|
|
|
35 |
|
|
@EXPORT_OK = qw( |
36 |
|
|
%DHO_CODES %REV_DHO_CODES %DHCP_MESSAGE %REV_DHCP_MESSAGE |
37 |
|
|
%BOOTP_CODES %REV_BOOTP_CODES |
38 |
|
|
%HTYPE_CODES %REV_HTYPE_CODES |
39 |
|
|
%DHO_FORMATS |
40 |
|
|
); |
41 |
|
|
Exporter::export_tags('dho_codes'); |
42 |
|
|
Exporter::export_tags('dhcp_message'); |
43 |
|
|
Exporter::export_tags('bootp_codes'); |
44 |
|
|
Exporter::export_tags('htype_codes'); |
45 |
|
|
Exporter::export_ok_tags('dhcp_other'); |
46 |
|
|
|
47 |
|
|
# MAGIC_COOKIE for DHCP (oterhwise it is BOOTP) |
48 |
|
|
use constant MAGIC_COOKIE => "\x63\x82\x53\x63"; |
49 |
|
|
|
50 |
|
|
use constant DHCP_UDP_OVERHEAD => (14 + 20 + 8); # Ethernet + IP + UDP |
51 |
|
|
use constant DHCP_MAX_MTU => 1500; |
52 |
|
|
use constant BOOTP_ABSOLUTE_MIN_LEN => 236; |
53 |
dpavlin |
27 |
use constant BOOTP_MIN_LEN => 271; # dpavlin - Linux bootp is smaller than 300 |
54 |
dpavlin |
25 |
use constant DHCP_MIN_LEN => 548; |
55 |
|
|
|
56 |
|
|
BEGIN { |
57 |
|
|
%BOOTP_CODES = ( |
58 |
|
|
'BOOTREQUEST' => 1, |
59 |
|
|
'BOOTREPLY' => 2 |
60 |
|
|
); |
61 |
|
|
|
62 |
|
|
%HTYPE_CODES = ( |
63 |
|
|
'HTYPE_ETHER' => 1, |
64 |
|
|
'HTYPE_IEEE802' => 6, |
65 |
|
|
'HTYPE_FDDI' => 8 |
66 |
|
|
); |
67 |
|
|
|
68 |
|
|
%DHO_CODES = ( # rfc 2132 |
69 |
|
|
'DHO_PAD' => 0, |
70 |
|
|
'DHO_SUBNET_MASK' => 1, |
71 |
|
|
'DHO_TIME_OFFSET' => 2, |
72 |
|
|
'DHO_ROUTERS' => 3, |
73 |
|
|
'DHO_TIME_SERVERS' => 4, |
74 |
|
|
'DHO_NAME_SERVERS' => 5, |
75 |
|
|
'DHO_DOMAIN_NAME_SERVERS' => 6, |
76 |
|
|
'DHO_LOG_SERVERS' => 7, |
77 |
|
|
'DHO_COOKIE_SERVERS' => 8, |
78 |
|
|
'DHO_LPR_SERVERS' => 9, |
79 |
|
|
'DHO_IMPRESS_SERVERS' => 10, |
80 |
|
|
'DHO_RESOURCE_LOCATION_SERVERS' => 11, |
81 |
|
|
'DHO_HOST_NAME' => 12, |
82 |
|
|
'DHO_BOOT_SIZE' => 13, |
83 |
|
|
'DHO_MERIT_DUMP' => 14, |
84 |
|
|
'DHO_DOMAIN_NAME' => 15, |
85 |
|
|
'DHO_SWAP_SERVER' => 16, |
86 |
|
|
'DHO_ROOT_PATH' => 17, |
87 |
|
|
'DHO_EXTENSIONS_PATH' => 18, |
88 |
|
|
'DHO_IP_FORWARDING' => 19, |
89 |
|
|
'DHO_NON_LOCAL_SOURCE_ROUTING' => 20, |
90 |
|
|
'DHO_POLICY_FILTER' => 21, |
91 |
|
|
'DHO_MAX_DGRAM_REASSEMBLY' => 22, |
92 |
|
|
'DHO_DEFAULT_IP_TTL' => 23, |
93 |
|
|
'DHO_PATH_MTU_AGING_TIMEOUT' => 24, |
94 |
|
|
'DHO_PATH_MTU_PLATEAU_TABLE' => 25, |
95 |
|
|
'DHO_INTERFACE_MTU' => 26, |
96 |
|
|
'DHO_ALL_SUBNETS_LOCAL' => 27, |
97 |
|
|
'DHO_BROADCAST_ADDRESS' => 28, |
98 |
|
|
'DHO_PERFORM_MASK_DISCOVERY' => 29, |
99 |
|
|
'DHO_MASK_SUPPLIER' => 30, |
100 |
|
|
'DHO_ROUTER_DISCOVERY' => 31, |
101 |
|
|
'DHO_ROUTER_SOLICITATION_ADDRESS' => 32, |
102 |
|
|
'DHO_STATIC_ROUTES' => 33, |
103 |
|
|
'DHO_TRAILER_ENCAPSULATION' => 34, |
104 |
|
|
'DHO_ARP_CACHE_TIMEOUT' => 35, |
105 |
|
|
'DHO_IEEE802_3_ENCAPSULATION' => 36, |
106 |
|
|
'DHO_DEFAULT_TCP_TTL' => 37, |
107 |
|
|
'DHO_TCP_KEEPALIVE_INTERVAL' => 38, |
108 |
|
|
'DHO_TCP_KEEPALIVE_GARBAGE' => 39, |
109 |
|
|
'DHO_NIS_DOMAIN' => 40, |
110 |
|
|
'DHO_NIS_SERVERS' => 41, |
111 |
|
|
'DHO_NTP_SERVERS' => 42, |
112 |
|
|
'DHO_VENDOR_ENCAPSULATED_OPTIONS' => 43, |
113 |
|
|
'DHO_NETBIOS_NAME_SERVERS' => 44, |
114 |
|
|
'DHO_NETBIOS_DD_SERVER' => 45, |
115 |
|
|
'DHO_NETBIOS_NODE_TYPE' => 46, |
116 |
|
|
'DHO_NETBIOS_SCOPE' => 47, |
117 |
|
|
'DHO_FONT_SERVERS' => 48, |
118 |
|
|
'DHO_X_DISPLAY_MANAGER' => 49, |
119 |
|
|
'DHO_DHCP_REQUESTED_ADDRESS' => 50, |
120 |
|
|
'DHO_DHCP_LEASE_TIME' => 51, |
121 |
|
|
'DHO_DHCP_OPTION_OVERLOAD' => 52, |
122 |
|
|
'DHO_DHCP_MESSAGE_TYPE' => 53, |
123 |
|
|
'DHO_DHCP_SERVER_IDENTIFIER' => 54, |
124 |
|
|
'DHO_DHCP_PARAMETER_REQUEST_LIST' => 55, |
125 |
|
|
'DHO_DHCP_MESSAGE' => 56, |
126 |
|
|
'DHO_DHCP_MAX_MESSAGE_SIZE' => 57, |
127 |
|
|
'DHO_DHCP_RENEWAL_TIME' => 58, |
128 |
|
|
'DHO_DHCP_REBINDING_TIME' => 59, |
129 |
|
|
'DHO_VENDOR_CLASS_IDENTIFIER' => 60, |
130 |
|
|
'DHO_DHCP_CLIENT_IDENTIFIER' => 61, |
131 |
|
|
'DHO_NWIP_DOMAIN_NAME' => 62, |
132 |
|
|
'DHO_NWIP_SUBOPTIONS' => 63, |
133 |
|
|
'DHO_NIS_DOMAIN' => 64, |
134 |
|
|
'DHO_NIS_SERVER' => 65, |
135 |
|
|
'DHO_TFTP_SERVER' => 66, |
136 |
|
|
'DHO_BOOTFILE' => 67, |
137 |
|
|
'DHO_MOBILE_IP_HOME_AGENT' => 68, |
138 |
|
|
'DHO_SMTP_SERVER' => 69, |
139 |
|
|
'DHO_POP3_SERVER' => 70, |
140 |
|
|
'DHO_NNTP_SERVER' => 71, |
141 |
|
|
'DHO_WWW_SERVER' => 72, |
142 |
|
|
'DHO_FINGER_SERVER' => 73, |
143 |
|
|
'DHO_IRC_SERVER' => 74, |
144 |
|
|
'DHO_STREETTALK_SERVER' => 75, |
145 |
|
|
'DHO_STDA_SERVER' => 76, |
146 |
|
|
'DHO_USER_CLASS' => 77, |
147 |
|
|
'DHO_FQDN' => 81, |
148 |
|
|
'DHO_DHCP_AGENT_OPTIONS' => 82, |
149 |
|
|
'DHO_NDS_SERVERS' => 85, |
150 |
|
|
'DHO_NDS_TREE_NAME' => 86, |
151 |
|
|
'DHO_USER_AUTHENTICATION_PROTOCOL' => 98, |
152 |
|
|
'DHO_AUTO_CONFIGURE' => 116, |
153 |
|
|
'DHO_NAME_SERVICE_SEARCH' => 117, |
154 |
|
|
'DHO_SUBNET_SELECTION' => 118, |
155 |
dpavlin |
114 |
|
156 |
dpavlin |
568 |
'HDO_121' => 121, |
157 |
|
|
|
158 |
dpavlin |
114 |
# http://tools.ietf.org/html/draft-ietf-dhc-pxelinux-03 |
159 |
|
|
'DHO_PXELINUX_MAGIC' => 208, # 0xF100747E |
160 |
|
|
'DHO_PXELINUX_CONFIG_FILE' => 209, |
161 |
|
|
'DHO_PXELINUX_PATH_PREFIX' => 210, |
162 |
|
|
'DHO_PXELINUX_REBOOT_TIME' => 211, # default: 300 s |
163 |
|
|
|
164 |
dpavlin |
25 |
'DHO_END' => 255 |
165 |
|
|
); |
166 |
|
|
|
167 |
|
|
%DHCP_MESSAGE = ( |
168 |
|
|
'DHCPDISCOVER' => 1, |
169 |
|
|
'DHCPOFFER' => 2, |
170 |
|
|
'DHCPREQUEST' => 3, |
171 |
|
|
'DHCPDECLINE' => 4, |
172 |
|
|
'DHCPACK' => 5, |
173 |
|
|
'DHCPNAK' => 6, |
174 |
|
|
'DHCPRELEASE' => 7, |
175 |
|
|
'DHCPINFORM' => 8, |
176 |
|
|
'DHCPFORCERENEW' => 9, |
177 |
|
|
|
178 |
|
|
'DHCPLEASEQUERY' => 13, # Cisco extension, draft-ietf-dhc-leasequery-08.txt |
179 |
|
|
); |
180 |
|
|
} |
181 |
|
|
|
182 |
|
|
use constant \%DHO_CODES; |
183 |
|
|
%REV_DHO_CODES = reverse %DHO_CODES; |
184 |
|
|
|
185 |
|
|
use constant \%DHCP_MESSAGE; |
186 |
|
|
%REV_DHCP_MESSAGE = reverse %DHCP_MESSAGE; |
187 |
|
|
|
188 |
|
|
use constant \%BOOTP_CODES; |
189 |
|
|
%REV_BOOTP_CODES = reverse %BOOTP_CODES; # for reverse lookup |
190 |
|
|
|
191 |
|
|
use constant \%HTYPE_CODES; |
192 |
|
|
%REV_HTYPE_CODES = reverse %HTYPE_CODES; # for reverse lookup |
193 |
|
|
|
194 |
|
|
# |
195 |
|
|
# Format of DHCP options : for pretty-printing |
196 |
|
|
# void : no parameter |
197 |
|
|
# inet : 4 bytes IP address |
198 |
|
|
# inets : list of 4 bytess IP addresses |
199 |
|
|
# inets2 : liste of 4 bytes IP addresses pairs (multiple of 8 bytes) |
200 |
|
|
# int : 4 bytes integer |
201 |
|
|
# short : 2 bytes intteger |
202 |
|
|
# shorts : list of 2 bytes integers |
203 |
|
|
# byte : 1 byte int |
204 |
|
|
# bytes : list of 1 byte code |
205 |
|
|
# string : char* (just kidding) |
206 |
|
|
# relays : DHCP sub-options (rfc 3046) |
207 |
|
|
# id : client identifier : byte (htype) + string (chaddr) |
208 |
|
|
# |
209 |
|
|
our %DHO_FORMATS = ( |
210 |
|
|
DHO_PAD() => 'void', |
211 |
|
|
DHO_SUBNET_MASK() => 'inet', |
212 |
|
|
DHO_TIME_OFFSET() => 'int', |
213 |
|
|
DHO_ROUTERS() => 'inets', |
214 |
|
|
DHO_TIME_SERVERS() => 'inets', |
215 |
|
|
DHO_NAME_SERVERS() => 'inets', |
216 |
|
|
DHO_DOMAIN_NAME_SERVERS() => 'inets', |
217 |
|
|
DHO_LOG_SERVERS() => 'inets', |
218 |
|
|
DHO_COOKIE_SERVERS() => 'inets', |
219 |
|
|
DHO_LPR_SERVERS() => 'inets', |
220 |
|
|
DHO_IMPRESS_SERVERS() => 'inets', |
221 |
|
|
DHO_RESOURCE_LOCATION_SERVERS() => 'inets', |
222 |
|
|
DHO_HOST_NAME() => 'string', |
223 |
|
|
DHO_BOOT_SIZE() => 'short', |
224 |
|
|
DHO_MERIT_DUMP() => 'string', |
225 |
|
|
DHO_DOMAIN_NAME() => 'string', |
226 |
|
|
DHO_SWAP_SERVER() => 'inet', |
227 |
|
|
DHO_ROOT_PATH() => 'string', |
228 |
|
|
DHO_EXTENSIONS_PATH() => 'string', |
229 |
|
|
DHO_IP_FORWARDING() => 'byte', |
230 |
|
|
DHO_NON_LOCAL_SOURCE_ROUTING() => 'byte', |
231 |
|
|
DHO_POLICY_FILTER() => 'inets2', |
232 |
|
|
DHO_MAX_DGRAM_REASSEMBLY() => 'short', |
233 |
|
|
DHO_DEFAULT_IP_TTL() => 'byte', |
234 |
|
|
DHO_PATH_MTU_AGING_TIMEOUT() => 'int', |
235 |
|
|
DHO_PATH_MTU_PLATEAU_TABLE() => 'shorts', |
236 |
|
|
DHO_INTERFACE_MTU() => 'short', |
237 |
|
|
DHO_ALL_SUBNETS_LOCAL() => 'byte', |
238 |
|
|
DHO_BROADCAST_ADDRESS() => 'inet', |
239 |
|
|
DHO_PERFORM_MASK_DISCOVERY() => 'byte', |
240 |
|
|
DHO_MASK_SUPPLIER() => 'byte', |
241 |
|
|
DHO_ROUTER_DISCOVERY() => 'byte', |
242 |
|
|
DHO_ROUTER_SOLICITATION_ADDRESS() => 'inet', |
243 |
|
|
DHO_STATIC_ROUTES() => 'inets2', |
244 |
|
|
DHO_TRAILER_ENCAPSULATION() => 'byte', |
245 |
|
|
DHO_ARP_CACHE_TIMEOUT() => 'int', |
246 |
|
|
DHO_IEEE802_3_ENCAPSULATION() => 'byte', |
247 |
|
|
DHO_DEFAULT_TCP_TTL() => 'byte', |
248 |
|
|
DHO_TCP_KEEPALIVE_INTERVAL() => 'int', |
249 |
|
|
DHO_TCP_KEEPALIVE_GARBAGE() => 'byte', |
250 |
|
|
DHO_NIS_DOMAIN() => 'string', |
251 |
|
|
DHO_NIS_SERVERS() => 'inets', |
252 |
|
|
DHO_NTP_SERVERS() => 'inets', |
253 |
|
|
# DHO_VENDOR_ENCAPSULATED_OPTIONS() => '', |
254 |
|
|
DHO_NETBIOS_NAME_SERVERS() => 'inets', |
255 |
|
|
DHO_NETBIOS_DD_SERVER() => 'inets', |
256 |
|
|
DHO_NETBIOS_NODE_TYPE() => 'byte', |
257 |
|
|
DHO_NETBIOS_SCOPE() => 'string', |
258 |
|
|
DHO_FONT_SERVERS() => 'inets', |
259 |
|
|
DHO_X_DISPLAY_MANAGER() => 'inets', |
260 |
|
|
DHO_DHCP_REQUESTED_ADDRESS() => 'inet', |
261 |
|
|
DHO_DHCP_LEASE_TIME() => 'int', |
262 |
|
|
DHO_DHCP_OPTION_OVERLOAD() => 'byte', |
263 |
|
|
DHO_DHCP_MESSAGE_TYPE() => 'byte', |
264 |
|
|
DHO_DHCP_SERVER_IDENTIFIER() => 'inet', |
265 |
|
|
DHO_DHCP_PARAMETER_REQUEST_LIST() => 'bytes', |
266 |
|
|
DHO_DHCP_MESSAGE() => 'string', |
267 |
|
|
DHO_DHCP_MAX_MESSAGE_SIZE() => 'short', |
268 |
|
|
DHO_DHCP_RENEWAL_TIME() => 'int', |
269 |
|
|
DHO_DHCP_REBINDING_TIME() => 'int', |
270 |
|
|
DHO_VENDOR_CLASS_IDENTIFIER() => 'string', |
271 |
dpavlin |
526 |
DHO_DHCP_CLIENT_IDENTIFIER() => 'ids', |
272 |
dpavlin |
25 |
DHO_NWIP_DOMAIN_NAME() => 'string', # rfc 2242 |
273 |
|
|
# DHO_NWIP_SUBOPTIONS() => '', # rfc 2242 |
274 |
|
|
DHO_NIS_DOMAIN() => 'string', |
275 |
|
|
DHO_NIS_SERVER() => 'string', |
276 |
|
|
DHO_TFTP_SERVER() => 'string', |
277 |
|
|
DHO_BOOTFILE() => 'string', |
278 |
|
|
DHO_MOBILE_IP_HOME_AGENT() => 'inets', |
279 |
|
|
DHO_SMTP_SERVER() => 'inets', |
280 |
|
|
DHO_POP3_SERVER() => 'inets', |
281 |
|
|
DHO_NNTP_SERVER() => 'inets', |
282 |
|
|
DHO_WWW_SERVER() => 'inets', |
283 |
|
|
DHO_FINGER_SERVER() => 'inets', |
284 |
|
|
DHO_IRC_SERVER() => 'inets', |
285 |
|
|
DHO_STREETTALK_SERVER() => 'inets', |
286 |
|
|
DHO_STDA_SERVER() => 'inets', |
287 |
|
|
# DHO_USER_CLASS() => '', # rfc 3004 |
288 |
|
|
# DHO_FQDN() => '', # draft-ietf-dhc-fqdn-option-10.txt |
289 |
|
|
# DHO_DHCP_AGENT_OPTIONS() => 'relays', # rfc 3046 |
290 |
|
|
DHO_NDS_SERVERS() => 'inets', # rfc 2241 |
291 |
|
|
DHO_NDS_TREE_NAME() => 'string', # rfc 2241 |
292 |
|
|
DHO_USER_AUTHENTICATION_PROTOCOL() => 'string', # rfc 2485 |
293 |
|
|
DHO_AUTO_CONFIGURE() => 'byte', # rfc 2563 |
294 |
|
|
DHO_NAME_SERVICE_SEARCH() => 'shorts', # rfc 2937 |
295 |
|
|
DHO_SUBNET_SELECTION() => 'inet', # rfc 3011 |
296 |
|
|
|
297 |
dpavlin |
114 |
DHO_PXELINUX_MAGIC() => 'int', # draft-ietf-dhc-pxelinux-03 |
298 |
|
|
DHO_PXELINUX_CONFIG_FILE() => 'string', |
299 |
|
|
DHO_PXELINUX_PATH_PREFIX() => 'string', |
300 |
|
|
DHO_PXELINUX_REBOOT_TIME() => 'int', # 300 s |
301 |
|
|
|
302 |
dpavlin |
25 |
); |
303 |
|
|
|
304 |
|
|
1; |
305 |
|
|
|
306 |
|
|
=pod |
307 |
|
|
|
308 |
|
|
=head1 NAME |
309 |
|
|
|
310 |
|
|
Net::DHCP::Constants - Constants for DHCP codes and options |
311 |
|
|
|
312 |
|
|
=head1 SYNOPSIS |
313 |
|
|
|
314 |
|
|
use Net::DHCP::Constants; |
315 |
|
|
print "DHCP option SUBNET_MASK is ", DHO_SUBNET_MASK(); |
316 |
|
|
|
317 |
|
|
=head1 DESCRIPTION |
318 |
|
|
|
319 |
|
|
Represents constants used in DHCP protocol, defined in RFC 1533, RFC 2132, |
320 |
|
|
RFC 2241, RFC 2485, RFC 2563, RFC 2937, RFC 3004, RFC 3011, RFC 3046. |
321 |
|
|
|
322 |
|
|
=head1 TAGS |
323 |
|
|
|
324 |
|
|
As mentioned above, constants can either be imported individually |
325 |
|
|
or in sets grouped by tag names. The tag names are: |
326 |
|
|
|
327 |
|
|
=over 4 |
328 |
|
|
|
329 |
|
|
=item * bootp_codes |
330 |
|
|
|
331 |
|
|
Imports all of the basic I<BOOTP> constants. |
332 |
|
|
|
333 |
|
|
(01) BOOTREQUEST |
334 |
|
|
(02) BOOTREPLY |
335 |
|
|
|
336 |
|
|
=item * htype_codes |
337 |
|
|
|
338 |
|
|
Imports all I<HTYPE> (hardware address type) codes. |
339 |
|
|
|
340 |
|
|
(01) HTYPE_ETHER |
341 |
|
|
(06) HTYPE_IEEE802 |
342 |
|
|
(08) HTYPE_FDDI |
343 |
|
|
|
344 |
|
|
Most common value is HTYPE_ETHER for C<Ethernet>. |
345 |
|
|
|
346 |
|
|
=item * dhcp_message |
347 |
|
|
|
348 |
|
|
Import all DHCP Message codes. |
349 |
|
|
|
350 |
|
|
(01) DHCPDISCOVER |
351 |
|
|
(02) DHCPOFFER |
352 |
|
|
(03) DHCPREQUEST |
353 |
|
|
(04) DHCPDECLINE |
354 |
|
|
(05) DHCPACK |
355 |
|
|
(06) DHCPNAK |
356 |
|
|
(07) DHCPRELEASE |
357 |
|
|
(08) DHCPINFORM |
358 |
|
|
(09) DHCPFORCERENEW |
359 |
|
|
(13) DHCPLEASEQUERY # draft-ietf-dhc-leasequery-08.txt |
360 |
|
|
|
361 |
|
|
=item * dho_codes |
362 |
|
|
|
363 |
|
|
Import all DHCP option codes. |
364 |
|
|
|
365 |
|
|
(000) DHO_PAD |
366 |
|
|
(001) DHO_SUBNET_MASK |
367 |
|
|
(002) DHO_TIME_OFFSET |
368 |
|
|
(003) DHO_ROUTERS |
369 |
|
|
(004) DHO_TIME_SERVERS |
370 |
|
|
(005) DHO_NAME_SERVERS |
371 |
|
|
(006) DHO_DOMAIN_NAME_SERVERS |
372 |
|
|
(007) DHO_LOG_SERVERS |
373 |
|
|
(008) DHO_COOKIE_SERVERS |
374 |
|
|
(009) DHO_LPR_SERVERS |
375 |
|
|
(010) DHO_IMPRESS_SERVERS |
376 |
|
|
(011) DHO_RESOURCE_LOCATION_SERVERS |
377 |
|
|
(012) DHO_HOST_NAME |
378 |
|
|
(013) DHO_BOOT_SIZE |
379 |
|
|
(014) DHO_MERIT_DUMP |
380 |
|
|
(015) DHO_DOMAIN_NAME |
381 |
|
|
(016) DHO_SWAP_SERVER |
382 |
|
|
(017) DHO_ROOT_PATH |
383 |
|
|
(018) DHO_EXTENSIONS_PATH |
384 |
|
|
(019) DHO_IP_FORWARDING |
385 |
|
|
(020) DHO_NON_LOCAL_SOURCE_ROUTING |
386 |
|
|
(021) DHO_POLICY_FILTER |
387 |
|
|
(022) DHO_MAX_DGRAM_REASSEMBLY |
388 |
|
|
(023) DHO_DEFAULT_IP_TTL |
389 |
|
|
(024) DHO_PATH_MTU_AGING_TIMEOUT |
390 |
|
|
(025) DHO_PATH_MTU_PLATEAU_TABLE |
391 |
|
|
(026) DHO_INTERFACE_MTU |
392 |
|
|
(027) DHO_ALL_SUBNETS_LOCAL |
393 |
|
|
(028) DHO_BROADCAST_ADDRESS |
394 |
|
|
(029) DHO_PERFORM_MASK_DISCOVERY |
395 |
|
|
(030) DHO_MASK_SUPPLIER |
396 |
|
|
(031) DHO_ROUTER_DISCOVERY |
397 |
|
|
(032) DHO_ROUTER_SOLICITATION_ADDRESS |
398 |
|
|
(033) DHO_STATIC_ROUTES |
399 |
|
|
(034) DHO_TRAILER_ENCAPSULATION |
400 |
|
|
(035) DHO_ARP_CACHE_TIMEOUT |
401 |
|
|
(036) DHO_IEEE802_3_ENCAPSULATION |
402 |
|
|
(037) DHO_DEFAULT_TCP_TTL |
403 |
|
|
(038) DHO_TCP_KEEPALIVE_INTERVAL |
404 |
|
|
(039) DHO_TCP_KEEPALIVE_GARBAGE |
405 |
|
|
(041) DHO_NIS_SERVERS |
406 |
|
|
(042) DHO_NTP_SERVERS |
407 |
|
|
(043) DHO_VENDOR_ENCAPSULATED_OPTIONS |
408 |
|
|
(044) DHO_NETBIOS_NAME_SERVERS |
409 |
|
|
(045) DHO_NETBIOS_DD_SERVER |
410 |
|
|
(046) DHO_NETBIOS_NODE_TYPE |
411 |
|
|
(047) DHO_NETBIOS_SCOPE |
412 |
|
|
(048) DHO_FONT_SERVERS |
413 |
|
|
(049) DHO_X_DISPLAY_MANAGER |
414 |
|
|
(050) DHO_DHCP_REQUESTED_ADDRESS |
415 |
|
|
(051) DHO_DHCP_LEASE_TIME |
416 |
|
|
(052) DHO_DHCP_OPTION_OVERLOAD |
417 |
|
|
(053) DHO_DHCP_MESSAGE_TYPE |
418 |
|
|
(054) DHO_DHCP_SERVER_IDENTIFIER |
419 |
|
|
(055) DHO_DHCP_PARAMETER_REQUEST_LIST |
420 |
|
|
(056) DHO_DHCP_MESSAGE |
421 |
|
|
(057) DHO_DHCP_MAX_MESSAGE_SIZE |
422 |
|
|
(058) DHO_DHCP_RENEWAL_TIME |
423 |
|
|
(059) DHO_DHCP_REBINDING_TIME |
424 |
|
|
(060) DHO_VENDOR_CLASS_IDENTIFIER |
425 |
|
|
(061) DHO_DHCP_CLIENT_IDENTIFIER |
426 |
|
|
(062) DHO_NWIP_DOMAIN_NAME |
427 |
|
|
(063) DHO_NWIP_SUBOPTIONS |
428 |
|
|
(064) DHO_NIS_DOMAIN |
429 |
|
|
(065) DHO_NIS_SERVER |
430 |
|
|
(066) DHO_TFTP_SERVER |
431 |
|
|
(067) DHO_BOOTFILE |
432 |
|
|
(068) DHO_MOBILE_IP_HOME_AGENT |
433 |
|
|
(069) DHO_SMTP_SERVER |
434 |
|
|
(070) DHO_POP3_SERVER |
435 |
|
|
(071) DHO_NNTP_SERVER |
436 |
|
|
(072) DHO_WWW_SERVER |
437 |
|
|
(073) DHO_FINGER_SERVER |
438 |
|
|
(074) DHO_IRC_SERVER |
439 |
|
|
(075) DHO_STREETTALK_SERVER |
440 |
|
|
(076) DHO_STDA_SERVER |
441 |
|
|
(077) DHO_USER_CLASS |
442 |
|
|
(081) DHO_FQDN |
443 |
|
|
(082) DHO_DHCP_AGENT_OPTIONS |
444 |
|
|
(085) DHO_NDS_SERVERS |
445 |
|
|
(086) DHO_NDS_TREE_NAME |
446 |
|
|
(098) DHO_USER_AUTHENTICATION_PROTOCOL |
447 |
|
|
(116) DHO_AUTO_CONFIGURE |
448 |
|
|
(117) DHO_NAME_SERVICE_SEARCH |
449 |
|
|
(118) DHO_SUBNET_SELECTION |
450 |
|
|
(255) DHO_END |
451 |
|
|
|
452 |
|
|
=back |
453 |
|
|
|
454 |
|
|
=head1 TO DO, LIMITATIONS |
455 |
|
|
|
456 |
|
|
Automatic parsing of DHO_VENDOR_ENCAPSULATED_OPTIONS (code 43) is unsupported. |
457 |
|
|
|
458 |
|
|
Automatic parsing of DHO_NWIP_SUBOPTIONS (code 63 - rfc 2242) is unsupported. |
459 |
|
|
|
460 |
|
|
Automatic parsing of DHO_USER_CLASS (code 77 - rfc 3004) is unsupported. |
461 |
|
|
|
462 |
|
|
=head1 SEE ALSO |
463 |
|
|
|
464 |
|
|
L<Net::DHCP::Packet>, L<Net::DHCP::Options> |
465 |
|
|
|
466 |
|
|
=head1 AUTHOR |
467 |
|
|
|
468 |
|
|
Stephan Hadinger E<lt>shadinger@cpan.orgE<gt>. |
469 |
|
|
|
470 |
|
|
=head1 COPYRIGHT |
471 |
|
|
|
472 |
|
|
This program is free software; you can redistribute it and/or |
473 |
|
|
modify it under the same terms as Perl itself. |
474 |
|
|
|
475 |
|
|
=cut |