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

Icmpv6Header

class

Represents an ICMPv6 packet.

Known subclasses

Name

Type

Description

MldDone

class

MLDv1 Multicast Listener Done (RFC 2710, ICMPv6 type 132).

MldQuery

class

MLDv1 Multicast Listener Query (RFC 2710, ICMPv6 type 130). General query: multicastAddress = :: Group-specific query: multicastAddress = group address

MldReport

class

MLDv1 Multicast Listener Report (RFC 2710, ICMPv6 type 131).

Mldv2Query

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

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

chunkLength

type

Icmpv6Type

1 byte int code; // 1 byte //TODO this should be specific to different ICMP types.

chksum

int

2 bytes

checksumMode

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

Ipv6Address

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
}

File: src/inet/networklayer/icmpv6/MldMessage.msg