Internet-Draft PCEP Extensions to Redundancy Policy July 2022
Yang, et al. Expires 12 January 2023 [Page]
Workgroup:
PCE Working Group
Internet-Draft:
draft-yang-pce-pcep-redundancy-policy-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
F. Yang
Huawei
X. Geng
Huawei
T. Zhou
Huawei

Path Computation Element Communication Protocol (PCEP) Extensions to Redundancy Policy

Abstract

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.

Requirements Language

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 .

Status of This Memo

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.

Table of Contents

1. Introduction

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.

2. Terminology

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.

3. RP Object

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

3.1. Redundancy Protection TLV

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:

a)
R-Flag: One bit Redundancy Flag is used to indicate whether PCC requires the common path computation or a redundancy path computation. When redundancy flag bit is set to 0, it means PCC requests a common path computation. When redundancy flag bit is set to 1, it means PCC requests a redundancy path computation.
b)
U-Flag: Unused and undefined

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.

3.2. Protection Type TLV

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

4. PCEP Extensions for Redundancy Policy

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".

4.1. SR Policy Candidate Path Flag TLV

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:

a)
R-Flag: One bit Redundancy Flag is used to indicate the type of candidate path. When R Flag is set, it represents the candidate path is used for the redundancy forwarding.
b)
U-Flag: Unused and undefined

4.2. Path Binding TLV

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.

5. IANA Considerations

5.1. New TLV Type

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  |
  +-----------------+------------------------------------+----------------+

5.2. PCEP Errors

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         |           |
   +------------+------------------+-----------------------+-----------+

6. Security Considerations

TBD

7. References

7.1. Normative References

[I-D.geng-spring-redundancy-policy]
Geng, X., Chen, M., and F. Yang, "Redundancy Policy for Redundancy Protection", Work in Progress, Internet-Draft, draft-geng-spring-redundancy-policy-02, , <https://www.ietf.org/archive/id/draft-geng-spring-redundancy-policy-02.txt>.
[I-D.ietf-pce-segment-routing-policy-cp]
Koldychev, M., Sivabalan, S., Barth, C., Peng, S., and H. Bidgoli, "PCEP extension to support Segment Routing Policy Candidate Paths", Work in Progress, Internet-Draft, draft-ietf-pce-segment-routing-policy-cp-07, , <https://www.ietf.org/archive/id/draft-ietf-pce-segment-routing-policy-cp-07.txt>.
[I-D.ietf-spring-sr-redundancy-protection]
Geng, X., Chen, M., Yang, F., Garvia, P. C., and G. Mishra, "SRv6 for Redundancy Protection", Work in Progress, Internet-Draft, draft-ietf-spring-sr-redundancy-protection-01, , <https://www.ietf.org/archive/id/draft-ietf-spring-sr-redundancy-protection-01.txt>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC5440]
Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, , <https://www.rfc-editor.org/info/rfc5440>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[I-D.ietf-pce-binding-label-sid]
Sivabalan, S., Filsfils, C., Tantsura, J., Previdi, S., and C. L. (editor), "Carrying Binding Label/Segment Identifier (SID) in PCE-based Networks.", Work in Progress, Internet-Draft, draft-ietf-pce-binding-label-sid-15, , <https://www.ietf.org/archive/id/draft-ietf-pce-binding-label-sid-15.txt>.

Authors' Addresses

Fan Yang
Huawei
156 Beiqing Rd.
Beijing
100095
China
Xuesong Geng
Huawei
156 Beiqing Rd.
Beijing
100095
China
Tianran Zhou
Huawei
156 Beiqing Rd.
Beijing
100095
China