rfc-4760

Multiprotocol Extensions for BGP-4

T. Bates, R. Chandra, D. Katz, Y. Rekhter
date2007-01 streamIETF areartg wgidr statusDRAFT STANDARD pages12 canonicalhttps://www.rfc-editor.org/rfc/rfc4760 doi10.17487/RFC4760 errataview
This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, L3VPN, etc.). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. [STANDARDS-TRACK]

obsoletes

updated by

Extracted elements (24)

design-rationale §1

MP_REACH_NLRI and MP_UNREACH_NLRI are defined as optional non-transitive attributes to provide backward compatibility, so that BGP speakers not supporting multiprotocol extensions will silently ignore these attributes rather than propagating or rejecting them.

bgp, routing

design-rationale §1

Reachable destinations are grouped with next hop information in MP_REACH_NLRI, and segregated from unreachable destinations (MP_UNREACH_NLRI), because next hop information is meaningful only with reachable destination advertisements.

bgp, routing

interoperability-note §9

SAFI value 3 was assigned by RFC 2858 for a use that was never fully implemented and is deprecated by this document; it is now reserved.

bgp, routing

interoperability-note §10

SAFI values 128-240 were 'private use' in RFC 2858; this document recognizes currently allocated values and reserves the unused ones (130, 131, 135-139, 141-240) to avoid conflicts.

bgp, routing

interoperability-note §10

This document renames the Number of SNPAs field in MP_REACH_NLRI to Reserved and removes all SNPA-related information, representing a breaking change from RFC 2858.

bgp, routing

interoperability-note §11

This document restricts MP_REACH_NLRI and MP_UNREACH_NLRI to carry only a single instance of <AFI, SAFI, ...> per attribute, clarifying ambiguity from RFC 2283 which allowed multiple instances.

bgp, routing

normative-requirement §8 SHOULD

A BGP speaker using Multiprotocol Extensions SHOULD use Capability Advertisement to determine whether a peer supports the extensions before using them.

bgp, routing

normative-requirement §3 MUST

An UPDATE message carrying MP_REACH_NLRI MUST also carry ORIGIN and AS_PATH attributes in both EBGP and IBGP exchanges; in IBGP exchanges it MUST also carry LOCAL_PREF.

bgp, routing

normative-requirement §4 OPTIONAL

An UPDATE message containing MP_UNREACH_NLRI is not required to carry any other path attributes.

bgp, routing

normative-requirement §3 SHOULD NOT

An UPDATE message SHOULD NOT include the same address prefix (of the same <AFI, SAFI>) in more than one of: WITHDRAWN ROUTES, Network Reachability Information, MP_REACH_NLRI, or MP_UNREACH_NLRI fields; processing of such a message is undefined.

bgp, routing

normative-requirement §3 SHOULD NOT

An UPDATE message that carries no NLRI other than in MP_REACH_NLRI SHOULD NOT carry the NEXT_HOP attribute; if it does, the receiver SHOULD ignore NEXT_HOP.

bgp, routing

normative-requirement §7 MUST

If a BGP speaker receives an UPDATE with an incorrect MP_REACH_NLRI or MP_UNREACH_NLRI attribute, it MUST delete all BGP routes from that neighbor with the same AFI/SAFI, and SHOULD ignore all subsequent routes with that AFI/SAFI for the duration of the session.

bgp, routing

normative-requirement §3 MUST

If the Next Hop in MP_REACH_NLRI is allowed to be from more than one Network Layer protocol, the encoding of the Next Hop MUST provide a way to determine its Network Layer protocol.

bgp, routing

normative-requirement §3 MUST

The Reserved field in MP_REACH_NLRI MUST be set to 0 by the sender and SHOULD be ignored upon receipt.

bgp, routing

normative-requirement §8 MUST

To enable bi-directional exchange of routing information for a particular <AFI, SAFI>, each BGP speaker MUST advertise to the other via Capability Advertisement the capability to support that <AFI, SAFI>.

bgp, routing

normative-requirement §7 MAY

Upon receiving an incorrect MP_REACH_NLRI or MP_UNREACH_NLRI, the speaker MAY terminate the BGP session; if terminated, it SHOULD send a Notification with code/subcode 'UPDATE Message Error'/'Optional Attribute Error'.

bgp, routing

protocol-element §3

MP_REACH_NLRI (Type Code 14) is an optional non-transitive BGP path attribute used to advertise feasible routes and next hop information for multiple network layer protocols, identified by a combination of AFI and SAFI.

bgp, routing

protocol-element §4

MP_UNREACH_NLRI (Type Code 15) is an optional non-transitive BGP path attribute used to withdraw multiple unfeasible routes, encoded as AFI (2 octets), SAFI (1 octet), and Withdrawn Routes (variable).

bgp, routing

protocol-element §6

Subsequent Address Family Identifier (SAFI) values defined in this document: 1 for unicast forwarding NLRI, 2 for multicast forwarding NLRI. An implementation MAY support all, some, or none of these values.

bgp, routing

registry §9

The SAFI namespace is maintained by IANA: values 1-2 assigned here, 3 deprecated/reserved, 5-63 via Standards Action or Early IANA Allocation, 67-127 via First Come First Served, 128-240 partially reserved (unused values 130, 131, 135-139, 141-240 reserved), 241-254 private use, 0 and 255 reserved.

bgp, routing, registry

security-consideration §12

The multiprotocol extensions to BGP-4 do not change the underlying security issues inherent in existing BGP; no new security mechanisms are introduced or required.

bgp, routing, security

wire-format §3

MP_REACH_NLRI encodes: AFI (2 octets), SAFI (1 octet), Length of Next Hop Network Address (1 octet), Network Address of Next Hop (variable), Reserved (1 octet, MUST be 0), and NLRI (variable).

bgp, routing

wire-format §5

NLRI is encoded as one or more 2-tuples of the form <Length (1 octet, in bits), Prefix (variable, padded to octet boundary)>. A length of zero matches all addresses.

bgp, routing

wire-format §8

The Multiprotocol Extensions capability value is a 4-octet field containing AFI (16 bits), Reserved (8 bits, SHOULD be 0), and SAFI (8 bits), advertised via BGP Capability Advertisement with Capability Code 1.

bgp, routing