Net::Frame::Layer::IPv6 - Internet Protocol v6 layer object
Contents
Attributes
version - 4 bits
Version of Internet Protocol header.
trafficClass - 8 bits
Traffic class field. Was Type of Service in IPv4.
flowLabel - 20 bits
Flow label class field. Was IP ID in IPv4.
nextHeader - 8 bits
The type of next header. Was protocol in IPv4.
protocol
Is an alias for nextHeader.
payloadLength - 16 bits
Length in bytes of encapsulated layers (usually, that is layer 4 + layer 7).
hopLimit - 8 bits
Was TTL field in IPv4.
src - 32 bits
dst - 32 bits
Source and destination addresses.
The following are inherited attributes. See Net::Frame::Layer for more information.
rawpayloadnextLayerConstants
Load them: use Net::Frame::Layer::IPv6 qw(:consts);
NF_IPv6_PROTOCOL_ICMPv4NF_IPv6_PROTOCOL_IGMPNF_IPv6_PROTOCOL_IPIPNF_IPv6_PROTOCOL_TCPNF_IPv6_PROTOCOL_EGPNF_IPv6_PROTOCOL_IGRPNF_IPv6_PROTOCOL_CHAOSNF_IPv6_PROTOCOL_UDPNF_IPv6_PROTOCOL_IDPNF_IPv6_PROTOCOL_DCCPNF_IPv6_PROTOCOL_IPv6NF_IPv6_PROTOCOL_IPv6ROUTINGNF_IPv6_PROTOCOL_IPv6FRAGMENTNF_IPv6_PROTOCOL_IDRPNF_IPv6_PROTOCOL_RSVPNF_IPv6_PROTOCOL_GRENF_IPv6_PROTOCOL_ESPNF_IPv6_PROTOCOL_AHNF_IPv6_PROTOCOL_ICMPv6NF_IPv6_PROTOCOL_EIGRPNF_IPv6_PROTOCOL_OSPFNF_IPv6_PROTOCOL_ETHERIPNF_IPv6_PROTOCOL_PIMNF_IPv6_PROTOCOL_VRRPNF_IPv6_PROTOCOL_STPNF_IPv6_PROTOCOL_SCTPNF_IPv6_PROTOCOL_UDPLITENF_IPv6_PROTOCOL_IPv6HOPBYHOPNF_IPv6_PROTOCOL_GGPNF_IPv6_PROTOCOL_STNF_IPv6_PROTOCOL_CBTNF_IPv6_PROTOCOL_PUPNF_IPv6_PROTOCOL_ARGUSNF_IPv6_PROTOCOL_EMCONNF_IPv6_PROTOCOL_XNETNF_IPv6_PROTOCOL_MUXNF_IPv6_PROTOCOL_DCNMEASNF_IPv6_PROTOCOL_HMPNF_IPv6_PROTOCOL_PRMNF_IPv6_PROTOCOL_TRUNK1NF_IPv6_PROTOCOL_TRUNK2NF_IPv6_PROTOCOL_LEAF1NF_IPv6_PROTOCOL_LEAF2NF_IPv6_PROTOCOL_3PCNF_IPv6_PROTOCOL_IDPRNF_IPv6_PROTOCOL_XTPNF_IPv6_PROTOCOL_DDPNF_IPv6_PROTOCOL_IDPRCMTPNF_IPv6_PROTOCOL_TPPLUSPLUSNF_IPv6_PROTOCOL_ILNF_IPv6_PROTOCOL_SDRPNF_IPv6_PROTOCOL_IPv6NONEXTNF_IPv6_PROTOCOL_IPv6DESTINATIONNF_IPv6_PROTOCOL_IPv6MOBILITY
Constants for nextHeader attribute.
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.
perl v5.36.0 2022-11-19 Net::Frame::Layer::IPv6(3pm)
Description
This modules implements the encoding and decoding of the IPv6 layer.
RFC: ftp://ftp.rfc-editor.org/in-notes/rfc2460.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.
computeLengths ({ payloadLength => VALUE })
In order to compute lengths attributes within IPv6 header, you need to pass via a hashref the number
of bytes contained in IPv6 payload (that is, the sum of all layers after the IPv6 one).
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.
layercomputeLengthspackunpackencapsulategetLengthprintdumpName
Net::Frame::Layer::IPv6 - Internet Protocol v6 layer object
See Also
Net::Frame::Layer
Synopsis
use Net::Frame::Layer::IPv6 qw(:consts);
# Build a layer
my $layer = Net::Frame::Layer::IPv6->new(
version => 6,
trafficClass => 0,
flowLabel => 0,
nextHeader => NF_IPv6_PROTOCOL_TCP,
hopLimit => 0xff,
src => '::1',
dst => '::1',
payloadLength => 0,
);
$layer->pack;
print 'RAW: '.$layer->dump."\n";
# Read a raw layer
my $layer = Net::Frame::Layer::IPv6->new(raw = $raw);
print $layer->print."\n";
print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
if $layer->payload;
