SPRING Working Group G. Mirsky Internet-Draft ZTE Corp. Intended status: Standards Track J. Tantsura Expires: December 24, 2017 Individual I. Varlashkin Google M. Chen Huawei June 22, 2017 Bidirectional Forwarding Detection (BFD) in Segment Routing Networks Using MPLS Dataplane draft-mirsky-spring-bfd-01 Abstract Segment Routing architecture leverages the paradigm of source routing. It can be realized in the Multiprotocol Label Switching (MPLS) network without any change to the data plane. A segment is encoded as an MPLS label and an ordered list of segments is encoded as a stack of labels. Bidirectional Forwarding Detection (BFD) is expected to monitor any kind of paths between systems. This document defines how to use Label Switched Path Ping to bootstrap and control path in reverse direction of a BFD session on the Segment Routing static MPLS tunnel. 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 http://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 December 24, 2017. Mirsky, et al. Expires December 24, 2017 [Page 1] Internet-Draft BFD in SPRING MPLS June 2017 Copyright Notice Copyright (c) 2017 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 (http://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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Conventions used in this document . . . . . . . . . . . . 3 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 2. Bootstrapping BFD session over Segment Routed tunnel . . . . 3 3. Use BFD Reverse Path TLV over SDN-provisioned Segment Routed MPLS Tunnel . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic Control Plane . . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5.1. Segment Routing Static MPLS Tunnel sub-TLV . . . . . . . 6 5.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 6 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction [RFC5880], [RFC5881], and [RFC5883] established the Bidirectional Forwarding Detection (BFD) protocol for IP networks. [RFC5884] and [RFC7726] set rules of using BFD Asynchronous mode over Multiprotocol Label Switching (MPLS) Label Switched Path (LSP). These latter standards implicitly assume that the egress BFD peer, which is the egress Label Edge Router (LER), will use the shortest path route regardless of the path the ingress LER uses to send BFD control packets towards it. Mirsky, et al. Expires December 24, 2017 [Page 2] Internet-Draft BFD in SPRING MPLS June 2017 This document defines use of LSP Ping for Segment Routing networks over MPLS dataplane [I-D.ietf-mpls-spring-lsp-ping] to bootstrap and control path of a BFD session from the egress to ingress LER using static MPLS tunnel. 1.1. Conventions used in this document 1.1.1. Terminology BFD: Bidirectional Forwarding Detection FEC: Forwarding Equivalence Class MPLS: Multiprotocol Label Switching LSP: Label Switching Path LER: Label Edge Router 1.1.2. 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. Bootstrapping BFD session over Segment Routed tunnel As demonstrated in [I-D.ietf-mpls-spring-lsp-ping] introduction of Segment Routing network domains with an MPLS data plane requires three new sub-TLVs that MAY be used with Target Forwarding Equivalence Class (FEC) TLV. Section 6.1 addresses use of the new sub-TLVs in Target FEC TLV in LSP ping and LSP traceroute. For the case of LSP ping the [I-D.ietf-mpls-spring-lsp-ping] states that: Initiator MUST include FEC(s) corresponding to the destination segment. Initiator, i.e. ingress LSR, MAY include FECs corresponding to some or all of segments imposed in the label stack by the ingress LSR to communicate the segments traversed. It has been noted in [RFC5884] that a BFD session monitors for defects particular tuple. [RFC7726] clarified how to establish and operate multiple BFD sessions for the same tuple. Because only ingress edge router is aware of the SR- based explicit route the egress edge router can associate the LSP Mirsky, et al. Expires December 24, 2017 [Page 3] Internet-Draft BFD in SPRING MPLS June 2017 ping with BFD Discriminator TLV with only one of the FECs it advertised for the particular segment. Thus this document clarifies that: When LSP Ping is used to bootstrap a BFD session the FEC corresponding to the destination segment to be associated with the BFD session MUST be as the very last sub-TLV in the Target FEC TLV. Encapsulation of a BFD Control packet in Segment Routing network with MPLS dataplane MUST follow Section 7 [RFC5884] when IP/UDP header used and MUST follow Section 3.4 [RFC6428] without IP/UDP header being used. 3. Use BFD Reverse Path TLV over SDN-provisioned Segment Routed MPLS Tunnel When a BFD session is used to monitor a source routed unidirectional path there may be a need to direct egress BFD peer to use specific path for the reverse direction of the BFD session by using the BFD Reverse Path TLV [I-D.ietf-mpls-bfd-directed]. For the case of MPLS dataplane, Segment Routing Architecture [I-D.ietf-spring-segment-routing] explains that "a segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels." YANG Data Model for MPLS Static LSPs [I-D.ietf-mpls-static-yang] models outgoing MPLS labels to be imposed as leaf-list [RFC6020], i.e., as array of rt-types:mpls-label [I-D.ietf-rtgwg-routing-types] Following on that, this document defines Segment Routing Static MPLS Tunnel sub-TLV that MAY be used with the BFD Reverse Path TLV [I-D.ietf-mpls-bfd-directed]. The format of the sub-TLV is presented in Figure 1. BFD Reverse TLV MAY include zero or one SR Static MPLS Tunnel sub-TLV. Mirsky, et al. Expires December 24, 2017 [Page 4] Internet-Draft BFD in SPRING MPLS June 2017 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SegRouting MPLS sub-TLV Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label Entry 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label Entry 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label Entry N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Segment Routing Static MPLS Tunnel sub-TLV The Segment Routing Tunnel sub-TLV Type is two octets in length, and has a value of TBD (to be assigned by IANA as requested in Section 5). The egress LSR MUST use the Value field as label stack for BFD control packets for the BFD session identified by the source IP address of the MPLS LSP Ping packet and the value in the BFD Discriminator TLV. Label Entries MUST be in network order. As in [I-D.ietf-mpls-bfd-directed], empty BFD Reverse TLV requires the egress BFD peer switch the reverse path of the BFD session, specified by BFD Discriminator TLV, to IP network. If more than one SR Static MPLS Tunnel sub-TLV is present, then the egress BFD peer MUST send Echo Reply with Return Code field set to "Too Many TLVs Detected" Table 2. The Segment Routing Tunnel sub-TLV MAY be used in Reply Path TLV defined in [RFC7110] 4. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic Control Plane When Segment Routed domain with MPLS data plane uses distributed tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs defined in [I-D.ietf-mpls-spring-lsp-ping]. 5. IANA Considerations Mirsky, et al. Expires December 24, 2017 [Page 5] Internet-Draft BFD in SPRING MPLS June 2017 5.1. Segment Routing Static MPLS Tunnel sub-TLV The IANA is requested to assign new sub-TLV type from "Multiprotocol Label Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters - TLVs" registry, "Sub-TLVs for TLV Types 1, 16, and 21" sub-registry. +----------+----------------------------------------+---------------+ | Value | Description | Reference | +----------+----------------------------------------+---------------+ | X (TBD1) | Segment Routing Static MPLS Tunnel | This document | | | sub-TLV | | +----------+----------------------------------------+---------------+ Table 1: New Segment Routing Tunnel sub-TLV 5.2. Return Code The IANA is requested to assign a new Return Code value from the "Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping Parameters" registry, "Return Codes" sub-registry, as follows using a Standards Action value. +----------+-------------------------+---------------+ | Value | Description | Reference | +----------+-------------------------+---------------+ | X (TBD2) | Too Many TLVs Detected. | This document | +----------+-------------------------+---------------+ Table 2: New Return Code 6. Security Considerations Security considerations discussed in [RFC5880], [RFC5884], [RFC7726], and [RFC8029] apply to this document. 7. Acknowledgements TBD 8. References 8.1. Normative References Mirsky, et al. Expires December 24, 2017 [Page 6] Internet-Draft BFD in SPRING MPLS June 2017 [I-D.ietf-mpls-bfd-directed] Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, "Bidirectional Forwarding Detection (BFD) Directed Return Path", draft-ietf-mpls-bfd-directed-07 (work in progress), June 2017. [I-D.ietf-mpls-spring-lsp-ping] Kumar, N., Swallow, G., Pignataro, C., Akiya, N., Kini, S., Gredler, H., and M. Chen, "Label Switched Path (LSP) Ping/Traceroute for Segment Routing Networks with MPLS Dataplane", draft-ietf-mpls-spring-lsp-ping-03 (work in progress), June 2017. [I-D.ietf-mpls-static-yang] Saad, T., Raza, K., Gandhi, R., Liu, X., Beeram, V., Shah, H., Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data Model for MPLS Static LSPs", draft-ietf-mpls-static- yang-03 (work in progress), March 2017. [I-D.ietf-spring-segment-routing] Filsfils, C., Previdi, S., Decraene, B., Litkowski, S., and R. Shakir, "Segment Routing Architecture", draft-ietf- spring-segment-routing-12 (work in progress), June 2017. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, . [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, DOI 10.17487/RFC5881, June 2010, . [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, June 2010, . [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, "Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, June 2010, . Mirsky, et al. Expires December 24, 2017 [Page 7] Internet-Draft BFD in SPRING MPLS June 2017 [RFC6428] Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed., "Proactive Connectivity Verification, Continuity Check, and Remote Defect Indication for the MPLS Transport Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011, . [RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord, "Return Path Specified Label Switched Path (LSP) Ping", RFC 7110, DOI 10.17487/RFC7110, January 2014, . [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. Aldrin, "Clarifying Procedures for Establishing BFD Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, DOI 10.17487/RFC7726, January 2016, . [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, March 2017, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 8.2. Informative References [I-D.ietf-rtgwg-routing-types] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Routing Area Common YANG Data Types", draft-ietf-rtgwg- routing-types-06 (work in progress), June 2017. [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, . Authors' Addresses Greg Mirsky ZTE Corp. Email: gregimirsky@gmail.com Mirsky, et al. Expires December 24, 2017 [Page 8] Internet-Draft BFD in SPRING MPLS June 2017 Jeff Tantsura Individual Email: jefftant.ietf@gmail.com Ilya Varlashkin Google Email: Ilya@nobulus.com Mach(Guoyi) Chen Huawei Email: mach.chen@huawei.com Mirsky, et al. Expires December 24, 2017 [Page 9]