---
name: "Net::Frame::Layer::IPv6::Fragment"
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::Fragment"
---

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

Internet Protocol v6 Fragment Extension Header layer object

## NAME

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

## SYNOPSIS

```
   use Net::Frame::Simple;
   use Net::Frame::Layer::IPv6::Fragment;
   my $icmp = Net::Frame::Layer::IPv6::Fragment->new(
      nextHeader     => NF_IPv6_PROTOCOL_TCP,
      reserved       => 0,
      fragmentOffset => 0,
      res            => 0,
      mFlag          => 0,
      identification => 0
   );
   #
   # Read a raw layer
   #
   my $layer = Net::Frame::Layer::IPv6::Fragment->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 Fragment 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 Fragment header.

- **reserved**

  Not used; set to zeroes.

- **fragmentOffset**

  Specifies the offset, or position, in the overall message where the data in this fragment goes. It is specified in units of 8 bytes (64 bits) and used in a manner very similar to the field of the same name in the IPv4 header.

- **res**

  Not used; set to zeroes.

- **mFlag**

  Same as the flag of the same name in the IPv4 header - when set to 0, indicates the last fragment in a message; when set to 1, indicates that more fragments are yet to come in the fragmented message.

- **identification**

  Same as the field of the same name in the IPv4 header, but expanded to 32 bits. It contains a specific value that is common to each of the fragments belonging to a particular message, to ensure that pieces from different fragmented messages are not mixed together.

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

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