Internet-Draft | PCEP Extensions to Redundancy Policy | July 2022 |
Yang, et al. | Expires 12 January 2023 | [Page] |
PCEP is used to provide a communication between a PCC and a PCE. This document defines the extensions to PCEP to support the redundancy paths computation. Specifically, two new TLVs are defined to support the request of redundancy path computation and protection method, and one TLV is defined to distribute the Candidate Path Flag of an SR 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 the redundancy node over multiple different and disjoint paths, and further eliminating the redundant packets at the merging node. To support redundancy protection in Segment Routing, Redundancy Policy[I-D.geng-spring-redundancy-policy] is provided to instantiate the segment lists of more than one disjoint forwarding paths. This document extends the PCEP protocols to support the request of redundancy paths computation and protection method, and further distribute the flag of redundancy policy to instantiate more than one segment lists for redundancy forwarding.¶
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.¶
The RP (Request Parameters) object defined in [RFC5440] is used to specify various characteristics of the path computation request and MUST be carried within each PCReq and PCRep messages. The format of RP object is as follows:¶
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags |O|B|R| Pri | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request-ID-number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Optional TLVs // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Request Parameters Object¶
In order to request PCE to compute multiple redundancy forwarding paths with the intention of redundancy protection, this document defines a new TLV named Redundancy Protection TLV. The format of Redundancy Protection TLV is shown as follows.¶
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flag | Number | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Redundancy Protection TLV¶
Where:¶
0 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R|U|U|U|U|U|U|U| +-+-+-+-+-+-+-+-+¶
where:¶
When PCC requests a redundancy path computation, it MUST include the Redundancy Flag TLV in the RP object in PCReq message. When PCC includes the Redundancy Flag TLV in a path computation request, PCE would reply with the required number of redundancy forwarding paths and the set of Redundancy Flag associated with the computed paths.¶
As specified in [I-D.geng-spring-redundancy-policy], multiple candidate paths can co-exist with different types of protection. In order to differetiate the types of protection, a new TLV named Protection Type TLV is defined. The format of Protection Type TLV is shown as follows.¶
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 = TBD2 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prot | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
Protection Type TLV¶
where:¶
+--------------+-------------------------+ | Value | Protection Type | +--------------+-------------------------+ | 0 | No protection | +--------------+-------------------------+ | 1 | Backup Protection | +--------------+-------------------------+ | 2 | Redundancy Protection | +--------------+-------------------------+ | 3-15 | Undefined | +--------------+-------------------------+¶
Protection Type Values¶
As per [I-D.ietf-pce-segment-routing-policy-cp], the mapping between PCEP Associations and SR Policies is always one-to-one, and the mapping between PCEP Tunnels and SR Policy Candidate Paths may be either one-to-one or many-to-one. Regarding Redundancy Policy, the mapping between PCEP Associations and Redundancy Policy is always one-to-one. PCEP Tunnels and Redundancy Policy Candidate Paths are always many-to-one. The definitions of SR Policy Association Type (SRPAT) and SR Policy Association Group (SRPAG) apply same to Redundancy policy.¶
This document introduces a new SR Policy Candidate Path Attribute called Flag, which identify the Flag of SR Policy Candidate Path within the context of an SR Policy. This Flag identifier MUST NOT change for a given LSP during its lifetime. When these rules are not satisfied, the PCE MUST send a PCErr message with Error-Type = 26 "Association Error", Error Value = TBD4 "SR Policy Candidate Path Flag Mismatch".¶
A new SR Policy Association Type TLV [I-D.ietf-pce-segment-routing-policy-cp] called SR Policy Candidate Path Flag TLV is defined to indicate the Flag of a candidate path. The format of SR Policy Candidate Path Flag TLV is shown in following.¶
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 (TBD3) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flag | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+¶
where:¶
SRPOLICY-CPPATH-Flag TLV¶
0 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |R|U|U|U|U|U|U|U| +-+-+-+-+-+-+-+-+¶
where:¶
Since Redundancy Policy can be optionally associated with the Binding Segment, specifically the Redundancy Segment, according to [I-D.ietf-pce-segment-routing-policy-cp], the functionality of specified-BSID-only is not mandatory to be enabled. It means that the given Redundancy Segment is not required to be allocated and programmed for the LSP to be operationally up. When there is a Redundancy Segment associated with Redundancy Policy, TE-PATH-BINDIND TLV [I-D.ietf-pce-binding-label-sid] is used to distribute Redundancy Segment as the Binding Segment of Redundancy Policy.¶
This document defines three new TLVs.¶
+-----------------+------------------------------------+----------------+ | Value | Name | Reference | +-----------------+------------------------------------+----------------+ | TBD1 | Redundancy Protection TLV | This document | +-----------------+------------------------------------+----------------+ | TBD2 | Protection Type TLV | This document | +-----------------+------------------------------------+----------------+ | TBD3 | SR Policy Candidate Path Flag TLV | This document | +-----------------+------------------------------------+----------------+¶
This document defines one new Error-Value within the "Association Error" Error-Type. IANA is requested to allocate new error values within the "PCEP-ERROR Object Error Types and Values" sub-registry of the PCEP Numbers registry, as follows:¶
+------------+------------------+-----------------------+-----------+ | Error-Type | Meaning | Error-value | Reference | +------------+------------------+-----------------------+-----------+ | 26 | Association | | [RFC8697] | | | Error | | | +------------+------------------+-----------------------+-----------+ | | | TBD4: SR Policy | This I-D | | | | Candidate Path | | | | | Flag Mismatch | | +------------+------------------+-----------------------+-----------+¶
TBD¶