idnits 2.17.1 draft-mirsky-spring-bfd-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 27, 2018) is 2243 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-30) exists of draft-ietf-mpls-bfd-directed-08 ** Downref: Normative reference to an Experimental draft: draft-ietf-mpls-bfd-directed (ref. 'I-D.ietf-mpls-bfd-directed') == Outdated reference: A later version (-15) exists of draft-mirsky-bfd-mpls-demand-02 ** Downref: Normative reference to an Informational draft: draft-mirsky-bfd-mpls-demand (ref. 'I-D.mirsky-bfd-mpls-demand') == Outdated reference: A later version (-14) exists of draft-ietf-mpls-static-yang-05 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SPRING Working Group G. Mirsky 3 Internet-Draft ZTE Corp. 4 Intended status: Standards Track J. Tantsura 5 Expires: August 31, 2018 Individual 6 I. Varlashkin 7 Google 8 M. Chen 9 Huawei 10 February 27, 2018 12 Bidirectional Forwarding Detection (BFD) in Segment Routing Networks 13 Using MPLS Dataplane 14 draft-mirsky-spring-bfd-04 16 Abstract 18 Segment Routing (SR) architecture leverages the paradigm of source 19 routing. It can be realized in the Multiprotocol Label Switching 20 (MPLS) network without any change to the data plane. A segment is 21 encoded as an MPLS label and an ordered list of segments is encoded 22 as a stack of labels. Bidirectional Forwarding Detection (BFD) is 23 expected to monitor any kind of paths between systems. This document 24 defines how to use Label Switched Path Ping to bootstrap and control 25 path in reverse direction of a BFD session on the Segment Routing 26 static MPLS tunnel and applicability of BFD Demand mode to MPLS-SR 27 domain. 29 Status of This Memo 31 This Internet-Draft is submitted in full conformance with the 32 provisions of BCP 78 and BCP 79. 34 Internet-Drafts are working documents of the Internet Engineering 35 Task Force (IETF). Note that other groups may also distribute 36 working documents as Internet-Drafts. The list of current Internet- 37 Drafts is at https://datatracker.ietf.org/drafts/current/. 39 Internet-Drafts are draft documents valid for a maximum of six months 40 and may be updated, replaced, or obsoleted by other documents at any 41 time. It is inappropriate to use Internet-Drafts as reference 42 material or to cite them other than as "work in progress." 44 This Internet-Draft will expire on August 31, 2018. 46 Copyright Notice 48 Copyright (c) 2018 IETF Trust and the persons identified as the 49 document authors. All rights reserved. 51 This document is subject to BCP 78 and the IETF Trust's Legal 52 Provisions Relating to IETF Documents 53 (https://trustee.ietf.org/license-info) in effect on the date of 54 publication of this document. Please review these documents 55 carefully, as they describe your rights and restrictions with respect 56 to this document. Code Components extracted from this document must 57 include Simplified BSD License text as described in Section 4.e of 58 the Trust Legal Provisions and are provided without warranty as 59 described in the Simplified BSD License. 61 Table of Contents 63 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 64 1.1. Conventions used in this document . . . . . . . . . . . . 3 65 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 66 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 67 2. Bootstrapping BFD session over Segment Routed tunnel . . . . 3 68 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel . . 4 69 4. Use Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 4 70 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with 71 Dynamic Control Plane . . . . . . . . . . . . . . . . . . . . 6 72 6. Applicability of BFD Demand Mode in MPLS-SR Domain . . . . . 6 73 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 74 7.1. Segment Routing Static MPLS Tunnel sub-TLV . . . . . . . 7 75 7.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 8 76 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 77 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 79 10.1. Normative References . . . . . . . . . . . . . . . . . . 8 80 10.2. Informative References . . . . . . . . . . . . . . . . . 10 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 83 1. Introduction 85 [RFC5880], [RFC5881], and [RFC5883] established the Bidirectional 86 Forwarding Detection (BFD) protocol for IP networks. [RFC5884] and 87 [RFC7726] set rules of using BFD Asynchronous mode over Multiprotocol 88 Label Switching (MPLS) Label Switched Path (LSP). These latter 89 standards implicitly assume that the egress BFD peer, which is the 90 egress Label Edge Router (LER), will use the shortest path route 91 regardless of the path the ingress LER uses to send BFD control 92 packets towards it. 94 This document defines use of LSP Ping for Segment Routing networks 95 over MPLS dataplane [RFC8287] to bootstrap and control path of a BFD 96 session from the egress to ingress LER using static MPLS tunnel. 98 1.1. Conventions used in this document 100 1.1.1. Terminology 102 BFD: Bidirectional Forwarding Detection 104 FEC: Forwarding Equivalence Class 106 MPLS: Multiprotocol Label Switching 108 MPLS-SR Segment Routing in MPLS network 110 LSP: Label Switching Path 112 LER: Label Edge Router 114 SR Segment Routing 116 1.1.2. Requirements Language 118 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 120 "OPTIONAL" in this document are to be interpreted as described in BCP 121 14 [RFC2119] [RFC8174] when, and only when, they appear in all 122 capitals, as shown here. 124 2. Bootstrapping BFD session over Segment Routed tunnel 126 As demonstrated in [RFC8287] introduction of Segment Routing network 127 domains with an MPLS data plane requires three new sub-TLVs that MAY 128 be used with Target Forwarding Equivalence Class (FEC) TLV. 129 Section 6.1 addresses use of the new sub-TLVs in Target FEC TLV in 130 LSP ping and LSP traceroute. For the case of LSP ping the [RFC8287] 131 states that: 133 Initiator MUST include FEC(s) corresponding to the destination 134 segment. 136 Initiator, i.e. ingress LSR, MAY include FECs corresponding to 137 some or all of segments imposed in the label stack by the ingress 138 LSR to communicate the segments traversed. 140 It has been noted in [RFC5884] that a BFD session monitors for 141 defects particular tuple. [RFC7726] clarified how to 142 establish and operate multiple BFD sessions for the same tuple. Because only ingress edge router is aware of the SR- 144 based explicit route the egress edge router can associate the LSP 145 ping with BFD Discriminator TLV with only one of the FECs it 146 advertised for the particular segment. Thus this document clarifies 147 that: 149 When LSP Ping is used to bootstrap a BFD session the FEC 150 corresponding to the destination segment to be associated with the 151 BFD session MUST be as the very last sub-TLV in the Target FEC 152 TLV. 154 Encapsulation of a BFD Control packet in Segment Routing network with 155 MPLS dataplane MUST follow Section 7 [RFC5884] when IP/UDP header 156 used and MUST follow Section 3.4 [RFC6428] without IP/UDP header 157 being used. 159 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel 161 For BFD over MPLS LSP case, per [RFC5884], egress LER MAY send BFD 162 control packet to the ingress LER either over IP network or an MPLS 163 LSP. Similarly, for the case of BFD over p2p segment tunnel with 164 MPLS data plane, the ingress LER MAY route BFD control packet over IP 165 network, as described in [RFC5883], or transmit over a segment 166 tunnel, as described in Section 7 [RFC5884]. In some cases there may 167 be a need to direct egress BFD peer to use specific path for the 168 reverse direction of the BFD session by using the BFD Reverse Path 169 TLV and following all procedures as defined in 170 [I-D.ietf-mpls-bfd-directed]. 172 4. Use Non-FEC Path TLV 174 For the case of MPLS dataplane, Segment Routing Architecture 175 [I-D.ietf-spring-segment-routing] explains that "a segment is encoded 176 as an MPLS label. An ordered list of segments is encoded as a stack 177 of labels." YANG Data Model for MPLS Static LSPs 178 [I-D.ietf-mpls-static-yang] models outgoing MPLS labels to be imposed 179 as leaf-list [RFC6020], i.e., as array of rt-types:mpls-label 180 [RFC8294]. 182 This document defines new optional Non-FEC Path TLV. The format of 183 the Non-FEC Path TLV is presented in Figure 1 184 0 1 2 3 185 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 186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 | Non-FEC Path TLV Type | Length | 188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 189 | | 190 ~ Non-FEC Path ~ 191 | | 192 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 194 Figure 1: Non-FEC Path TLV Format 196 Non-FEC Path TLV Type is 2 octets in length and has a value of TBD1 197 (to be assigned by IANA as requested in Table 1). 199 Length field is 2 octets long and defines the length in octets of the 200 Non-FEC Path field. 202 Non-FEC Path field contains a sub-TLV. Any Non-FEC Path sub-TLV 203 (defined in this document or to be defined in the future) for Non-FEC 204 Path TLV type MAY be used in this field. None or one sub-TLV MAY be 205 included in the Non-FEC Path TLV. If no sub-TLV has been found in 206 the Non-FEC Path TLV, the egress BFD peer MUST revert to using the 207 reverse path selected based on its local policy. If there are more 208 than one sub-TLV, then the Return Code in echo reply MUST be set to 209 "Too Many TLVs Detected" Table 4. 211 Non-FEC Path TLV MAY be used to specify the reverse path of the BFD 212 session identified in the BFD Discriminator TLV. If the Non-FEC Path 213 TLV is present in the echo request message the BFD Discriminator TLV 214 MUST be present as well. If the BFD Discriminator TLV is absent when 215 the Non-FEC Path TLV is included, then it MUST be treated as 216 malformed Echo Request, as described in [RFC8029]. 218 This document defines Static Routing MPLS Tunnel sub-TLV that MAY be 219 used with the Non-FEC Path TLV. The format of the sub-TLV is 220 presented in Figure 2. 222 0 1 2 3 223 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 224 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 225 | SR MPLS Tunnel sub-TLV Type | Length | 226 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 227 | Label Entry 1 | 228 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 229 | Label Entry 2 | 230 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 ~ ~ 232 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 233 | Label Entry N | 234 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 236 Figure 2: Segment Routing MPLS Tunnel sub-TLV 238 The Segment Routing MPLS Tunnel sub-TLV Type is two octets in length, 239 and has a value of TBD (to be assigned by IANA as requested in 240 Section 7). 242 The egress LSR MUST use the Value field as label stack for BFD 243 control packets for the BFD session identified by the source IP 244 address of the MPLS LSP Ping packet and the value in the BFD 245 Discriminator TLV. Label Entries MUST be in network order. 247 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic 248 Control Plane 250 When Segment Routed domain with MPLS data plane uses distributed 251 tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs 252 defined in [RFC8287]. 254 6. Applicability of BFD Demand Mode in MPLS-SR Domain 256 [I-D.mirsky-bfd-mpls-demand] defines how Demand mode of BFD, 257 specified in sections 6.6 and 6.18.4 of [RFC5880], can be used to 258 monitor uni-directional MPLS LSP. Similar procedures can be 259 following in MPLS-SR to monitor uni-directional SR tunnels: 261 o ingress SR node bootstraps BFD session over MPLS-SR in Async BFD 262 mode; 264 o once BFD session is Up, the ingress node switches the egress BFD 265 node into the Demand mode by setting D field in BFD Control packet 266 it transmits; 268 o if the egress BFD node detects the failure in the BFD session, it 269 sends its BFD control packet to the ingress over the IP network 270 with Poll sequence; 272 o if the ingress node receives BFD control packet from remote node 273 in Demand mode with Poll sequence and Diag field indicating the 274 failure, the ingress transmits BFD control packet with Final over 275 IP and switches the BFD over MPLS-SR back into Async mode, sending 276 BFD Control packets one per second. 278 7. IANA Considerations 280 7.1. Segment Routing Static MPLS Tunnel sub-TLV 282 IANA is requested to assign new TLV type from the from Standards 283 Action range of the registry "Multiprotocol Label Switching 284 Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters - 285 TLVs" as defined in the Table 1. 287 +-------+------------------+---------------+ 288 | Value | TLV Name | Reference | 289 +-------+------------------+---------------+ 290 | TBD1 | Non-FEC Path TLV | This document | 291 +-------+------------------+---------------+ 293 Table 1: New Non-FEC Path TLV 295 IANA is requested to create new Non-FEC Path sub-TLV registry for the 296 Non-FEC Path TLV as described in Table 2. 298 +-------------+---------------+-------------------------------------+ 299 | Range | Registration | Note | 300 | | Procedures | | 301 +-------------+---------------+-------------------------------------+ 302 | 0-16383 | Standards | This range is for mandatory TLVs or | 303 | | Action | for optional TLVs that require an | 304 | | | error message if not recognized. | 305 | 16384-31743 | Specification | Experimental RFC needed | 306 | | Required | | 307 | 32768-49161 | Standards | This range is for optional TLVs | 308 | | Action | that can be silently dropped if not | 309 | | | recognized. | 310 | 49162-64511 | Specification | Experimental RFC needed | 311 | | Required | | 312 | 64512-65535 | Private Use | | 313 +-------------+---------------+-------------------------------------+ 315 Table 2: Non-FEC Path sub-TLV registry 317 IANA is requested to allocate following values from the Non-FEC Path 318 sub-TLV registry as defined in Table 3. 320 +-------+-------------------------------------+---------------+ 321 | Value | Description | Reference | 322 +-------+-------------------------------------+---------------+ 323 | 0 | Reserved | This document | 324 | TBD2 | Segment Routing MPLS Tunnel sub-TLV | This document | 325 | 65535 | Reserved | This document | 326 +-------+-------------------------------------+---------------+ 328 Table 3: New Segment Routing Tunnel sub-TLV 330 7.2. Return Code 332 IANA is requested to create Non-FEC Path sub-TLV subregistry for the 333 new Non-FEC Path TLV. assign a new Return Code value from the "Multi- 334 Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping 335 Parameters" registry, "Return Codes" sub-registry, as follows using a 336 Standards Action value. 338 +----------+-------------------------+---------------+ 339 | Value | Description | Reference | 340 +----------+-------------------------+---------------+ 341 | X (TBD3] | Too Many TLVs Detected. | This document | 342 +----------+-------------------------+---------------+ 344 Table 4: New Return Code 346 8. Security Considerations 348 Security considerations discussed in [RFC5880], [RFC5884], [RFC7726], 349 and [RFC8029] apply to this document. 351 9. Acknowledgements 353 TBD 355 10. References 357 10.1. Normative References 359 [I-D.ietf-mpls-bfd-directed] 360 Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, 361 "Bidirectional Forwarding Detection (BFD) Directed Return 362 Path", draft-ietf-mpls-bfd-directed-08 (work in progress), 363 December 2017. 365 [I-D.ietf-spring-segment-routing] 366 Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., 367 Litkowski, S., and R. Shakir, "Segment Routing 368 Architecture", draft-ietf-spring-segment-routing-15 (work 369 in progress), January 2018. 371 [I-D.mirsky-bfd-mpls-demand] 372 Mirsky, G., "BFD in Demand Mode over Point-to-Point MPLS 373 LSP", draft-mirsky-bfd-mpls-demand-02 (work in progress), 374 October 2017. 376 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 377 Requirement Levels", BCP 14, RFC 2119, 378 DOI 10.17487/RFC2119, March 1997, 379 . 381 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 382 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 383 . 385 [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 386 (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, 387 DOI 10.17487/RFC5881, June 2010, 388 . 390 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 391 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 392 June 2010, . 394 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 395 "Bidirectional Forwarding Detection (BFD) for MPLS Label 396 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 397 June 2010, . 399 [RFC6428] Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed., 400 "Proactive Connectivity Verification, Continuity Check, 401 and Remote Defect Indication for the MPLS Transport 402 Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011, 403 . 405 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 406 Aldrin, "Clarifying Procedures for Establishing BFD 407 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 408 DOI 10.17487/RFC7726, January 2016, 409 . 411 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 412 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 413 Switched (MPLS) Data-Plane Failures", RFC 8029, 414 DOI 10.17487/RFC8029, March 2017, 415 . 417 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 418 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 419 May 2017, . 421 [RFC8287] Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, 422 N., Kini, S., and M. Chen, "Label Switched Path (LSP) 423 Ping/Traceroute for Segment Routing (SR) IGP-Prefix and 424 IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data 425 Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017, 426 . 428 10.2. Informative References 430 [I-D.ietf-mpls-static-yang] 431 Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A 432 YANG Data Model for MPLS Static LSPs", draft-ietf-mpls- 433 static-yang-05 (work in progress), February 2018. 435 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 436 the Network Configuration Protocol (NETCONF)", RFC 6020, 437 DOI 10.17487/RFC6020, October 2010, 438 . 440 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 441 "Common YANG Data Types for the Routing Area", RFC 8294, 442 DOI 10.17487/RFC8294, December 2017, 443 . 445 Authors' Addresses 447 Greg Mirsky 448 ZTE Corp. 450 Email: gregimirsky@gmail.com 452 Jeff Tantsura 453 Individual 455 Email: jefftant.ietf@gmail.com 456 Ilya Varlashkin 457 Google 459 Email: Ilya@nobulus.com 461 Mach(Guoyi) Chen 462 Huawei 464 Email: mach.chen@huawei.com