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