BgpUpdateMessage

Namespace inet::bgp

BgpUpdateMessage

class

Represents a BGPv4 UPDATE message.

see RFC 4271 Section 4.3

Extends

Name Type Description
BgpHeader (unknown -- not in documented files)

Fields

Name Type Description
type
chunkLength
totalLength
withDrawnRoutesLength uint16_t

This 2-octets unsigned integer indicates the total length of the Withdrawn Routes field in octets. Its value allows the length of the Network Layer Reachability Information field to be determined, as specified below.

A value of 0 indicates that no routes are being withdrawn from service, and that the WITHDRAWN ROUTES field is not present in this UPDATE message.

withdrawnRoutes BgpUpdateWithdrawnRoutes[]
totalPathAttributeLength uint16_t

This 2-octets unsigned integer indicates the total length of Path Attributes field in octets. Its value allows the length of the Network Layer Reachability field to be determined as specified below.

A value of 0 indicates that neither the Network Layer Reachability Information field nor the Path Attribute field is present in this UPDATE message.

pathAttributes BgpUpdatePathAttributes[]
NLRI BgpUpdateNlri[]

Packet operations (observed)

actionmodule
insertAtBackTcpConnection
insertAtFrontBgp

Source code

//
// Represents a BGPv4 UPDATE message.
//
// see RFC 4271 Section 4.3
//
class BgpUpdateMessage extends BgpHeader
{
    type = BGP_UPDATE;
    chunkLength = BGP_HEADER_OCTETS + BGP_EMPTY_UPDATE_OCTETS;
    totalLength = B(BGP_HEADER_OCTETS + BGP_EMPTY_UPDATE_OCTETS).get();

    uint16_t withDrawnRoutesLength = 0;    // This 2-octets unsigned integer indicates the total length of
                                           // the Withdrawn Routes field in octets.  Its value allows the
                                           // length of the Network Layer Reachability Information field to
                                           // be determined, as specified below.
                                           //
                                           // A value of 0 indicates that no routes are being withdrawn from
                                           // service, and that the WITHDRAWN ROUTES field is not present in
                                           // this UPDATE message.

    BgpUpdateWithdrawnRoutes withdrawnRoutes[];
    uint16_t totalPathAttributeLength = 0;    // This 2-octets unsigned integer indicates the total length of
                                              // Path Attributes field in octets.  Its value allows the length
                                              // of the Network Layer Reachability field to be determined as
                                              // specified below.
                                              //
                                              // A value of 0 indicates that neither the Network Layer
                                              // Reachability Information field nor the Path Attribute field is
                                              // present in this UPDATE message.
    BgpUpdatePathAttributes *pathAttributes[] @owned @allowReplace;
    BgpUpdateNlri NLRI[];
}
File: src/inet/routing/bgpv4/bgpmessage/BgpHeader.msg