Net::Frame::Layer::ETH - Ethernet/802.3 layer object


NAME

Net::Frame::Layer::ETH - Ethernet/802.3 layer object


SYNOPSIS

   use Net::Frame::Layer::ETH qw(:consts);
   # Build a layer
   my $layer = Net::Frame::Layer::ETH->new(
      src  => '00:00:00:00:00:00',
      dst  => NF_ETH_ADDR_BROADCAST,
      type => NF_ETH_TYPE_IPv4,
   );
   $layer->pack;
   print 'RAW: '.$layer->dump."\n";
   # Read a raw layer
   my $layer = Net::Frame::Layer::ETH->new(raw => $raw);
   print $layer->print."\n";
   print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
      if $layer->payload;


DESCRIPTION

This modules implements the encoding and decoding of the Ethernet/802.3 layer.

RFC: ftp://ftp.rfc-editor.org/in-notes/rfc894.txt

See also Net::Frame::Layer for other attributes and methods.


ATTRIBUTES

src
dst
Source and destination MAC addresses, in classical format (00:11:22:33:44:55).

type
The encapsulated layer type (IPv4, IPv6 ...) for Ethernet. Values for Ethernet types are greater than 1500. If it is less than 1500 the layer is considered a 802.3 one. See http://www.iana.org/assignments/ethernet-numbers .

length
The length of the payload when this layer is a 802.3 one. This is the same attribute as type, but you cannot use it when calling new (you can only use it as an accessor after that).

The following are inherited attributes. See Net::Frame::Layer for more information.

raw
payload
nextLayer


METHODS

new
new (hash)
Object constructor. You can pass attributes that will overwrite default ones. See SYNOPSIS for default values.

The following are inherited methods. Some of them may be overriden in this layer, and some others may not be meaningful in this layer. See Net::Frame::Layer for more information.

layer
computeLengths
computeChecksums
pack
unpack
encapsulate
getLength
getPayloadLength
print
dump


CONSTANTS

Load them: use Net::Frame::Layer::ETH qw(:consts);

NF_ETH_ADDR_BROADCAST
Ethernet broadcast address.

NF_ETH_TYPE_IPv4
NF_ETH_TYPE_X25
NF_ETH_TYPE_ARP
NF_ETH_TYPE_CGMP
NF_ETH_TYPE_80211
NF_ETH_TYPE_PPPIPCP
NF_ETH_TYPE_RARP
NF_ETH_TYPE_DDP
NF_ETH_TYPE_AARP
NF_ETH_TYPE_PPPCCP
NF_ETH_TYPE_WCP
NF_ETH_TYPE_8021Q
NF_ETH_TYPE_IPX
NF_ETH_TYPE_STP
NF_ETH_TYPE_IPv6
NF_ETH_TYPE_WLCCP
NF_ETH_TYPE_PPPoED
NF_ETH_TYPE_PPPoES
NF_ETH_TYPE_8021X
NF_ETH_TYPE_AoE
NF_ETH_TYPE_80211I
NF_ETH_TYPE_LLDP
NF_ETH_TYPE_LLTD
NF_ETH_TYPE_LOOP
NF_ETH_TYPE_VLAN
NF_ETH_TYPE_PPPPAP
NF_ETH_TYPE_PPPCHAP
Various supported Ethernet types.


SEE ALSO

the Net::Frame::Layer manpage


AUTHOR

Patrice <GomoR> Auffret


COPYRIGHT AND LICENSE

Copyright (c) 2006-2007, Patrice <GomoR> Auffret

You may distribute this module under the terms of the Artistic license. See LICENSE.Artistic file in the source distribution archive.

 Net::Frame::Layer::ETH - Ethernet/802.3 layer object