BgpUpdatePathAttributes

Namespace: inet::bgp

class BgpUpdatePathAttributes

(no description)

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

cObject

(unknown – not in documented files)

Known subclasses

Name

Type

Description

BgpUpdatePathAttributesAggregator

class

(no description)

BgpUpdatePathAttributesAsPath

class

AS_PATH (RFC4271 Section 4.3, Type code 2):

BgpUpdatePathAttributesAtomicAggregate

class

ATOMIC_AGGREGATE (RFC4271 Section 4.3, Type code 6):

BgpUpdatePathAttributesLocalPref

class

LOCAL_PREF (RFC4271 Section 4.3, Type code 5):

BgpUpdatePathAttributesMpReachNlri

class

MP_REACH_NLRI (RFC 4760 Section 3, Type code 14): carries reachable NLRI for a non-IPv4 address family (here IPv6 unicast: AFI=2, SAFI=1) together with that family’s next hop.

BgpUpdatePathAttributesMpUnreachNlri

class

MP_UNREACH_NLRI (RFC 4760 Section 4, Type code 15): withdraws NLRI for a non-IPv4 family.

BgpUpdatePathAttributesMultiExitDisc

class

MULTI_EXIT_DISC (RFC4271 Section 4.3, Type code 4):

BgpUpdatePathAttributesNextHop

class

NEXT_HOP (RFC4271 Section 4.3, Type code 3):

BgpUpdatePathAttributesOrigin

class

ORIGIN (RFC4271 Section 4.3, Type code 1):

Fields

Name

Type

Description

optionalBit

bool

1 bit, Optional bit. It defines whether the attribute is optional (if set to 1) or well-known (if set to 0).

transitiveBit

bool

1 bit, Transitive bit. It defines whether an optional attribute is transitive (if set to 1) or non-transitive (if set to 0). Transitive bit MUST be set to 1 for well-known attributes

partialBit

bool

1 bit, Partial bit. It defines whether the information contained in the optional transitive attribute is partial (if set to 1) or complete (if set to 0). For well-known attributes and for optional non-transitive attributes, the Partial bit MUST be set to 0.

extendedLengthBit

bool

1 bit, Extended Length bit. It defines whether the Attribute Length is one octet (if set to 0) or two octets (if set to 1).

reserved

unsigned short

4 bit

typeCode

BgpUpdateAttributeTypeCode

1 octet

length

unsigned short

2 octets or just 1 depending on the value of flags.extendedLengthBit

Properties

Name

Value

Description

packetData

Source code

class BgpUpdatePathAttributes extends cObject
{
    @packetData;
    bool optionalBit = false;    // 1 bit, Optional bit. It defines whether the attribute is optional (if set to 1) or well-known (if set to 0).
    bool transitiveBit = false;    // 1 bit, Transitive bit. It defines whether an optional attribute is transitive (if set to 1) or non-transitive (if set to 0). Transitive bit MUST be set to 1 for well-known attributes
    bool partialBit = false;    // 1 bit, Partial bit. It defines whether the information contained in the optional transitive attribute is partial (if set to 1) or complete (if set to 0).  For well-known attributes and for optional non-transitive attributes, the Partial bit MUST be set to 0.
    bool extendedLengthBit = false;    // 1 bit, Extended Length bit. It defines whether the Attribute Length is one octet (if set to 0) or two octets (if set to 1).
    unsigned short reserved = 0;    // 4 bit
    BgpUpdateAttributeTypeCode typeCode;    // 1 octet
    unsigned short length; // 2 octets or just 1 depending on the value of flags.extendedLengthBit
}

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