logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

       rawpayloadnextLayer

Author

       Michael Vincent

Constants

       No constants here.

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.

Methods

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

       layercomputeLengthscomputeChecksumspackunpackencapsulategetLengthgetPayloadLengthprintdump

Name

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

See Also

       Net::Frame::Layer

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;

See Also