Ipv6RouterAdvertisement

Namespace: inet

class Ipv6RouterAdvertisement

Router Advertisement Message Format RFC 2461 Section 4.2 RFC 3775 Section 7.1, RFC 5175 Section 3. (homeAgentFlag)

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

Ipv6NdMessage

class

Neighbour Discovery for Ipv6. RFC 2461

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

chunkLength

without options

type

Additional ICMP fields

curHopLimit

unsigned short

managedAddrConfFlag

bool

M-bit

otherStatefulConfFlag

bool

O-bit

homeAgentFlag

bool

H-bit

reserved

uint8_t

routerLifetime

unsigned short

[s] 0 indicates router is not a default router

reachableTime

unsigned int

[ms]

retransTimer

unsigned int

[ms]

options

Ipv6NdOptions

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// Router Advertisement Message Format
// RFC 2461 Section 4.2
// RFC 3775 Section 7.1, RFC 5175 Section 3. (homeAgentFlag)
//
class Ipv6RouterAdvertisement extends Ipv6NdMessage
{
    chunkLength = B(16);    // without options
    type = ICMPv6_ROUTER_AD;
    //Additional ICMP fields
    unsigned short curHopLimit;

    bool managedAddrConfFlag;    //M-bit
    bool otherStatefulConfFlag;    //O-bit
    bool homeAgentFlag = false;        //H-bit
    uint8_t reserved = 0;

    unsigned short routerLifetime;  // [s] 0 indicates router is not a default router
    unsigned int reachableTime;     // [ms]
    unsigned int retransTimer;      // [ms]
    Ipv6NdOptions options;
}

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