idnits 2.17.1 draft-mirsky-spring-bfd-05.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 (March 1, 2018) is 2248 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: September 2, 2018 Nuage Networks 6 I. Varlashkin 7 Google 8 M. Chen 9 Huawei 10 March 1, 2018 12 Bidirectional Forwarding Detection (BFD) in Segment Routing Networks 13 Using MPLS Dataplane 14 draft-mirsky-spring-bfd-05 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 SR-MPLS 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 September 2, 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 SR-MPLS Domain . . . . . 6 73 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 74 7.1. Non-FEC Path 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 SR-MPLS Segment Routing with MPLS data plane 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 Section 7.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 value TBD3 "Too Many TLVs Detected" (to be assigned by IANA as 210 requested in Table 4). 212 Non-FEC Path TLV MAY be used to specify the reverse path of the BFD 213 session identified in the BFD Discriminator TLV. If the Non-FEC Path 214 TLV is present in the echo request message the BFD Discriminator TLV 215 MUST be present as well. If the BFD Discriminator TLV is absent when 216 the Non-FEC Path TLV is included, then it MUST be treated as 217 malformed Echo Request, as described in [RFC8029]. 219 This document defines Static Routing MPLS Tunnel sub-TLV that MAY be 220 used with the Non-FEC Path TLV. The format of the sub-TLV is 221 presented in Figure 2. 223 0 1 2 3 224 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 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 226 | SR MPLS Tunnel sub-TLV Type | Length | 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 | Label Entry 1 | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 230 | Label Entry 2 | 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 ~ ~ 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 234 | Label Entry N | 235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 237 Figure 2: Segment Routing MPLS Tunnel sub-TLV 239 The Segment Routing MPLS Tunnel sub-TLV Type is two octets in length, 240 and has a value of TBD2 (to be assigned by IANA as requested in 241 Section 7.1). 243 The egress LSR MUST use the Value field as label stack for BFD 244 control packets for the BFD session identified by the source IP 245 address of the MPLS LSP Ping packet and the value in the BFD 246 Discriminator TLV. Label Entries MUST be in network order. 248 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic 249 Control Plane 251 When Segment Routed domain with MPLS data plane uses distributed 252 tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs 253 defined in [RFC8287]. 255 6. Applicability of BFD Demand Mode in SR-MPLS Domain 257 [I-D.mirsky-bfd-mpls-demand] defines how Demand mode of BFD, 258 specified in sections 6.6 and 6.18.4 of [RFC5880], can be used to 259 monitor uni-directional MPLS LSP. Similar procedures can be 260 following in SR-MPLS to monitor uni-directional SR tunnels: 262 o ingress SR node bootstraps BFD session over SR-MPLS in Async BFD 263 mode; 265 o once BFD session is Up, the ingress node switches the egress BFD 266 node into the Demand mode by setting D field in BFD Control packet 267 it transmits; 269 o if the egress BFD node detects the failure of the BFD session, it 270 sends its BFD control packet to the ingress over the IP network 271 with Poll sequence; 273 o if the ingress node receives BFD control packet from remote node 274 in Demand mode with Poll sequence and Diag field indicating the 275 failure, the ingress transmits BFD control packet with Final over 276 IP and switches the BFD over SR-MPLS back into Async mode, sending 277 BFD Control packets one per second. 279 7. IANA Considerations 281 7.1. Non-FEC Path TLV 283 IANA is requested to assign new TLV type from the from Standards 284 Action range of the registry "Multiprotocol Label Switching 285 Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters - 286 TLVs" as defined in the Table 1. 288 +-------+------------------+---------------+ 289 | Value | TLV Name | Reference | 290 +-------+------------------+---------------+ 291 | TBD1 | Non-FEC Path TLV | This document | 292 +-------+------------------+---------------+ 294 Table 1: New Non-FEC Path TLV 296 IANA is requested to create new Non-FEC Path sub-TLV registry for the 297 Non-FEC Path TLV as described in Table 2. 299 +-------------+---------------+-------------------------------------+ 300 | Range | Registration | Note | 301 | | Procedures | | 302 +-------------+---------------+-------------------------------------+ 303 | 0-16383 | Standards | This range is for mandatory TLVs or | 304 | | Action | for optional TLVs that require an | 305 | | | error message if not recognized. | 306 | 16384-31743 | Specification | Experimental RFC needed | 307 | | Required | | 308 | 32768-49161 | Standards | This range is for optional TLVs | 309 | | Action | that can be silently dropped if not | 310 | | | recognized. | 311 | 49162-64511 | Specification | Experimental RFC needed | 312 | | Required | | 313 | 64512-65535 | Private Use | | 314 +-------------+---------------+-------------------------------------+ 316 Table 2: Non-FEC Path sub-TLV registry 318 IANA is requested to allocate following values from the Non-FEC Path 319 sub-TLV registry as defined in Table 3. 321 +-------+-------------------------------------+---------------+ 322 | Value | Description | Reference | 323 +-------+-------------------------------------+---------------+ 324 | 0 | Reserved | This document | 325 | TBD2 | Segment Routing MPLS Tunnel sub-TLV | This document | 326 | 65535 | Reserved | This document | 327 +-------+-------------------------------------+---------------+ 329 Table 3: New Segment Routing Tunnel sub-TLV 331 7.2. Return Code 333 IANA is requested to create Non-FEC Path sub-TLV subregistry for the 334 new Non-FEC Path TLV. assign a new Return Code value from the "Multi- 335 Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping 336 Parameters" registry, "Return Codes" sub-registry, as follows using a 337 Standards Action value. 339 +--------+-------------------------+---------------+ 340 | Value | Description | Reference | 341 +--------+-------------------------+---------------+ 342 | X TBD3 | Too Many TLVs Detected. | This document | 343 +--------+-------------------------+---------------+ 345 Table 4: New Return Code 347 8. Security Considerations 349 Security considerations discussed in [RFC5880], [RFC5884], [RFC7726], 350 and [RFC8029] apply to this document. 352 9. Acknowledgements 354 TBD 356 10. References 358 10.1. Normative References 360 [I-D.ietf-mpls-bfd-directed] 361 Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, 362 "Bidirectional Forwarding Detection (BFD) Directed Return 363 Path", draft-ietf-mpls-bfd-directed-08 (work in progress), 364 December 2017. 366 [I-D.ietf-spring-segment-routing] 367 Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., 368 Litkowski, S., and R. Shakir, "Segment Routing 369 Architecture", draft-ietf-spring-segment-routing-15 (work 370 in progress), January 2018. 372 [I-D.mirsky-bfd-mpls-demand] 373 Mirsky, G., "BFD in Demand Mode over Point-to-Point MPLS 374 LSP", draft-mirsky-bfd-mpls-demand-02 (work in progress), 375 October 2017. 377 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 378 Requirement Levels", BCP 14, RFC 2119, 379 DOI 10.17487/RFC2119, March 1997, 380 . 382 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 383 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 384 . 386 [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 387 (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, 388 DOI 10.17487/RFC5881, June 2010, 389 . 391 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 392 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 393 June 2010, . 395 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 396 "Bidirectional Forwarding Detection (BFD) for MPLS Label 397 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 398 June 2010, . 400 [RFC6428] Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed., 401 "Proactive Connectivity Verification, Continuity Check, 402 and Remote Defect Indication for the MPLS Transport 403 Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011, 404 . 406 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 407 Aldrin, "Clarifying Procedures for Establishing BFD 408 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 409 DOI 10.17487/RFC7726, January 2016, 410 . 412 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 413 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 414 Switched (MPLS) Data-Plane Failures", RFC 8029, 415 DOI 10.17487/RFC8029, March 2017, 416 . 418 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 419 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 420 May 2017, . 422 [RFC8287] Kumar, N., Ed., Pignataro, C., Ed., Swallow, G., Akiya, 423 N., Kini, S., and M. Chen, "Label Switched Path (LSP) 424 Ping/Traceroute for Segment Routing (SR) IGP-Prefix and 425 IGP-Adjacency Segment Identifiers (SIDs) with MPLS Data 426 Planes", RFC 8287, DOI 10.17487/RFC8287, December 2017, 427 . 429 10.2. Informative References 431 [I-D.ietf-mpls-static-yang] 432 Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A 433 YANG Data Model for MPLS Static LSPs", draft-ietf-mpls- 434 static-yang-05 (work in progress), February 2018. 436 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 437 the Network Configuration Protocol (NETCONF)", RFC 6020, 438 DOI 10.17487/RFC6020, October 2010, 439 . 441 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 442 "Common YANG Data Types for the Routing Area", RFC 8294, 443 DOI 10.17487/RFC8294, December 2017, 444 . 446 Authors' Addresses 448 Greg Mirsky 449 ZTE Corp. 451 Email: gregimirsky@gmail.com 453 Jeff Tantsura 454 Nuage Networks 456 Email: jefftant.ietf@gmail.com 457 Ilya Varlashkin 458 Google 460 Email: Ilya@nobulus.com 462 Mach(Guoyi) Chen 463 Huawei 465 Email: mach.chen@huawei.com