Mldv2Report¶
Namespace: inet
class Mldv2Report
MLDv2 Multicast Listener Report (RFC 3810 §5.2, ICMPv6 type 143).
code carries the first Reserved byte of the ICMPv6 header (always 0); reserved
is the second Reserved field. Records follow.
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
Represents an ICMPv6 packet. |
Fields¶
Name |
Type |
Description |
|---|---|---|
id |
int |
|
mutable |
bool |
|
complete |
bool |
|
correct |
bool |
|
properlyRepresented |
bool |
|
chunkLength |
||
rawBin |
string[] |
|
rawHex |
string[] |
|
regionTags |
||
chunkLength |
||
type |
1 byte int code; // 1 byte //TODO this should be specific to different ICMP types. |
|
chksum |
int |
2 bytes |
checksumMode |
4 bytes ‘type’ specific values |
|
chunkLength |
4 (type+code+chksum) + 2 (reserved) + 2 (Nr of records); + records |
|
type |
143 |
|
code |
int |
|
reserved |
uint16_t |
|
multicastAddressRecord |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// MLDv2 Multicast Listener Report (RFC 3810 §5.2, ICMPv6 type 143).
//
// `code` carries the first Reserved byte of the ICMPv6 header (always 0); `reserved`
// is the second Reserved field. Records follow.
//
class Mldv2Report extends Icmpv6Header
{
chunkLength = B(8); // 4 (type+code+chksum) + 2 (reserved) + 2 (Nr of records); + records
type = ICMPv6_MLDv2_REPORT; // 143
int code = 0;
uint16_t reserved = 0;
Mldv2MulticastAddressRecord multicastAddressRecord[];
}