MldMessage¶
Namespace: inet
class MldMessage
Base class for MLDv1 messages (RFC 2710). Carried as ICMPv6 type 130 (Query), 131 (Report), 132 (Done). Inherits type, chksum, and checksumMode from Icmpv6Header.
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
Represents an ICMPv6 packet. |
Known subclasses¶
Name |
Type |
Description |
|---|---|---|
class |
MLDv1 Multicast Listener Done (RFC 2710, ICMPv6 type 132). |
|
class |
MLDv1 Multicast Listener Query (RFC 2710, ICMPv6 type 130). General query: multicastAddress = :: Group-specific query: multicastAddress = group address |
|
class |
MLDv1 Multicast Listener Report (RFC 2710, ICMPv6 type 131). |
|
class |
MLDv2 Multicast Listener Query (RFC 3810 §5.1, ICMPv6 type 130). |
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 |
|
code |
int |
always 0 for MLD (RFC 2710 §3) |
maxRespDelay |
uint16_t |
Maximum Response Delay, ms (16 bits) |
reserved |
uint16_t |
reserved (16 bits, must be 0) |
multicastAddress |
128-bit multicast group address |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// Base class for MLDv1 messages (RFC 2710).
// Carried as ICMPv6 type 130 (Query), 131 (Report), 132 (Done).
// Inherits type, chksum, and checksumMode from Icmpv6Header.
//
class MldMessage extends Icmpv6Header
{
int code = 0; // always 0 for MLD (RFC 2710 §3)
uint16_t maxRespDelay = 0; // Maximum Response Delay, ms (16 bits)
uint16_t reserved = 0; // reserved (16 bits, must be 0)
Ipv6Address multicastAddress; // 128-bit multicast group address
}