Net::Packet::IPv6(3)

NAME
Net::Packet::IPv6 - Internet Protocol v6 layer 3 object

SYNOPSIS
   use Net::Packet::Consts qw(:ipv6);
   require Net::Packet::IPv6;

   # Build a layer
   my $layer = Net::Packet::IPv6->new(
      dst => $hostname6,
   );
   $layer->pack;

   print 'RAW: '.unpack('H*', $layer->raw)."\n";

   # Read a raw layer
   my $layer = Net::Packet::IPv6->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 layer.

RFC: ftp://ftp.rfc-editor.org/in-notes/rfc2460.txt

See also Net::Packet::Layer and Net::Packet::Layer3 for other attributes and methods.

ATTRIBUTES

version
    Version of Internet Protocol header.

trafficClass
    Traffic class field. Was Type of Service in IPv4.

flowLabel
    Flow label class field. Was IP ID in IPv4.

nextHeader
    The type of next header. Was protocol in IPv4.

protocol
    Is an alias for nextHeader

payloadLength
    Length in bytes of encapsulated layers (that is, layer 4 + layer 7).

hopLimit
    Was TTL field in IPv4.

src
dst Source and destination addresses.

METHODS

new Object constructor. You can pass attributes that will overwrite default ones. Default values:

    version: 6

    trafficClass: 0

    flowLabel: 0

    nextHeader: NP_IPv6_PROTOCOL_TCP

    hopLimit: 0xff

    src: $Env->ip6

    dst: '::1'

getPayloadLength
    Returns the length in bytes of encapsulated layers (that is layer 4 + layer 7).

pack
    Packs all attributes into a raw format, in order to inject to network. Returns 1 on success, undef otherwise.

unpack
    Unpacks raw data from network and stores attributes into the object. Returns 1 on success, undef otherwise.

CONSTANTS
Load them: use Net::Packet::Consts qw(:ipv6);

NP_IPv6_PROTOCOL_TCP
NP_IPv6_PROTOCOL_UDP
    Constants for nextHeader attribute.

AUTHOR
Patrice <GomoR> Auffret

COPYRIGHT AND LICENSE
Copyright (c) 2004-2009, Patrice <GomoR> Auffret

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

RELATED MODULES
NetPacket, Net::RawIP, Net::RawSock