NAME
Net::Frame::Layer::IPv6::Routing - Internet Protocol v6 Routing Extension Header layer object
SYNOPSIS
use Net::Frame::Simple;
use Net::Frame::Layer::IPv6::Routing;
my $icmp = Net::Frame::Layer::IPv6::Routing->new(
nextHeader => NF_IPv6_PROTOCOL_TCP
hdrExtLen => 2
routingType => 0,
segmentsLeft => 1,
reserved => 0,
addresses => ['::1']
);
#
# Read a raw layer
#
my $layer = Net::Frame::Layer::IPv6::Routing->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 Routing 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 Routing header.
- hdrExtLen
-
The length of the Routing header in 8-byte units, not including the first 8 bytes of the header. For a Routing Type of 0, this value is thus two times the number addresses embedded in the header.
- routingType
-
This field allows multiple routing types to be defined; at present, the only value used is 0.
- segmentsLeft
-
Specifies the number of explicitly-named nodes remaining in the route until the destination.
- reserved
-
Not used; set to zeroes.
- addresses
-
A set of IPv6 addresses that specify the route to be used.
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.
- computeLengths
-
Computes hdrExtLen and segmentsLeft based on number of addresses.
- computeSegmentsLeft (0 | 1)
-
Disable (0) or enable (1) automatic computing of segmentsLeft by the computeLengths method. Default is enabled.
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
No constants here.
SEE ALSO
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.