Skip to main content

3.3 The BGP-LS Attribute

3.3. The BGP-LS Attribute

The BGP-LS attribute is an optional, non-transitive BGP attribute

that is used to carry link, node, and prefix parameters and

attributes. It is defined as a set of Type/Length/Value (TLV)

triplets, described in the following section. This attribute SHOULD

only be included with Link-State NLRIs. This attribute MUST be

ignored for all other address families.

Node attribute TLVs are the TLVs that may be encoded in the BGP-LS

attribute with a Node NLRI. The following Node Attribute TLVs are

defined:

   +-------------+----------------------+----------+-------------------+
| TLV Code | Description | Length | Reference |
| Point | | | (RFC/Section) |
+-------------+----------------------+----------+-------------------+
| 263 | Multi-Topology | variable | Section 3.2.1.5 |
| | Identifier | | |
| 1024 | Node Flag Bits | 1 | Section 3.3.1.1 |
| 1025 | Opaque Node | variable | Section 3.3.1.5 |
| | Attribute | | |
| 1026 | Node Name | variable | Section 3.3.1.3 |
| 1027 | IS-IS Area | variable | Section 3.3.1.2 |
| | Identifier | | |
| 1028 | IPv4 Router-ID of | 4 | [RFC5305]/4.3 |
| | Local Node | | |
| 1029 | IPv6 Router-ID of | 16 | [RFC6119]/4.1 |
| | Local Node | | |
+-------------+----------------------+----------+-------------------+

Table 7: Node Attribute TLVs

The Node Flag Bits TLV carries a bit mask describing node attributes.

The value is a variable-length bit array of flags, where each bit

represents a node capability.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|O|T|E|B|R|V| Rsvd|
+-+-+-+-+-+-+-+-+-+

Figure 15: Node Flag Bits TLV Format

The bits are defined as follows:

        +-----------------+-------------------------+------------+
| Bit | Description | Reference |
+-----------------+-------------------------+------------+
| 'O' | Overload Bit | [ISO10589] |
| 'T' | Attached Bit | [ISO10589] |
| 'E' | External Bit | [RFC2328] |
| 'B' | ABR Bit | [RFC2328] |
| 'R' | Router Bit | [RFC5340] |
| 'V' | V6 Bit | [RFC5340] |
| Reserved (Rsvd) | Reserved for future use | |
+-----------------+-------------------------+------------+

Table 8: Node Flag Bits Definitions

An IS-IS node can be part of one or more IS-IS areas. Each of these

area addresses is carried in the IS-IS Area Identifier TLV. If

multiple area addresses are present, multiple TLVs are used to encode

them. The IS-IS Area Identifier TLV may be present in the BGP-LS

attribute only when advertised in the Link-State Node NLRI.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Area Identifier (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 16: IS-IS Area Identifier TLV Format

The Node Name TLV is optional. Its structure and encoding has been

borrowed from [RFC5301]. The Value field identifies the symbolic

name of the router node. This symbolic name can be the Fully

Qualified Domain Name (FQDN) for the router, it can be a subset of

the FQDN (e.g., a hostname), or it can be any string operators want

to use for the router. The use of FQDN or a subset of it is strongly

RECOMMENDED. The maximum length of the Node Name TLV is 255 octets.

The Value field is encoded in 7-bit ASCII. If a user interface for

configuring or displaying this field permits Unicode characters, that

user interface is responsible for applying the ToASCII and/or

ToUnicode algorithm as described in [RFC5890] to achieve the correct

format for transmission or display.

Although [RFC5301] describes an IS-IS-specific extension, usage of

the Node Name TLV is possible for all protocols. How a router

derives and injects node names, e.g., OSPF nodes, is outside of the

scope of this document.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Node Name (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 17: Node Name Format

The local IPv4/IPv6 Router-ID TLVs are used to describe auxiliary

Router-IDs that the IGP might be using, e.g., for TE and migration

purposes such as correlating a Node-ID between different protocols.

If there is more than one auxiliary Router-ID of a given type, then

each one is encoded in its own TLV.

The Opaque Node Attribute TLV is an envelope that transparently

carries optional Node Attribute TLVs advertised by a router. An

originating router shall use this TLV for encoding information

specific to the protocol advertised in the NLRI header Protocol-ID

field or new protocol extensions to the protocol as advertised in the

NLRI header Protocol-ID field for which there is no protocol-neutral

representation in the BGP Link-State NLRI. The primary use of the

Opaque Node Attribute TLV is to bridge the document lag between,

e.g., a new IGP link-state attribute being defined and the protocol-

neutral BGP-LS extensions being published. A router, for example,

could use this extension in order to advertise the native protocol's

Node Attribute TLVs, such as the OSPF Router Informational

Capabilities TLV defined in [RFC7770] or the IGP TE Node Capability

Descriptor TLV described in [RFC5073].

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque node attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 18: Opaque Node Attribute Format

Link Attribute TLVs are TLVs that may be encoded in the BGP-LS

attribute with a Link NLRI. Each 'Link Attribute' is a Type/Length/

Value (TLV) triplet formatted as defined in Section 3.1. The format

and semantics of the Value fields in some Link Attribute TLVs

correspond to the format and semantics of the Value fields in IS-IS

Extended IS Reachability sub-TLVs, defined in [RFC5305] and

[RFC5307]. Other Link Attribute TLVs are defined in this document.

Although the encodings for Link Attribute TLVs were originally

defined for IS-IS, the TLVs can carry data sourced by either IS-IS or

OSPF.

The following Link Attribute TLVs are valid in the BGP-LS attribute

with a Link NLRI:

   +-----------+---------------------+--------------+------------------+
| TLV Code | Description | IS-IS TLV | Reference |
| Point | | /Sub-TLV | (RFC/Section) |
+-----------+---------------------+--------------+------------------+
| 1028 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Local Node | | |
| 1029 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Local Node | | |
| 1030 | IPv4 Router-ID of | 134/--- | [RFC5305]/4.3 |
| | Remote Node | | |
| 1031 | IPv6 Router-ID of | 140/--- | [RFC6119]/4.1 |
| | Remote Node | | |
| 1088 | Administrative | 22/3 | [RFC5305]/3.1 |
| | group (color) | | |
| 1089 | Maximum link | 22/9 | [RFC5305]/3.4 |
| | bandwidth | | |
| 1090 | Max. reservable | 22/10 | [RFC5305]/3.5 |
| | link bandwidth | | |
| 1091 | Unreserved | 22/11 | [RFC5305]/3.6 |
| | bandwidth | | |
| 1092 | TE Default Metric | 22/18 | Section 3.3.2.3 |
| 1093 | Link Protection | 22/20 | [RFC5307]/1.2 |
| | Type | | |
| 1094 | MPLS Protocol Mask | --- | Section 3.3.2.2 |
| 1095 | IGP Metric | --- | Section 3.3.2.4 |
| 1096 | Shared Risk Link | --- | Section 3.3.2.5 |
| | Group | | |
| 1097 | Opaque Link | --- | Section 3.3.2.6 |
| | Attribute | | |
| 1098 | Link Name | --- | Section 3.3.2.7 |
+-----------+---------------------+--------------+------------------+

Table 9: Link Attribute TLVs

The local/remote IPv4/IPv6 Router-ID TLVs are used to describe

auxiliary Router-IDs that the IGP might be using, e.g., for TE

purposes. All auxiliary Router-IDs of both the local and the remote

node MUST be included in the link attribute of each Link NLRI. If

there is more than one auxiliary Router-ID of a given type, then

multiple TLVs are used to encode them.

The MPLS Protocol Mask TLV carries a bit mask describing which MPLS

signaling protocols are enabled. The length of this TLV is 1. The

value is a bit array of 8 flags, where each bit represents an MPLS

Protocol capability.

Generation of the MPLS Protocol Mask TLV is only valid for and SHOULD

only be used with originators that have local link insight, for

example, the Protocol-IDs 'Static configuration' or 'Direct' as per

Table 2. The MPLS Protocol Mask TLV MUST NOT be included in NLRIs

with the other Protocol-IDs listed in Table 2.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L|R| Reserved |
+-+-+-+-+-+-+-+-+

Figure 19: MPLS Protocol Mask TLV

The following bits are defined:

   +------------+------------------------------------------+-----------+
| Bit | Description | Reference |
+------------+------------------------------------------+-----------+
| 'L' | Label Distribution Protocol (LDP) | [RFC5036] |
| 'R' | Extension to RSVP for LSP Tunnels | [RFC3209] |
| | (RSVP-TE) | |
| 'Reserved' | Reserved for future use | |
+------------+------------------------------------------+-----------+

Table 10: MPLS Protocol Mask TLV Codes

The TE Default Metric TLV carries the Traffic Engineering metric for

this link. The length of this TLV is fixed at 4 octets. If a source

protocol uses a metric width of less than 32 bits, then the high-

order bits of this field MUST be padded with zero.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TE Default Link Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 20: TE Default Metric TLV Format

The IGP Metric TLV carries the metric for this link. The length of

this TLV is variable, depending on the metric width of the underlying

protocol. IS-IS small metrics have a length of 1 octet (the two most

significant bits are ignored). OSPF link metrics have a length of 2

octets. IS-IS wide metrics have a length of 3 octets.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// IGP Link Metric (variable length) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 21: IGP Metric TLV Format

The Shared Risk Link Group (SRLG) TLV carries the Shared Risk Link

Group information (see Section 2.3 ("Shared Risk Link Group

Information") of [RFC4202]). It contains a data structure consisting

of a (variable) list of SRLG values, where each element in the list

has 4 octets, as shown in Figure 22. The length of this TLV is 4 *

(number of SRLG values).

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Shared Risk Link Group Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// ............ //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Shared Risk Link Group Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 22: Shared Risk Link Group TLV Format

The SRLG TLV for OSPF-TE is defined in [RFC4203]. In IS-IS, the SRLG

information is carried in two different TLVs: the IPv4 (SRLG) TLV

(Type 138) defined in [RFC5307] and the IPv6 SRLG TLV (Type 139)

defined in [RFC6119]. In Link-State NLRI, both IPv4 and IPv6 SRLG

information are carried in a single TLV.

The Opaque Link Attribute TLV is an envelope that transparently

carries optional Link Attribute TLVs advertised by a router. An

originating router shall use this TLV for encoding information

specific to the protocol advertised in the NLRI header Protocol-ID

field or new protocol extensions to the protocol as advertised in the

NLRI header Protocol-ID field for which there is no protocol-neutral

representation in the BGP Link-State NLRI. The primary use of the

Opaque Link Attribute TLV is to bridge the document lag between,

e.g., a new IGP link-state attribute being defined and the 'protocol-

neutral' BGP-LS extensions being published.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque link attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 23: Opaque Link Attribute TLV Format

The Link Name TLV is optional. The Value field identifies the

symbolic name of the router link. This symbolic name can be the FQDN

for the link, it can be a subset of the FQDN, or it can be any string

operators want to use for the link. The use of FQDN or a subset of

it is strongly RECOMMENDED. The maximum length of the Link Name TLV

is 255 octets.

The Value field is encoded in 7-bit ASCII. If a user interface for

configuring or displaying this field permits Unicode characters, that

user interface is responsible for applying the ToASCII and/or

ToUnicode algorithm as described in [RFC5890] to achieve the correct

format for transmission or display.

How a router derives and injects link names is outside of the scope

of this document.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Link Name (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 24: Link Name TLV Format

Prefixes are learned from the IGP topology (IS-IS or OSPF) with a set

of IGP attributes (such as metric, route tags, etc.) that MUST be

reflected into the BGP-LS attribute with a prefix NLRI. This section

describes the different attributes related to the IPv4/IPv6 prefixes.

Prefix Attribute TLVs SHOULD be used when advertising NLRI types 3

and 4 only. The following Prefix Attribute TLVs are defined:

   +---------------+----------------------+----------+-----------------+
| TLV Code | Description | Length | Reference |
| Point | | | |
+---------------+----------------------+----------+-----------------+
| 1152 | IGP Flags | 1 | Section 3.3.3.1 |
| 1153 | IGP Route Tag | 4*n | [RFC5130] |
| 1154 | IGP Extended Route | 8*n | [RFC5130] |
| | Tag | | |
| 1155 | Prefix Metric | 4 | [RFC5305] |
| 1156 | OSPF Forwarding | 4 | [RFC2328] |
| | Address | | |
| 1157 | Opaque Prefix | variable | Section 3.3.3.6 |
| | Attribute | | |
+---------------+----------------------+----------+-----------------+

Table 11: Prefix Attribute TLVs

The IGP Flags TLV contains IS-IS and OSPF flags and bits originally

assigned to the prefix. The IGP Flags TLV is encoded as follows:

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|D|N|L|P| Resvd.|
+-+-+-+-+-+-+-+-+

Figure 25: IGP Flag TLV Format

The Value field contains bits defined according to the table below:

           +----------+---------------------------+-----------+
| Bit | Description | Reference |
+----------+---------------------------+-----------+
| 'D' | IS-IS Up/Down Bit | [RFC5305] |
| 'N' | OSPF "no unicast" Bit | [RFC5340] |
| 'L' | OSPF "local address" Bit | [RFC5340] |
| 'P' | OSPF "propagate NSSA" Bit | [RFC5340] |
| Reserved | Reserved for future use. | |
+----------+---------------------------+-----------+

Table 12: IGP Flag Bits Definitions

The IGP Route Tag TLV carries original IGP Tags (IS-IS [RFC5130] or

OSPF) of the prefix and is encoded as follows:

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Route Tags (one or more) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 26: IGP Route Tag TLV Format

Length is a multiple of 4.

The Value field contains one or more Route Tags as learned in the IGP

topology.

The Extended IGP Route Tag TLV carries IS-IS Extended Route Tags of

the prefix [RFC5130] and is encoded as follows:

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Extended Route Tag (one or more) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 27: Extended IGP Route Tag TLV Format

Length is a multiple of 8.

The Extended Route Tag field contains one or more Extended Route Tags

as learned in the IGP topology.

The Prefix Metric TLV is an optional attribute and may only appear

once. If present, it carries the metric of the prefix as known in

the IGP topology as described in Section 4 of [RFC5305] (and

therefore represents the reachability cost to the prefix). If not

present, it means that the prefix is advertised without any

reachability.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Metric |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 28: Prefix Metric TLV Format

Length is 4.

The OSPF Forwarding Address TLV [RFC2328] [RFC5340] carries the OSPF

forwarding address as known in the original OSPF advertisement.

Forwarding address can be either IPv4 or IPv6.

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Forwarding Address (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 29: OSPF Forwarding Address TLV Format

Length is 4 for an IPv4 forwarding address, and 16 for an IPv6

forwarding address.

The Opaque Prefix Attribute TLV is an envelope that transparently

carries optional Prefix Attribute TLVs advertised by a router. An

originating router shall use this TLV for encoding information

specific to the protocol advertised in the NLRI header Protocol-ID

field or new protocol extensions to the protocol as advertised in the

NLRI header Protocol-ID field for which there is no protocol-neutral

representation in the BGP Link-State NLRI. The primary use of the

Opaque Prefix Attribute TLV is to bridge the document lag between,

e.g., a new IGP link-state attribute being defined and the protocol-

neutral BGP-LS extensions being published.

The format of the TLV is as follows:

      0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Opaque Prefix Attributes (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 30: Opaque Prefix Attribute TLV Format

Type is as specified in Table 11. Length is variable.