Internet-Draft | BGP Extensions for Segment List | June 2022 |
Liu & Peng | Expires 11 December 2022 | [Page] |
This document proposes extensions of BGP to provide identification and protection information of segment lists within a candidate path when delivering SR policy. And it also extends BGP-LS to provide some extra information of the segment list in the advertisement.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 11 December 2022.¶
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
Segment Routing [RFC8402] allows a headend node to steer a packet flow along any path. [I-D.ietf-spring-segment-routing-policy] details the concept of SR Policy and steering into an SR Policy. An SR Policy is a set of candidate paths, each consisting of one or more segment lists. The headend of an SR Policy may learn multiple candidate paths for an SR Policy.¶
Candidate path can be used for path protection, that is, the lower preference candidate path may be designated as the backup for a specific or all (active) candidate path(s). Backup candidate path provide protection only when all the segment lists in the active CP are invalid.¶
If a candidate path is associated with a set of Segment-Lists, each Segment-List is associated with weight for weighted load balancing.¶
The protection mechanism for SR Policy is not flexible enough. For example, there're three segment lists(SL1, SL2, SL3) in candidate path 1, it may be desired that SL1 and SL2 are the primary path, SL3 are the backup path for SL1 and will be active only when SL1 fails.¶
[I-D.ietf-pce-multipath] proposes extensions to PCEP to specify the protection relationship between segment lists in the candidate path.¶
[I-D.ietf-idr-segment-routing-te-policy] specifies BGP extensions for the advertisement of SR Policies and each candidate path is carried in an NLRI. This document proposes extensions of BGP in order to provide identification and protection information of segment lists when delivering SR policy.¶
[I-D.ietf-idr-te-lsp-distribution] describes a mechanism to collect the SR policy information that is locally available in a node and advertise it into BGP Link State (BGP-LS) updates. This document also extends it to provide some extra information of the segment list in a candidate path in the BGP-LS advertisement.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].¶
Segment List sub-TLV is introduced in [I-D.ietf-idr-segment-routing-te-policy] and it includes the elements of the paths (i.e., segments).¶
This document introduces a one-bit flag in the RESERVED field.¶
B-Flag(Backup Flag): one bit. When set to 0, it indicates that the segment list acts as the active member in the candidate path. When set to 1, it indicates that the segment list acts as the backup path in the candidate path.¶
Using segment lists for path protection can be compatible with using candidate paths. When a path fails, the backup segment list within the same candidate path is used preferentially for path protection. If the backup list is also invalid, then other candidate path can be enabled for protection.¶
This document introduces a new sub-sub-tlv of Segment List sub-TLV, where,¶
The List Protection Info sub-TLV is an optional sub-TLV of List Identifier sub-TLV, where:¶
As defined in [I-D.ietf-idr-segment-routing-te-policy], the SR Policy encoding structure is as follows:¶
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint> Attributes: Tunnel Encaps Attribute (23) Tunnel Type: SR Policy Binding SID Preference Priority Policy Name Explicit NULL Label Policy (ENLP) Segment List Weight Segment Segment ... Segment List ... ...¶
The new SR Policy encoding structure with List Identifier sub-TLV is shown as below:¶
SR Policy SAFI NLRI: <Distinguisher, Policy-Color, Endpoint> Attributes: Tunnel Encaps Attribute (23) Tunnel Type: SR Policy Binding SID SRv6 Binding SID Preference Priority Policy Name Policy Candidate Path Name Explicit NULL Label Policy (ENLP) Segment List List Identifier List Protection Info Weight Segment Segment ... Segment List ... ...¶
[I-D.ietf-idr-te-lsp-distribution] describes a mechanism to collect the SR Policy information that is locally available in a node and advertise it into BGP Link State (BGP-LS) updates. The SR Policy information includes status of the candidate path, e.g, whether the candidate path is administrative shut or not.¶
SR Segment List TLV is defined in [I-D.ietf-idr-te-lsp-distribution] to to report the SID-List(s) of a candidate path. Figure 4 shows the flags in SR Segment List TLV.¶
The D,E,C,V,R,F,A,M flags are defined in [I-D.ietf-idr-te-lsp-distribution].¶
This document introduces two new flags, where,¶
This document introduces a one-bit flag field in the Segment List sub-TLV [I-D.ietf-idr-segment-routing-te-policy] for the Backup Flag (B-Flag).¶
This document defines a new sub-TLV in the registry "SR Policy List Sub-TLVs" [I-D.ietf-idr-segment-routing-te-policy] to be assigned by IANA:¶
Codepoint Description Reference ------------------------------------------------------------- TBD List Identifier Sub-TLV This document¶
This document requests the creation of a new registry called "List Identifier Sub-TLVs" under the "BGP Tunnel Encapsulation" registry. Following initial Sub-TLV codepoint are assigned by this document.¶
Codepoint Description Reference ------------------------------------------------------------- TBD List Protection Sub-TLV This document¶
This document requests bit 9 and bit 10 in the flag field of "SR Segment List TLV" [I-D.ietf-idr-te-lsp-distribution] under the "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" registry.¶
Bit Description Reference ------------------------------------------------------------------ 9 Administrative Shut State Flag(S-Flag) This document 10 Backup Path State Flag(B-Flag) This document¶
Procedures and protocol extensions defined in this document do not affect the security considerations discussed in [I-D.ietf-idr-segment-routing-te-policy] and [I-D.ietf-idr-te-lsp-distribution].¶