BgpHeader

Namespace: inet::bgp

class BgpHeader

Represents a BGPv4 message header.

Header fields modeled:

  • Marker: 16 octets (authentication)

  • Length: 2 octets (total size of the message)

  • Type: 1 octet

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

FieldsChunk

class

(no description)

Known subclasses

Name

Type

Description

BgpKeepAliveMessage

class

Represents a BGPv4 KEEPALIVE message.

BgpOpenMessage

class

Represents a BGPv4 OPEN message.

BgpUpdateMessage

class

Represents a BGPv4 UPDATE message.

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

Properties

Name

Value

Description

beforeChange

handleChange()

descriptor

readonly

existingClass

packetData

Source code

//
// Represents a BGPv4 message header.
//
// Header fields modeled:
//   - Marker: 16 octets (authentication)
//   - Length: 2 octets  (total size of the message)
//   - Type: 1 octet
//
class BgpHeader extends FieldsChunk
{
    chunkLength = BGP_HEADER_OCTETS;
    uint8_t marker[16] = 0xFF;
    uint16_t totalLength = BGP_HEADER_OCTETS.get<B>();
    BgpType type = static_cast<BgpType>(-1);
}

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