logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Attributes

srcdst 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.

       rawpayloadnextLayer

Author

       Patrice <GomoR> Auffret

Constants

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

       NF_ETH_ADDR_BROADCAST
           Ethernet broadcast address.

       NF_ETH_TYPE_IPv4NF_ETH_TYPE_X25NF_ETH_TYPE_ARPNF_ETH_TYPE_CGMPNF_ETH_TYPE_80211NF_ETH_TYPE_PPPIPCPNF_ETH_TYPE_RARPNF_ETH_TYPE_DDPNF_ETH_TYPE_AARPNF_ETH_TYPE_PPPCCPNF_ETH_TYPE_WCPNF_ETH_TYPE_8021QNF_ETH_TYPE_IPXNF_ETH_TYPE_STPNF_ETH_TYPE_IPv6NF_ETH_TYPE_WLCCPNF_ETH_TYPE_MPLSNF_ETH_TYPE_PPPoEDNF_ETH_TYPE_PPPoESNF_ETH_TYPE_8021XNF_ETH_TYPE_AoENF_ETH_TYPE_80211INF_ETH_TYPE_LLDPNF_ETH_TYPE_LLTDNF_ETH_TYPE_LOOPNF_ETH_TYPE_VLANNF_ETH_TYPE_PPPPAPNF_ETH_TYPE_PPPCHAP
           Various supported Ethernet types.

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.

Methods

newnew (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.

       layercomputeLengthscomputeChecksumspackunpackencapsulategetLengthgetPayloadLengthprintdump

Name

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

See Also

       Net::Frame::Layer

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;

See Also