Internet-Draft PCEP Extensions for Topology Filter March 2023
Xiong, et al. Expires 8 September 2023 [Page]
Workgroup:
PCE
Internet-Draft:
draft-xpbs-pce-topology-filter-02
Published:
Intended Status:
Standards Track
Expires:
Authors:
Q. Xiong
ZTE Corporation
S. Peng
ZTE Corporation
V. Beeram
Juniper Networks
T. Saad
Juniper Networks
M. Koldychev
Cisco Systems

Path Computation Element Communication Protocol (PCEP) Extensions for Topology Filter

Abstract

This document proposes a set of extensions for Path Computation Element Communication Protocol (PCEP) to support the topology filter during path computation.

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 8 September 2023.

1. Introduction

[RFC5440] describes the Path Computation Element Computation Protocol (PCEP) which is used between a Path Computation Element (PCE) and a Path Computation Client (PCC) (or other PCE) to enable computation of Multi-protocol Label Switching (MPLS) for Traffic Engineering Label Switched Path (TE LSP). PCEP Extensions for the Stateful PCE Model [RFC8231] describes a set of extensions to PCEP to enable active control of MPLS-TE and Generalized MPLS (GMPLS) tunnels. As depicted in [RFC4655], a PCE MUST be able to compute the path of a TE LSP by operating on the TED and considering bandwidth and other constraints applicable to the TE LSP service request.

A PCE always perform path computation based on the network topology information collected through BGP-LS [RFC7752]. BGP-LS can get multiple link-state data from multiple IGP instance, or multiple virtual topologies from a single IGP instance. It is necessary to restrict the PCE to a sub-topology during path computation. The PCE MUST take the topology constraint into consideration during path computation.

The sub-topology may be considered as a TE topology or a specific IGP domain. As defined in [I-D.bestbar-teas-yang-topology-filter], a topology filter is a data construct that can be applied on either a native topology or a user specified topology. The topology filter can be viewed as a set of filtering rules to construct the sub-topology. The topology filter specifies the topology reference or a set of include-any, include-all and exclude filtering rules.

This document proposes a set of extensions for PCEP to support the topology filter during path computation.

1.1. Terminology

The terminology is defined as [RFC5440], [RFC7752] and [RFC8795].

1.2. 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 [RFC2119].

2. Topology Filter

As defined in [I-D.bestbar-teas-yang-topology-filter], a topology filter is a data construct that can be applied on either a native topology or a user specified topology. The topology filter can be viewed as a set of filtering rules to construct the sub-topology. The topology filter specifies the topology reference or a set of include-any, include-all and exclude filtering rules.

2.1. Topology Reference

The topology reference indicates the topology on which the existing referenced filtering rules need to be applied. The referenced topology could be a predefined TE topology or a specific IGP domain.

As defined in [RFC7752], the IGP domain has a unique IGP representation by using the combination of Area-ID, Router-ID, Protocol-ID, Multi-Topology ID, and Instance-ID. This document defines TOPOLOGY object and new TLVs for the topology filter such as Source Protocol TLV, Multi-Topology ID, Area-ID and Algorithm TLV.

2.2. Filters

The topology filters carries a list of filters. Each filter specifies a set of include-any, include-all and exclude filtering rules that can be applied on the native topology. The filtering rules specify the a set of constraints on the topology, that are to be used to compute path at PCE. This document proposes a set of extensions for IRO and XRO object and defines new subobjects such as Link ID, Link affinity and Source Protocol.

3. PCEP Extensions

3.1. TOPOLOGY Object

This document defines a new TOPOLOGY object to carry the topology filter.

The TOPOLOGY object is optional and specifies the sub-topology to be taken into account by the PCE during path computation. The TOPOLOGY object can be carried within a PCReq message, or a PCRep message in case of unsuccessful path computation.

TOPOLOGY Object-Class is TBD1.

TOPOLOGY Object-Type is TBD2.

The format of the TOPOLOGY object body is:

        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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Reserved                        |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                      Optional TLVs                          //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: TOPOLOGY Body Object Format

Reserved (24 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.

Flags (8 bits): No flags are currently defined. Unassigned flags MUST be set to zero on transmission and MUST be ignored on receipt.

The format of optional TLVs is defined in [RFC5440] and may be used to carry topology filter information as defined in section.

3.1.1. Source Protocol TLV

The Source Protocol TLV is optional and is defined to carry the protocol ID and Instance ID.

The format of the Source Protocol TLV is:


     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=12          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Protocol-ID  |                  Reserved                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Instance-ID                          |
    |                           (64 bits)                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 2: Source Protocol TLV

The code point for the TLV type is TBD3. The TLV length is 12 octets.

Protocol-ID (8 bits): defined in [RFC7752] section 3.2. IS-IS [RFC8202] and OSPF [RFC6549] MAY run multiple routing protocol instances identified by the Protocol-ID over the same link.

Reserved (24 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.

Instance-ID (64 bits): defined in [RFC7752] section 3.2.

3.1.2. Multi-topology TLV

The Multi-topology TLV is optional and is defined to carry the multi-topology ID.

The format of the Multi-topology TLV is :


    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=TBD4             |            Length=4           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |R R R R|   Multi-Topology ID   |          Reserved             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 3: Multi-topology TLV

The code point for the sub-TLV type is TBD4. The sub-TLV length is 4 octets.

Multi-Topology ID (12 bits): Semantics of the IS-IS MT-ID are defined in Section 7.2 of [RFC5120]. Semantics of the OSPF MT-ID are defined in Section 3.7 of [RFC4915]. As defined in section 3.2.1.5 of [RFC7752], if the value is derived from OSPF, then the upper 9 bits MUST be set to 0. Bits R are reserved and SHOULD be set to 0 when originated and ignored on receipt.

Reserved (16 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.

3.1.3. Area TLV

The Area TLV is optional and is defined to carry the Area ID.

The format of the Area TLV is :


          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=TBD5        |             Length            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     //                 Area ID (variable)                         //
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 4: Area TLV

The code point for the TLV type is TBD3. The TLV length is variable.

Area-ID: Area identifier as defined in [RFC7752].

3.1.4. Algorithm TLV

The Algorithm TLV is optional and is defined to carry the Algorithm ID.

The Algorithm TLV MAY be inserted so as to provide the Flex-algo plane information for the computed path. The format of the TLV is defined in [I-D.ietf-pce-sid-algo] section 3.4.

3.2. IRO Object

As per [RFC5440], IRO can be used to specify that the computed path needs to traverse a set of specified network elements or abstract nodes. This document proposed a set of extensions for topology filter.

The Link ID is used to include the link that is used during the path calculation.

The Link ID subobject is defined:

    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=TBD6   |     Length    |         Reserved              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Link ID (4 bytes)                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Link ID subobject in IRO

The code point for the TLV type is TBD6. The TLV length is 12 octets.

Link ID (32bits ): defined in IS-IS [RFC5307] and OSPF [RFC3630].

3.2.2. Admin Group

The Admin Group is used to include the links that is used during the path calculation.

    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=TBD7   |     Length    |         Reserved              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Extended Admin Group                     |
   +-                                                             -+
   |                            ...                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: Admin Group subobject in IRO

The code point for the TLV type is TBD7. The TLV length is variable.

Extended Administrative Group: Extended Administrative Group as defined in [RFC7308].

3.2.3. Source Protocol

The format of the Source Protocol subobject is:


     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=TBD8    |     Length    |   Reserved    | Protocol-ID   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          Instance-ID                          |
    |                           (64 bits)                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 7: Source Protocol subobject in IRO

The code point for the TLV type is TBD8. The TLV length is 12 octets.

Protocol-ID (8 bits): defined in [RFC7752] section 3.2. IS-IS [RFC8202] and OSPF [RFC6549] MAY run multiple routing protocol instances identified by the Protocol-ID over the same link.

Reserved (24 bits): This field MUST be set to zero on transmission and MUST be ignored on receipt.

Instance-ID (64 bits): defined in [RFC7752] section 3.2.

3.3. XRO Object

As per [RFC5521], XRO is an optional object used to specify exclusion of certain abstract nodes or resources from the whole path. This document proposed a set of extensions for topology filter.

The XRO is made of sub-objects identical to the ones defined in IRO, where the XRO sub-object type is identical to the sub-object type defined in this documents.

The following sub-object types are supported.

Type Sub-object

TBD6 Link ID

TBD7 Admin Group

TBD8 Source Protocol

3.4. Procedures

A PCC MAY insert a TOPOLOGY object to indicate the sub-topology of an IGP domain that MUST be considered by the PCE. The PCE will perform path computation based on the sub-topology identified by the topology filter rules that can be applied on either the native topology or a user specified topology. The absence of the TLVs related topology reference indicates that the filtering rules are to be applied on the native topology.

4. IANA Considerations

4.1. TOPOLOGY Object

IANA is requested to make allocations for Topology Object from the registry, as follows:

TOPOLOGY Object-Class is TBD1.

TOPOLOGY Object-Type is TBD2.

The TLVs for Topology Object is as follows:

Table 1: TLVs for Topology Object
Type TLV Reference
TBD3 Source Protocol TLV [this document]
TBD4 Multi-topology TLV [this document]
TBD5 Area TLV [this document]

4.2. IRO and XRO Object

IANA is requested to make allocations for IRO and ERO Object from the registry, as follows:

Table 2: Subobjects for IRO and XRO Object
Type Subobject Reference
TBD6 Link ID [this document]
TBD7 Admin Group [this document]
TBD8 Source Protocol [this document]

5. Acknowledgements

TBA

6. Security Considerations

TBA

7. References

7.1. Normative References

[I-D.bestbar-teas-yang-topology-filter]
Beeram, V. P., Saad, T., Gandhi, R., and X. Liu, "YANG Data Model for Topology Filter", Work in Progress, Internet-Draft, draft-bestbar-teas-yang-topology-filter-04, , <https://datatracker.ietf.org/doc/html/draft-bestbar-teas-yang-topology-filter-04>.
[I-D.ietf-pce-sid-algo]
Tokar, A., Sidor, S., Peng, S., Sivabalan, S., Saad, T., Peng, S., and M. S. Negi, "Carrying SID Algorithm information in PCE-based Networks.", Work in Progress, Internet-Draft, draft-ietf-pce-sid-algo-00, , <https://datatracker.ietf.org/doc/html/draft-ietf-pce-sid-algo-00>.
[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>.
[RFC3630]
Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering (TE) Extensions to OSPF Version 2", RFC 3630, DOI 10.17487/RFC3630, , <https://www.rfc-editor.org/info/rfc3630>.
[RFC4655]
Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, , <https://www.rfc-editor.org/info/rfc4655>.
[RFC4915]
Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", RFC 4915, DOI 10.17487/RFC4915, , <https://www.rfc-editor.org/info/rfc4915>.
[RFC5120]
Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, DOI 10.17487/RFC5120, , <https://www.rfc-editor.org/info/rfc5120>.
[RFC5307]
Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, , <https://www.rfc-editor.org/info/rfc5307>.
[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>.
[RFC5521]
Oki, E., Takeda, T., and A. Farrel, "Extensions to the Path Computation Element Communication Protocol (PCEP) for Route Exclusions", RFC 5521, DOI 10.17487/RFC5521, , <https://www.rfc-editor.org/info/rfc5521>.
[RFC6549]
Lindem, A., Roy, A., and S. Mirtorabi, "OSPFv2 Multi-Instance Extensions", RFC 6549, DOI 10.17487/RFC6549, , <https://www.rfc-editor.org/info/rfc6549>.
[RFC7308]
Osborne, E., "Extended Administrative Groups in MPLS Traffic Engineering (MPLS-TE)", RFC 7308, DOI 10.17487/RFC7308, , <https://www.rfc-editor.org/info/rfc7308>.
[RFC7752]
Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and S. Ray, "North-Bound Distribution of Link-State and Traffic Engineering (TE) Information Using BGP", RFC 7752, DOI 10.17487/RFC7752, , <https://www.rfc-editor.org/info/rfc7752>.
[RFC8202]
Ginsberg, L., Previdi, S., and W. Henderickx, "IS-IS Multi-Instance", RFC 8202, DOI 10.17487/RFC8202, , <https://www.rfc-editor.org/info/rfc8202>.
[RFC8231]
Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10.17487/RFC8231, , <https://www.rfc-editor.org/info/rfc8231>.
[RFC8795]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and O. Gonzalez de Dios, "YANG Data Model for Traffic Engineering (TE) Topologies", RFC 8795, DOI 10.17487/RFC8795, , <https://www.rfc-editor.org/info/rfc8795>.

Authors' Addresses

Quan Xiong
ZTE Corporation
China
Shaofu Peng
ZTE Corporation
No.50 Software Avenue
Nanjing
Jiangsu, 210012
China
Vishnu Pavan Beeram
Juniper Networks
Tarek Saad
Juniper Networks
Mike Koldychev
Cisco Systems
Canada