Internet-Draft LSP Ping for SR Path SID August 2023
Min, et al. Expires 7 February 2024 [Page]
Workgroup:
MPLS Working Group
Internet-Draft:
draft-xp-mpls-spring-lsp-ping-path-sid-07
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Min
ZTE Corp.
S. Peng
ZTE Corp.
L. Gong
China Mobile
R. Gandhi
Cisco Systems, Inc.

Label Switched Path (LSP) Ping for Segment Routing (SR) Path Segment Identifiers (SIDs) with MPLS Data Planes

Abstract

Path Segment is a type of SR segment, which is used to identify an SR path. This document provides Target Forwarding Equivalence Class (FEC) stack TLV definitions for Path Segment Identifiers.

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 7 February 2024.

Table of Contents

1. Introduction

Path Segment is a type of SR segment, which is used to identify an SR path. Path Segment in MPLS based segment routing network is defined in [I-D.ietf-spring-mpls-path-segment].

As specified in [I-D.ietf-spring-mpls-path-segment], when a Path Segment is used, it's inserted by the ingress node of the SR path, and then processed by the egress node of the SR path. The Path Segment Label is placed within the MPLS label stack as the last segment identifier of the segment list. The Path Segment would not be popped up until it reaches the egress node, and the egress node would pop the path segment up.

This document provides Target Forwarding Equivalence Class (FEC) stack TLV definitions for Path-SIDs. Procedures for LSP Ping as defined in [RFC8287] and [RFC8690] are applicable to Path-SIDs as well.

2. Conventions

2.1. Requirements Language

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.

2.2. Terminology

This document uses the terminology defined in [RFC8402] and [RFC8029], readers are expected to be familiar with those terms.

3. Path Segment ID Sub-TLVs

Analogous to what's defined in Section 5 of [RFC8287] and Section 4 of [I-D.ietf-mpls-sr-epe-oam], three new sub-TLVs are defined for the Target FEC Stack TLV (Type 1), the Reverse-Path Target FEC Stack TLV (Type 16), and the Reply Path TLV (Type 21).

     Sub-Type    Sub-TLV Name
     --------    -----------------------------
      TBD1       SR Policy's Path SID
      TBD2       SR Candidate Path's Path SID
      TBD3       SR Segment List's Path SID

As specified in Section 2 of [I-D.ietf-spring-mpls-path-segment], a Path Segment can be used to identify a Segment List, all the Segment lists in a Candidate path or all the Segment Lists in an SR policy, so three different Target FEC sub-TLVs need to be defined for Path Segment ID. When a Path Segment is used to identify an SR Policy, the Target FEC sub-TLV of SR Policy's Path SID would be used to validate the control plane to forwarding plane synchronization for this Path-SID; When a Path Segment is used to identify an SR Candidate Path, the Target FEC sub-TLV of SR Candidate Path's Path SID would be used to validate the control plane to forwarding plane synchronization for this Path-SID; When a Path Segment is used to identify a Segment List, the Target FEC sub-TLV of SR Segment List's Path SID would be used to validate the control plane to forwarding plane synchronization for this Path-SID. Note that the three new Target FEC sub-TLVs are mutual exclusive and they wouldn't be present in one message simultaneously.

3.1. SR Policy's Path SID

The format of SR Policy's Path SID sub-TLV is specified as below:

 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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: SR Policy's Path SID sub-TLV

Type

Length

Headend

Color

Endpoint

3.2. SR Candidate Path's Path SID

The format of SR Candidate Path's Path SID sub-TLV is specified as below:

 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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                  Originator  (20 octets)                      |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Discriminator  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: SR Candidate Path's Path SID sub-TLV

Type

Length

Headend

Color

Endpoint

Protocol-Origin

Originator

Discriminator

3.3. SR Segment List's Path SID

The format of SR Segment List's Path SID sub-TLV is specified as below:

 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            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                     Headend  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Color  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Endpoint  (4/16 octets)                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Protocol-Origin|                    Reserved                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                                                               |
|                  Originator  (20 octets)                      |
|                                                               |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Discriminator  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Segment-List-ID  (4 octets)                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SR Segment List's Path SID sub-TLV

Type

Length

Headend

Color

Endpoint

Protocol-Origin

Originator

Discriminator

Segment-List-ID

4. Path-SID FEC Validation

The MPLS LSP Ping procedures MAY be initiated by the headend of the Segment Routing path or a centralized topology-aware data plane monitoring system as described in [RFC8403]. For the Path-SID, the responder nodes that receive echo request and send echo reply MUST be the endpoint of the Segment Routing path.

When an endpoint receives the LSP echo request packet with top FEC being the Path-SID, it SHOULD perform validity checks on the content of the Path-SID FEC sub-TLV. The basic length check should be performed on the received FEC.

    SR Policy's Path SID
    ------------------
    Length = 12 or 36

    SR Candidate Path's Path SID
    ------------------
    Length = 40 or 64

    SR Segment List's Path SID
    ------------------
    Length = 44 or 68

If a malformed FEC sub-TLV is received, then a return code of 1, "Malformed echo request received" as defined in [RFC8029] SHOULD be sent. The below section augments Section 7.4 of [RFC8287].

5. Security Considerations

This document defines additional MPLS LSP Ping sub-TLVs and follows the mechanisms defined in [RFC8029]. All the security considerations defined in [RFC8029] will be applicable for this document and, in addition, they do not impose any additional security challenges to be considered.

6. IANA Considerations

IANA is requested to assign three new sub-TLVs from the "sub-TLVs for TLV Types 1, 16, and 21" subregistry of the "Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry.

  Sub-Type   Sub-TLV Name                    Reference
  --------   -----------------------------   ------------
   TBD1      SR Policy's Path SID            Section 3.1
   TBD2      SR Candidate Path's Path SID    Section 3.2
   TBD3      SR Segment List's Path SID      Section 3.3

7. Acknowledgements

The authors would like to acknowledge Detao Zhao for his thorough review and very helpful comments.

The authors would like to acknowledge Yao Liu for the very helpful f2f discussion.

8. References

8.1. Normative References

[I-D.ietf-spring-mpls-path-segment]
Cheng, W., Li, H., Li, C., Gandhi, R., and R. Zigler, "Path Segment in MPLS Based Segment Routing Network", Work in Progress, Internet-Draft, draft-ietf-spring-mpls-path-segment-10, , <https://datatracker.ietf.org/doc/html/draft-ietf-spring-mpls-path-segment-10>.
[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>.
[RFC8029]
Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., Aldrin, S., and M. Chen, "Detecting Multiprotocol Label Switched (MPLS) Data-Plane Failures", RFC 8029, DOI 10.17487/RFC8029, , <https://www.rfc-editor.org/info/rfc8029>.
[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>.
[RFC8287]
Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, N., Kini, S., and M. Chen, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) IGP-Prefix and IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data Planes", RFC 8287, DOI 10.17487/RFC8287, , <https://www.rfc-editor.org/info/rfc8287>.
[RFC8690]
Nainar, N., Pignataro, C., Iqbal, F., and A. Vainshtein, "Clarification of Segment ID Sub-TLV Length for RFC 8287", RFC 8690, DOI 10.17487/RFC8690, , <https://www.rfc-editor.org/info/rfc8690>.

8.2. Informative References

[I-D.ietf-idr-segment-routing-te-policy]
Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and D. Jain, "Advertising Segment Routing Policies in BGP", Work in Progress, Internet-Draft, draft-ietf-idr-segment-routing-te-policy-23, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-segment-routing-te-policy-23>.
[I-D.ietf-idr-sr-policy-path-segment]
Li, C., Li, Z., Yin, Y., Cheng, W., and K. Talaulikar, "SR Policy Extensions for Path Segment and Bidirectional Path", Work in Progress, Internet-Draft, draft-ietf-idr-sr-policy-path-segment-07, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-path-segment-07>.
[I-D.ietf-mpls-sr-epe-oam]
Hegde, S., Srivastava, M., Arora, K., Ninan, S., and X. Xu, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing (SR) Egress Peer Engineering Segment Identifiers (SIDs) with MPLS Data Planes", Work in Progress, Internet-Draft, draft-ietf-mpls-sr-epe-oam-08, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-sr-epe-oam-08>.
[I-D.ietf-pce-multipath]
Koldychev, M., Sivabalan, S., Saad, T., Beeram, V. P., Bidgoli, H., Yadav, B., Peng, S., and G. S. Mishra, "PCEP Extensions for Signaling Multipath Information", Work in Progress, Internet-Draft, draft-ietf-pce-multipath-09, , <https://datatracker.ietf.org/doc/html/draft-ietf-pce-multipath-09>.
[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-12, , <https://datatracker.ietf.org/doc/html/draft-ietf-pce-segment-routing-policy-cp-12>.
[I-D.ietf-pce-sr-path-segment]
Li, C., Chen, M., Cheng, W., Gandhi, R., and Q. Xiong, "Path Computation Element Communication Protocol (PCEP) Extension for Path Segment in Segment Routing (SR)", Work in Progress, Internet-Draft, draft-ietf-pce-sr-path-segment-07, , <https://datatracker.ietf.org/doc/html/draft-ietf-pce-sr-path-segment-07>.
[I-D.lin-idr-sr-policy-seglist-id]
Lin, C., Cheng, W., Liu, Y., Talaulikar, K., and M. Chen, "BGP SR Policy Extensions for Segment List Identifier", Work in Progress, Internet-Draft, draft-lin-idr-sr-policy-seglist-id-04, , <https://datatracker.ietf.org/doc/html/draft-lin-idr-sr-policy-seglist-id-04>.
[RFC8402]
Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, , <https://www.rfc-editor.org/info/rfc8402>.
[RFC8403]
Geib, R., Ed., Filsfils, C., Pignataro, C., Ed., and N. Kumar, "A Scalable and Topology-Aware MPLS Data-Plane Monitoring System", RFC 8403, DOI 10.17487/RFC8403, , <https://www.rfc-editor.org/info/rfc8403>.
[RFC9256]
Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, , <https://www.rfc-editor.org/info/rfc9256>.

Authors' Addresses

Xiao Min
ZTE Corp.
Nanjing
China
Shaofu Peng
ZTE Corp.
Nanjing
China
Liyan Gong
China Mobile
Beijing
China
Rakesh Gandhi
Cisco Systems, Inc.
Canada