rfc-9086

Border Gateway Protocol - Link State (BGP-LS) Extensions for Segment Routing BGP Egress Peer Engineering

S. Previdi, K. Talaulikar (Editor), C. Filsfils, K. Patel, S. Ray, J. Dong
date2021-08 streamIETF areartg wgidr statusPROPOSED STANDARD pages15 canonicalhttps://www.rfc-editor.org/rfc/rfc9086 doi10.17487/RFC9086
A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with a list of segment identifiers (SIDs). A segment can represent any instruction, topological or service based. SR segments allow steering a flow through any topological path and service chain while maintaining per-flow state only at the ingress node of the SR domain. This document describes an extension to Border Gateway Protocol - Link State (BGP-LS) for advertisement of BGP Peering Segments along with their BGP peering node information so that efficient BGP Egress Peer Engineering (EPE) policies and strategies can be computed based on Segment Routing.

Extracted elements (24)

design-rationale §4

A new BGP-LS Protocol-ID for BGP was introduced to allow separation and differentiation between BGP-LS NLRIs carrying BGP peering information and those carrying IGP link-state information defined in RFC 7752, enabling clean co-existence of both information types.

bgp, routing

design-rationale §4.2

The <ASN, BGP Router-ID> tuple is globally unique (per RFC 6286 requiring Router-ID uniqueness within an AS and non-zero), so their combined use in Node Descriptors maps BGP-LS NLRIs with BGP protocol-ID to a unique BGP router in the administrative domain.

bgp, routing

interoperability-note §1

This document specifies extensions only for the SR-MPLS data plane; corresponding extensions for SRv6 are specified separately in draft-ietf-idr-bgpls-srv6-ext.

bgp, routing, mpls

interoperability-note §3

While extensions are defined for EBGP, they can also be used for IBGP sessions; however, applicability for IBGP is limited to deployments where the IBGP peer is also along the forwarding data path, as IBGP sessions to route reflectors typically are not in the forwarding path.

bgp, routing

normative-requirement §3 SHOULD NOT

BGP Peering SID values SHOULD be persistent across router restart; a BGP router with IBGP sessions to route reflectors SHOULD NOT instantiate BGP Peering SIDs for peers not in the forwarding path.

bgp, routing

normative-requirement §4.2 MUST

BGP Router-ID (TLV 516) and Autonomous System Number (TLV 512) MUST be included as Local Node Descriptors and Remote Node Descriptors when distributing BGP information via BGP-LS NLRI.

bgp, routing

normative-requirement §3 MUST

Each BGP session MUST be described by a PeerNode SID; one PeerNode SID MUST be instantiated to describe the BGP peer session for each BGP peer session enabled for Egress Peer Engineering.

bgp, routing

normative-requirement §5.2 MUST

For PeerAdj SID advertisement, Link Descriptors MUST include the Link Local/Remote Identifiers TLV (258) containing the 4-octet Link Local Identifier followed by the 4-octet Link Remote Identifier; value 0 is used by default when the remote identifier is unknown.

bgp, routing

normative-requirement §5 MUST

Reserved bits in the Peering SID TLV Flags field MUST be zero when originated and ignored when received.

bgp, routing

normative-requirement §7 MUST

The operator MUST be provided with options for configuring, enabling, and disabling advertisement of each PeerNode SID, PeerAdj SID, and PeerSet SID, as well as control of which information is advertised to which peer.

bgp, routing

normative-requirement §5 MUST

When a SID carries a 3-octet local label value (20 rightmost bits), the V- and L-Flags MUST be SET; when carrying a 4-octet SRGB index, the SRGB MUST be advertised using extensions defined in RFC 9085.

bgp, routing

normative-requirement §5 MUST

When enabled for Egress Peer Engineering, the BGP router MUST include the PeerNode SID TLV in the BGP-LS Attribute for the BGP-LS Link NLRI corresponding to its BGP peering sessions.

bgp, routing

protocol-element §4

BGP-LS Protocol-ID 7 is defined for BGP as the NLRI information source protocol, allowing separation and differentiation between BGP-LS NLRIs carrying BGP information from those carrying IGP link-state information.

bgp, routing, registry

protocol-element §4.1

BGP Router-ID Node Descriptor TLV (Type 516) carries a 4-octet unsigned non-zero integer representing the BGP Identifier as defined in RFC 6286.

bgp, routing

protocol-element §4.1

Member-AS Number (Member-ASN) Node Descriptor TLV (Type 517) carries a 4-octet unsigned non-zero integer representing the Member-AS Number per RFC 5065, used for BGP confederation member identification.

bgp, routing

protocol-element §5.2

PeerAdj SID TLV (code point 1102) carries a SID associated with a specific underlying link to the BGP peer with NEXT SR operation semantics where the next-hop is the interface peer address.

bgp, routing

protocol-element §5.1

PeerNode SID TLV (code point 1101) carries a SID with NEXT SR operation semantics, where the next-hop is the connected peering node. It is advertised in BGP-LS Link NLRI with local and remote BGP Router-ID/ASN descriptors and BGP session address link descriptors.

bgp, routing

protocol-element §5.3

PeerSet SID TLV (code point 1103) carries a SID shared amongst BGP peer nodes or underlying links with NEXT SR operation semantics, where the next-hop load-balances across any connected interface to any peer in the associated peer set.

bgp, routing

protocol-element §1

Three types of BGP Peering Segments are defined: PeerNode SID (steer to a specific peer node), PeerAdj SID (steer over a specific local interface towards a specific peer), and PeerSet SID (load-balance to a set of specific peer nodes).

bgp, routing

registry §6

IANA allocated Protocol-ID 7 for BGP in the 'BGP-LS Protocol-IDs' registry. Two new Node Descriptor TLVs (516: BGP Router-ID, 517: BGP Confederation Member) and three new Link Attribute TLVs (1101: PeerNode SID, 1102: PeerAdj SID, 1103: PeerSet SID) were added to the 'BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs' registry.

bgp, routing, registry

security-consideration §8

BGP-EPE enables engineering of traffic leaving an administrative domain, so BGP peering information collected via BGP-LS must be limited to specific consumers in a secure manner. Segment Routing operates within a trusted domain (RFC 8402), and its security considerations also apply to BGP Peering Segments.

bgp, routing, security

security-consideration §8

Isolation of BGP-LS peering sessions is required to ensure that BGP-LS topology information (including BGP peering topology) is not advertised to an external BGP peering session outside an administrative domain.

bgp, routing, security

wire-format §5

BGP Peering SID TLV format consists of: 2-octet Type (1101/1102/1103), 2-octet Length (7 or 8), 1-octet Flags (V/L/B/P bits), 1-octet Weight, 2-octet Reserved, and a variable SID/Label/Index field (3 octets for label, 4 octets for index).

bgp, routing

wire-format §5

The Peering SID TLV Flags field is 1 octet with V-Flag (value/label), L-Flag (local significance), B-Flag (backup/FRR eligible), P-Flag (persistent allocation), and reserved bits that MUST be zero on origination and ignored on receipt.

bgp, routing