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

Icmpv6Header

class

Represents an ICMPv6 packet.

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

chunkLength

4 (type+code+chksum) + 2 (reserved) + 2 (Nr of records); + records

type

143

code

int

reserved

uint16_t

multicastAddressRecord

Mldv2MulticastAddressRecord[]

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[];
}

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