Internet-Draft | Advertising Redundancy Policy in BGP | July 2022 |
Yang, et al. | Expires 12 January 2023 | [Page] |
Redundancy Protection is a generalized protection mechanism by replicating and transmitting copies of flow packets on redundancy node over multiple different and disjoint paths, and further eliminating the redundant packets at merging node. In order to support the replication behavior of redundancy protection, Redundancy Policy is used to instruct the replication of service packets and assign more than one redundancy forwarding paths. This document defines the extensions to BGP to advertise the redundancy policy.¶
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 .¶
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 12 January 2023.¶
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.¶
Redundancy protection [I-D.ietf-spring-sr-redundancy-protection] is a generalized protection mechanism by replicating and transmitting copies of flow packets on redundancy node over multiple different and disjoint paths, and further eliminating the redundant packets at merging node. To support the replication on the redundancy node, Redundancy Segment[I-D.ietf-spring-sr-redundancy-protection] and Redundancy Policy[I-D.geng-spring-redundancy-policy] are specified respectively. Redundancy Segment is the variation of Binding SID to associate with a Redundancy Policy, instantiation of which provides segment lists of more than one disjoint paths. Redundancy Policy is a variant of SR Policy [I-D.ietf-spring-segment-routing-policy], and shares the basic structure and elements with SR Policy. Different from SR policy, a new attribute Flag is added to indicate the type of the Candidate Path as redundancy type, which means all the Segment-Lists in this candidate path are used to forward the different copies of service traffics.¶
This document defines the extensions to Border Gateway Protocol (BGP) to distribute the redundancy policy information. As a variant of SR policy, Redundancy Policy reuses the BGP extensions to SR policy candidate path and other information distribution specified in [I-D.ietf-idr-segment-routing-te-policy]. In addition, a new sub-TLV is defined in this document to support the distribution of new attribute of redundancy policy.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
As a variant of SR policy, redundancy policy uses the same Subsequent Address Family Identifier (SAFI) whose NLRI identifies an SR Policy candidate path. The Tunnel Type identifier for SR Policy and a set of sub-TLVs specifying segment lists of the SR Policy candidate path, as well as other information about the SR Policy are reused. The content of Redundancy Policy Candidate Path is encoded in the Tunnel Encapsulation Attribute [RFC9012] by using the same Tunnel-Type of SR Policy Type.¶
The redundancy 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 SRv6 Binding SID Redundancy Flag Preference Priority Policy Name Policy Candidate Path Name Explicit NULL Label Policy (ENLP) Segment List Segment Segment ... ...¶
Redundancy policy introduces a new attribute Flag to indicate the type of Candidate Path as redundancy type. Correspondingly, a new Flag sub-TLV is defined to be attached at the candidate path level as a sub-TLV. The Flag sub-TLV is optional and MUST NOT appear more than once in the Redundancy Policy encoding.¶
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(TBD1) | Length | Flags | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Candidate Path Flag Sub-TLV¶
where:¶
0 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R|U|U|U|U|U|U|U| +-+-+-+-+-+-+-+-+ where:¶
Candidate Path Flags¶
Redundancy Policy can be optionally associated with a Binding Segment, which can only be Redundancy Segment. When there is a Redundancy Segment associated with Redundancy Policy, Redundancy Segment is required to be distributed by the Binding SID Sub-TLV or SRv6 Binding SID Sub-TLV defined in section 2.4.2 and 2.4.3 of [I-D.ietf-idr-segment-routing-te-policy] respectively. In SRv6, the endpoint behavior End.R of Redundancy Segment is required to be distributed with SRv6 Binding SID at the same time.¶
This document defines new sub-TLVs in the registry "BGP Tunnel Encapsulation Attribute sub-TLVs" that has been assigned codepoints by IANA as follows via the early allocation process:¶
Codepoint Description Reference ----------------------------------------------------- TBD Flag sub-TLV This I-D¶
TBD¶