Net::Frame::Layer::ETH(3p)

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 overridden 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_MPLS
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
Net::Frame::Layer

AUTHOR
Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
Copyright (c) 2006-2019, Patrice <GomoR> Auffret

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