BgpOpenMessage

Namespace: inet::bgp

class BgpOpenMessage

Represents a BGPv4 OPEN message.

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

BgpHeader

class

Represents a BGPv4 message header.

Fields

Name

Type

Description

id

int

mutable

bool

complete

bool

correct

bool

properlyRepresented

bool

chunkLength

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

chunkLength

marker

uint8_t[16]

totalLength

uint16_t

type

BgpType

type

chunkLength

totalLength

version

uint8_t

BGP Version, 1 octet

myAS

uint16_t

My Autonomous system, 2 octets

holdTime

simtime_t

Hold Time in seconds, 2 octets

bgpIdentifier

Ipv4Address

4 octets

optionalParametersLength

unsigned short

1 octet, total length (in bytes) of optionalParameters[] (if = 0, no optional parameters)

optionalParameter

BgpOptionalParameterBase *[]

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// Represents a BGPv4 OPEN message.
//
class BgpOpenMessage extends BgpHeader
{
    type = BGP_OPEN;
    chunkLength = BGP_HEADER_OCTETS + BGP_OPEN_OCTETS;
    totalLength = (BGP_HEADER_OCTETS + BGP_OPEN_OCTETS).get<B>();

    uint8_t version = 4;    // BGP Version, 1 octet
    uint16_t myAS;    // My Autonomous system, 2 octets
    simtime_t holdTime;    // Hold Time in seconds, 2 octets
    Ipv4Address bgpIdentifier;    // 4 octets
    unsigned short optionalParametersLength;    // 1 octet, total length (in bytes) of optionalParameters[] (if = 0, no optional parameters)
    BgpOptionalParameterBase *optionalParameter[] @owned;
}

File: src/inet/routing/bgpv4/bgpmessage/BgpHeader.msg