BgpUpdatePathAttributesMpReachNlri

Namespace: inet::bgp

class BgpUpdatePathAttributesMpReachNlri

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.

Usage diagram

Inheritance diagram

Extends

Name

Type

Description

BgpUpdatePathAttributes

class

(no description)

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

typeCode

optionalBit

transitiveBit

afi

uint16_t

Address Family Identifier (2 = IPv6)

safi

uint8_t

Subsequent Address Family Identifier (1 = unicast)

nextHopLength

uint8_t

length of the next-hop network address in octets (16 for an IPv6 global address)

nextHop

L3Address

next-hop network address (1 reserved octet on the wire, RFC 4760)

nlri

BgpUpdateNlri6[]

Network Layer Reachability Information

Properties

Name

Value

Description

packetData

Source code

// 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.
class BgpUpdatePathAttributesMpReachNlri extends BgpUpdatePathAttributes
{
    typeCode = MP_REACH_NLRI;
    optionalBit = true;
    transitiveBit = false;
    uint16_t afi;           // Address Family Identifier (2 = IPv6)
    uint8_t safi;           // Subsequent Address Family Identifier (1 = unicast)
    uint8_t nextHopLength;  // length of the next-hop network address in octets (16 for an IPv6 global address)
    L3Address nextHop;      // next-hop network address
    // (1 reserved octet on the wire, RFC 4760)
    BgpUpdateNlri6 nlri[];  // Network Layer Reachability Information
}

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