|
PcapPlusPlus
20.08
|
Go to the documentation of this file. 1 #ifndef PACKETPP_IGMP_LAYER
2 #define PACKETPP_IGMP_LAYER
169 uint16_t calculateChecksum();
413 igmpv3_group_record* addGroupRecordAt(uint8_t recordType,
const IPv4Address& multicastAddress,
const std::vector<IPv4Address>& sourceAddresses,
int offset);
514 #endif // PACKETPP_IGMP_LAYER
const ProtocolType IGMPv2
Definition: ProtocolType.h:163
OsiModelLayer
Definition: ProtocolType.h:233
Definition: IpAddress.h:26
IgmpV3ReportLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: IgmpLayer.h:423
Definition: IgmpLayer.h:319
Definition: IgmpLayer.h:279
igmpv3_report_header * getReportHeader() const
Definition: IgmpLayer.h:436
uint16_t getSourceAddressCount() const
~IgmpV1Layer()
Definition: IgmpLayer.h:262
void computeCalculateFields()
Definition: IgmpLayer.h:161
@ IgmpType_MulticastRouterSolicitation
Definition: IgmpLayer.h:149
uint16_t numOfSources
Definition: IgmpLayer.h:88
bool removeGroupRecordAtIndex(int index)
uint8_t auxDataLen
Definition: IgmpLayer.h:86
size_t getHeaderLen() const
Definition: IgmpLayer.h:226
Definition: IgmpLayer.h:410
igmpv3_group_record * addGroupRecordAtIndex(uint8_t recordType, const IPv4Address &multicastAddress, const std::vector< IPv4Address > &sourceAddresses, int index)
@ IgmpType_LeaveGroup
Definition: IgmpLayer.h:139
IgmpV2Layer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: IgmpLayer.h:288
bool removeSourceAddressAtIndex(int index)
IPv4Address getMulticastAddress() const
Definition: IgmpLayer.h:97
igmpv3_group_record * getNextGroupRecord(igmpv3_group_record *groupRecord) const
bool addSourceAddress(const IPv4Address &addr)
@ IgmpType_MulticastRouterTermination
Definition: IgmpLayer.h:151
size_t getRecordLen() const
@ IgmpType_MulticastTraceroute
Definition: IgmpLayer.h:143
@ OsiModelNetworkLayer
Definition: ProtocolType.h:240
@ IgmpType_DVMRP
Definition: IgmpLayer.h:131
@ IgmpType_Unknown
Definition: IgmpLayer.h:125
void computeCalculateFields()
uint8_t sourceAddresses[]
Definition: IgmpLayer.h:92
Definition: IgmpLayer.h:81
uint32_t multicastAddress
Definition: IgmpLayer.h:90
IgmpV2Layer(IgmpType type, const IPv4Address &groupAddr=IPv4Address(), uint8_t maxResponseTime=0)
Definition: IgmpLayer.h:297
IgmpV3ReportLayer()
Definition: IgmpLayer.h:429
uint64_t ProtocolType
Definition: ProtocolType.h:18
@ IgmpType_MembershipQuery
Definition: IgmpLayer.h:127
bool removeAllGroupRecords()
igmpv3_group_record * addGroupRecord(uint8_t recordType, const IPv4Address &multicastAddress, const std::vector< IPv4Address > &sourceAddresses)
@ IgmpType_MembershipReportV2
Definition: IgmpLayer.h:137
uint16_t getSourceAddressCount() const
igmpv3_query_header * getIgmpV3QueryHeader() const
Definition: IgmpLayer.h:346
@ IgmpType_CiscoTrace
Definition: IgmpLayer.h:135
@ IgmpType_P1Mv1
Definition: IgmpLayer.h:133
size_t getHeaderLen() const
IgmpType
Definition: IgmpLayer.h:122
OsiModelLayer getOsiModelLayer() const
Definition: IgmpLayer.h:230
@ IgmpType_MembershipReportV3
Definition: IgmpLayer.h:145
IPv4Address getGroupAddress() const
Definition: IgmpLayer.h:185
igmpv3_group_record * getFirstGroupRecord() const
IPv4Address getSourceAddressAtIndex(int index) const
The main namespace for the PcapPlusPlus lib.
@ IgmpType_MulticastTracerouteResponse
Definition: IgmpLayer.h:141
void parseNextLayer()
Definition: IgmpLayer.h:221
const ProtocolType IGMPv1
Definition: ProtocolType.h:158
const ProtocolType IGMPv3
Definition: ProtocolType.h:168
IgmpV3QueryLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
IgmpV1Layer(IgmpType type, const IPv4Address &groupAddr=IPv4Address())
Definition: IgmpLayer.h:256
void computeCalculateFields()
@ IgmpType_MembershipReportV1
Definition: IgmpLayer.h:129
void setType(IgmpType type)
static ProtocolType getIGMPVerFromData(uint8_t *data, size_t dataLen, bool &isQuery)
IPv4Address getSourceAddressAtIndex(int index) const
uint8_t recordType
Definition: IgmpLayer.h:84
std::string toString() const
bool addSourceAddressAtIndex(const IPv4Address &addr, int index)
Definition: IgmpLayer.h:238
uint16_t getGroupRecordCount() const
void setGroupAddress(const IPv4Address &groupAddr)
IgmpV1Layer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: IgmpLayer.h:247
size_t getHeaderLen() const
Definition: IgmpLayer.h:509
~IgmpV2Layer()
Definition: IgmpLayer.h:303
igmp_header * getIgmpHeader() const
Definition: IgmpLayer.h:180
bool removeAllSourceAddresses()
@ IgmpType_MulticastRouterAdvertisement
Definition: IgmpLayer.h:147
void computeCalculateFields()