---
name: "Net::Frame::Layer::IPv6::HopByHop"
section: "3pm"
platform: "linux"
package: "libnet-frame-layer-ipv6-perl"
version: "1.08-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Frame::Layer::IPv6::HopByHop"
---

# Net::Frame::Layer::IPv6::HopByHop(3pm)

Internet Protocol v6 Hop-By-Hop Extension Header layer object

## NAME

Net::Frame::Layer::IPv6::HopByHop - Internet Protocol v6 Hop-By-Hop Extension Header layer object

## SYNOPSIS

```
   use Net::Frame::Simple;
   use Net::Frame::Layer::IPv6::HopByHop;
   my $ipv6eh = Net::Frame::Layer::IPv6::HopByHop->new(
      nextHeader => NF_IPv6_PROTOCOL_TCP,
      hdrExtLen  => 2,
      options    => []
   );
   #
   # Read a raw layer
   #
   my $layer = Net::Frame::Layer::IPv6::HopByHop->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 Hop-By-Hop options 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 HopByHop header.

- **hdrExtLen**

  The length of the Hop-By-Hop Options header in 8-byte units, not including the first 8 bytes of the header.

- **options**

  A number of **Net::Frame::Layer::IPv6::Option** objects.

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.

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

  - **getOptionsLength**

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