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