Provided by: libnet-frame-perl_1.17-1_all bug

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-2017, Patrice <GomoR> Auffret

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