Packet BGPUpdateMessage

File: src/inet/routing/bgpv4/BGPMessage/BGPUpdate.msg

C++ definition

Represents a BGPv4 UPDATE message.

BGP UPDATE fields modelled:

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends:

Name Type Description
BGPHeader packet

Represents a BGPv4 message header.

Fields:

Name Type Description
type char
byteLength
withdrawnRoutes BGPUpdateWithdrawnRoutes[]
pathAttributeList BGPUpdatePathAttributeList[]

optional field (size is either 0 or 1)

NLRI BGPUpdateNLRI

Source code:

//
// Represents a BGPv4 UPDATE message.
//
// BGP UPDATE fields modelled:
//   - Unfeasible routes length: 2 octets (number of withdrawn routes)
//   - Withdrawn routes : variable size  (list of IP prefixes of unfeasible routes)
//   - Total Path Attributes Length: 1 octet (if = 0, no Path Attributes)
//   - Path Attributes:
//     - Attribute Type (2 octets)
//     - Attribute Length
//     - Attribute Values (variable size)
// - Network Layer Reachability Information: (variable size)
//    - Length : 1 octet
//    - prefix : variable size (contains the IP prefix; IPv4: 4 octets)
//
packet BGPUpdateMessage extends BGPHeader
{
    @customize(true);
    type = BGP_UPDATE;
    byteLength = BGP_HEADER_OCTETS + BGP_EMPTY_UPDATE_OCTETS;

    BGPUpdateWithdrawnRoutes withdrawnRoutes[];
    BGPUpdatePathAttributeList pathAttributeList[]; // optional field (size is either 0 or 1)
    BGPUpdateNLRI NLRI;
}