2. Multiprotocol Reachable NLRI - MP_REACH_NLRI (Type Code 14)
2. Multiprotocol Reachable NLRI - MP_REACH_NLRI (Type Code 14)
This is an optional non-transitive attribute that can be used for the following purposes:
(a) to advertise a feasible route to a peer
(b) to permit a router to advertise the Network Layer address of the router that should be used as the next hop to the destinations listed in the Network Layer Reachability Information field of the MP_NLRI attribute.
(c) to allow a given router to report some or all of the Subnetwork Points of Attachment (SNPAs) that exist within the local system
The attribute is encoded as shown below:
+---------------------------------------------------------+
| Address Family Identifier (2 octets) |
+---------------------------------------------------------+
| Subsequent Address Family Identifier (1 octet) |
+---------------------------------------------------------+
| Length of Next Hop Network Address (1 octet) |
+---------------------------------------------------------+
| Network Address of Next Hop (variable) |
+---------------------------------------------------------+
| Number of SNPAs (1 octet) |
+---------------------------------------------------------+
| Length of first SNPA(1 octet) |
+---------------------------------------------------------+
| First SNPA (variable) |
+---------------------------------------------------------+
| Length of second SNPA (1 octet) |
+---------------------------------------------------------+
| Second SNPA (variable) |
+---------------------------------------------------------+
| ... |
+---------------------------------------------------------+
| Length of Last SNPA (1 octet) |
+---------------------------------------------------------+
| Last SNPA (variable) |
+---------------------------------------------------------+
| Network Layer Reachability Information (variable) |
+---------------------------------------------------------+
The use and meaning of these fields are as follows:
Address Family Identifier:
This field carries the identity of the Network Layer protocol associated with the Network Address that follows. Presently defined values for this field are specified in RFC 1700 (see the Address Family Numbers section).
Subsequent Address Family Identifier:
This field provides additional information about the type of the Network Layer Reachability Information carried in the attribute.
Length of Next Hop Network Address:
A 1 octet field whose value expresses the length of the "Network Address of Next Hop" field as measured in octets
Network Address of Next Hop:
A variable length field that contains the Network Address of the next router on the path to the destination system
Number of SNPAs:
A 1 octet field which contains the number of distinct SNPAs to be listed in the following fields. The value 0 may be used to indicate that no SNPAs are listed in this attribute.
Length of Nth SNPA:
A 1 octet field whose value expresses the length of the "Nth SNPA of Next Hop" field as measured in semi-octets
Nth SNPA of Next Hop:
A variable length field that contains an SNPA of the router whose Network Address is contained in the "Network Address of Next Hop" field. The field length is an integral number of octets.
Network Layer Reachability Information:
A variable length field that lists NLRI for the feasible routes that are being advertised in this attribute. The format of the NLRI field depends on the Address Family Identifier and the Subsequent Address Family Identifier. When the Subsequent Address Family Identifier field is set to one of the values defined in this document, each NLRI is encoded as specified in RFC 1771 (BGP-4).
An UPDATE message that carries the MP_REACH_NLRI MUST also carry the ORIGIN and AS_PATH attributes (both in EBGP and in IBGP exchanges). Moreover, in IBGP exchanges such a message MUST also carry the LOCAL_PREF attribute.
An UPDATE message that carries no NLRI, other than the one encoded in the MP_REACH_NLRI attribute, SHOULD NOT carry the NEXT_HOP attribute. If such a message contains the NEXT_HOP attribute, the BGP speaker that receives the message SHOULD ignore this attribute.
An UPDATE message SHOULD NOT include the same address family in both the old (non-multiprotocol) reachability information and multiprotocol reachability information fields.