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


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

the Net::Frame::Layer manpage


AUTHOR

Michael Vincent


COPYRIGHT AND LICENSE

Copyright (c) 2012-2014, Michael Vincent

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

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