GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Net::Packet::IGMPv4(3) User Contributed Perl Documentation Net::Packet::IGMPv4(3)

Net::Packet::IGMPv4 - Internet Group Management Protocol v4 layer 4 object

   use Net::Packet::Consts qw(:igmpv4);
   require Net::Packet::IGMPv4;

   # Build a layer
   my $layer = Net::Packet::IGMPv4->new(
      version      => 2,
      type         => NP_IGMPv4_v2_TYPE_QUERY,
      maxRespTime  => 10,
      checksum     => 0,
      groupAddress => NP_IGMPv4_GROUP_ADDRESS_ALL_HOSTS,
   );
   $layer->pack;

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

   # Read a raw layer
   my $layer = Net::Packet::IGMPv4->new(raw => $raw);

   print $layer->print."\n";
   print 'PAYLOAD: '.unpack('H*', $layer->payload)."\n"
      if $layer->payload;

This modules implements the encoding and decoding of the Internet Group Management Protocol v4 (version 1 and 2) layer.

RFC for version 1: ftp://ftp.rfc-editor.org/in-notes/rfc1112.txt

RFC for version 2: ftp://ftp.rfc-editor.org/in-notes/rfc2236.txt

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

version - 4 bits (or 0 for version 2)
type - 4 bits (or 8 bits for version 2)
unused - 8 bits (or 0 for version 2)
maxRespTime - 8 bits (or 0 for version 1)
checksum - 16 bits
groupAddress - 32 bits
For version 1, you use the following attributes: version, type, unused, checksum, groupAddress.

For version 2, you use the following attributes: type, maxRespTime, checksum, groupAddress.

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

version: 2

type: NP_IGMPv4_v2_TYPE_QUERY

maxRespTime: 10

checksum: 0

groupAddress: NP_IGMPv4_GROUP_ADDRESS_ALL_HOSTS

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.

Load them: use Net::Packet::Consts qw(:igmpv4);
NP_IGMPv4_HDR_LEN
IGMPv4 header length.
NP_IGMPv4_v1_TYPE_QUERY
NP_IGMPv4_v1_TYPE_REPORT
Various types supported by version 1 of the protocol.
NP_IGMPv4_v2_TYPE_QUERY
NP_IGMPv4_v2_TYPE_QUERY_v1
NP_IGMPv4_v2_TYPE_REPORT
NP_IGMPv4_v2_TYPE_LEAVE_GROUP
Various types supported by version 2 of the protocol.
NP_IGMPv4_GROUP_ADDRESS_NO_HOSTS
NP_IGMPv4_GROUP_ADDRESS_ALL_HOSTS
NP_IGMPv4_GROUP_ADDRESS_ALL_ROUTERS
Various group addresses supported by all versions of the protocol.

Patrice <GomoR> Auffret

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.

NetPacket, Net::RawIP, Net::RawSock
2009-11-09 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.