NAME

Net::Frame::Layer::IPv6::Fragment - Internet Protocol v6 Fragment Extension Header layer object

SYNOPSIS

use Net::Frame::Simple;
use Net::Frame::Layer::IPv6::Fragment;

my $icmp = Net::Frame::Layer::IPv6::Fragment->new(
   nextHeader     => NF_IPv6_PROTOCOL_TCP,
   reserved       => 0,
   fragmentOffset => 0,
   res            => 0,
   mFlag          => 0,
   identification => 0
);

#
# Read a raw layer
#

my $layer = Net::Frame::Layer::IPv6::Fragment->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 IPv6 Fragment Extension Header layer.

RFC: ftp://ftp.rfc-editor.org/in-notes/rfc2460.txt

See also Net::Frame::Layer for other attributes and methods.

ATTRIBUTES

nextHeader

Protocol number of the next header after the Fragment header.

reserved

Not used; set to zeroes.

fragmentOffset

Specifies the offset, or position, in the overall message where the data in this fragment goes. It is specified in units of 8 bytes (64 bits) and used in a manner very similar to the field of the same name in the IPv4 header.

res

Not used; set to zeroes.

mFlag

Same as the flag of the same name in the IPv4 header - when set to 0, indicates the last fragment in a message; when set to 1, indicates that more fragments are yet to come in the fragmented message.

identification

Same as the field of the same name in the IPv4 header, but expanded to 32 bits. It contains a specific value that is common to each of the fragments belonging to a particular message, to ensure that pieces from different fragmented messages are not mixed together.

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

No constants here.

SEE ALSO

Net::Frame::Layer

AUTHOR

Michael Vincent

COPYRIGHT AND LICENSE

Copyright (c) 2012-2017, Michael Vincent

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