Net::Frame::Layer::IPv6::Routing(3p)

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.