NAME
Net::DHCP::Packet - Object methods to create a DHCP packet.
SYNOPSIS
use Net::DHCP::Packet;
use strict;
my $p = new Net::DHCP::Packet('Chaddr' => '0??BCDEF',
'Xid' => hex(0x9F0FD),
'Ciaddr' => '0.0.0.0',
'Siaddr' => '0.0.0.0', 'Hops' => 0);
DESCRIPTION
Represents a DHCP packet as specified in RFC 1533, RFC 2132.
CONSTRUCTORS
- new
- discover
- request
- decline
- release
METHODS
- op(BYTE opcode)
-
Sets the opcode in the BOOTP type. Without argument, returns the BOOTP type. Argument is either: Net::DHCP::Packet::BOOTREQUEST() { pack('C',0x1) } Net::DHCP::Packet::BOOTREPLY() { pack('C',0x2) } - htype(BYTE hardware address type)
-
Ex. '1' = 10mb ethernet - hlen(BYTE hardware address length)
-
For most NIC's, the MAC address has 6 bytes. - hops(BYTE number of hops)
-
This field is incremented by each encountered DHCP relay agent. - xid(C4 transaction id)
-
4 byte transaction id. - secs(SHORT elapsed boot time)
-
2 bytes for elapsed boot time. - flags(SHORT)
-
2 bytes. 0x0000 = No broadcasts. 0x1000 = Broadcasts. - ciaddr(IP address)
-
IP address is an ascci string like '10.24.50.3'. - yiaddr(IP address)
- siaddr(IP address)
- giaddr(IP address)
- chaddr(MAC address) Hexadecimal string represenatation. Example: "0010A706DFFF" for 6 bytes mac address.
- sname(C64 servername)
-
Optional 64 bytes null terminated string with server host name. - file(C128 bootfilename)
-
Optional - options(REF Net::DHCP::Options)
-
Argument is reference to a Net::DHCP::Options object. Without argument, returns the Options object. - addOption($type, $value)
- getOption($type)
- new(%ARGS)
-
The hash %ARGS can contain any of these keys: Op, Htype, Hlen, Hops, Xid, Secs, Flags, Ciaddr, Yiaddr, Siaddr, Giaddr, Chaddr, Sname, File - discover
-
DHCP discover packet - request
-
DHCP request packet - decline
-
DHCP decline packet - release
-
DHCP release packetDHCP inform packet - serialize
-
Converts a Net::DHCP::Packet to a string, ready to put on the network. - marshall(string)
-
The inverse of serialize. Converts a string, presumably a received UDP packet, into a Net::DHCP::Packet. - toString()
-
Returns a textual representation of the packet, for debugging.
AUTHOR
F. van Dun
BUGS
I only ran some simple tests on Windows 2000 with a W2K DHCP server and a USR DHCP server. Not yet tested on Unix platform.
COPYRIGHT
This is free software. It can be distributed and/or modified under the same terms as Perl itself.
SEE ALSO
perl(1), Net::DHCP::Options.
5 POD Errors
The following errors were encountered while parsing the POD:
- Around line 82:
'=item' outside of any '=over'
- Around line 93:
You forgot a '=back' before '=head2'
- Around line 122:
'=item' outside of any '=over'
- Around line 423:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 518:
You forgot a '=back' before '=head1'