Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::Packet::IGMPv4(3)User Contributed Perl DocumentatioNet::Packet::IGMPv4(3)

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

SYNOPSIS
	  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;

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

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

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

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

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

perl v5.32.0			  2009-11-09		Net::Packet::IGMPv4(3)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | METHODS | CONSTANTS | AUTHOR | COPYRIGHT AND LICENSE | RELATED MODULES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::Packet::IGMPv4&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help