pcpp::IgmpV2Layer Class Reference

#include <IgmpLayer.h>

Inheritance diagram for pcpp::IgmpV2Layer:
pcpp::IgmpLayer pcpp::Layer pcpp::IDataContainer

Public Member Functions

 IgmpV2Layer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 IgmpV2Layer (IgmpType type, const IPv4Address &groupAddr=IPv4Address::Zero, uint8_t maxResponseTime=0)
 ~IgmpV2Layer ()
void computeCalculateFields ()
- Public Member Functions inherited from pcpp::IgmpLayer
igmp_headergetIgmpHeader ()
IPv4Address getGroupAddress ()
void setGroupAddress (const IPv4Address &groupAddr)
IgmpType getType ()
void setType (IgmpType type)
void parseNextLayer ()
size_t getHeaderLen ()
std::string toString ()
OsiModelLayer getOsiModelLayer ()
- Public Member Functions inherited from pcpp::Layer
virtual ~Layer ()
LayergetNextLayer ()
LayergetPrevLayer ()
ProtocolType getProtocol ()
uint8_t * getData ()
size_t getDataLen ()
uint8_t * getLayerPayload ()
size_t getLayerPayloadSize ()
bool isAllocatedToPacket ()
void copyData (uint8_t *toArr)
uint8_t * getDataPtr (size_t offset=0)

Additional Inherited Members

- Static Public Member Functions inherited from pcpp::IgmpLayer
static ProtocolType getIGMPVerFromData (uint8_t *data, size_t dataLen, bool &isQuery)

Detailed Description

Represents IGMPv2 (Internet Group Management Protocol ver 2) layer. This class represents all the different messages of IGMPv2

Constructor & Destructor Documentation

pcpp::IgmpV2Layer::IgmpV2Layer ( uint8_t *  data,
size_t  dataLen,
Layer prevLayer,
Packet packet 

A constructor that creates the layer from an existing packet raw data

[in]dataA pointer to the raw data
[in]dataLenSize of the data in bytes
[in]prevLayerA pointer to the previous layer
[in]packetA pointer to the Packet instance where layer will be stored in
pcpp::IgmpV2Layer::IgmpV2Layer ( IgmpType  type,
const IPv4Address groupAddr = IPv4Address::Zero,
uint8_t  maxResponseTime = 0 

A constructor that allocates a new IGMPv2 header

[in]typeThe message type to set
[in]groupAddrThe multicast address to set. This is an optional parameter and has a default value of IPv4Address::Zero
[in]maxResponseTimeThe max response time to set. This is an optional parameter and has a default value of 0 if not provided
pcpp::IgmpV2Layer::~IgmpV2Layer ( )

A destructor for this layer (does nothing)

Member Function Documentation

void pcpp::IgmpV2Layer::computeCalculateFields ( )

Calculate the IGMP checksum

Implements pcpp::Layer.