idnits 2.17.1 draft-mirsky-spring-bfd-03.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 (December 4, 2017) is 2335 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-07 ** 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-ietf-spring-segment-routing-13 == Outdated reference: A later version (-14) exists of draft-ietf-mpls-static-yang-04 Summary: 1 error (**), 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: June 7, 2018 Individual 6 I. Varlashkin 7 Google 8 M. Chen 9 Huawei 10 December 4, 2017 12 Bidirectional Forwarding Detection (BFD) in Segment Routing Networks 13 Using MPLS Dataplane 14 draft-mirsky-spring-bfd-03 16 Abstract 18 Segment Routing 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. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on June 7, 2018. 45 Copyright Notice 47 Copyright (c) 2017 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 1.1. Conventions used in this document . . . . . . . . . . . . 3 64 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 65 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 66 2. Bootstrapping BFD session over Segment Routed tunnel . . . . 3 67 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel . . 4 68 4. Use Non-FEC Path TLV . . . . . . . . . . . . . . . . . . . . 4 69 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with 70 Dynamic Control Plane . . . . . . . . . . . . . . . . . . . . 6 71 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 72 6.1. Segment Routing Static MPLS Tunnel sub-TLV . . . . . . . 6 73 6.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 7 74 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 75 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 76 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 77 9.1. Normative References . . . . . . . . . . . . . . . . . . 8 78 9.2. Informative References . . . . . . . . . . . . . . . . . 9 79 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 81 1. Introduction 83 [RFC5880], [RFC5881], and [RFC5883] established the Bidirectional 84 Forwarding Detection (BFD) protocol for IP networks. [RFC5884] and 85 [RFC7726] set rules of using BFD Asynchronous mode over Multiprotocol 86 Label Switching (MPLS) Label Switched Path (LSP). These latter 87 standards implicitly assume that the egress BFD peer, which is the 88 egress Label Edge Router (LER), will use the shortest path route 89 regardless of the path the ingress LER uses to send BFD control 90 packets towards it. 92 This document defines use of LSP Ping for Segment Routing networks 93 over MPLS dataplane [I-D.ietf-mpls-spring-lsp-ping] to bootstrap and 94 control path of a BFD session from the egress to ingress LER using 95 static MPLS tunnel. 97 1.1. Conventions used in this document 99 1.1.1. Terminology 101 BFD: Bidirectional Forwarding Detection 103 FEC: Forwarding Equivalence Class 105 MPLS: Multiprotocol Label Switching 107 LSP: Label Switching Path 109 LER: Label Edge Router 111 1.1.2. Requirements Language 113 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 114 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 115 "OPTIONAL" in this document are to be interpreted as described in BCP 116 14 [RFC2119] [RFC8174] when, and only when, they appear in all 117 capitals, as shown here. 119 2. Bootstrapping BFD session over Segment Routed tunnel 121 As demonstrated in [I-D.ietf-mpls-spring-lsp-ping] introduction of 122 Segment Routing network domains with an MPLS data plane requires 123 three new sub-TLVs that MAY be used with Target Forwarding 124 Equivalence Class (FEC) TLV. Section 6.1 addresses use of the new 125 sub-TLVs in Target FEC TLV in LSP ping and LSP traceroute. For the 126 case of LSP ping the [I-D.ietf-mpls-spring-lsp-ping] states that: 128 Initiator MUST include FEC(s) corresponding to the destination 129 segment. 131 Initiator, i.e. ingress LSR, MAY include FECs corresponding to 132 some or all of segments imposed in the label stack by the ingress 133 LSR to communicate the segments traversed. 135 It has been noted in [RFC5884] that a BFD session monitors for 136 defects particular tuple. [RFC7726] clarified how to 137 establish and operate multiple BFD sessions for the same tuple. Because only ingress edge router is aware of the SR- 139 based explicit route the egress edge router can associate the LSP 140 ping with BFD Discriminator TLV with only one of the FECs it 141 advertised for the particular segment. Thus this document clarifies 142 that: 144 When LSP Ping is used to bootstrap a BFD session the FEC 145 corresponding to the destination segment to be associated with the 146 BFD session MUST be as the very last sub-TLV in the Target FEC 147 TLV. 149 Encapsulation of a BFD Control packet in Segment Routing network with 150 MPLS dataplane MUST follow Section 7 [RFC5884] when IP/UDP header 151 used and MUST follow Section 3.4 [RFC6428] without IP/UDP header 152 being used. 154 3. Use BFD Reverse Path TLV over Segment Routed MPLS Tunnel 156 For BFD over MPLS LSP case, per [RFC5884], egress LER MAY send BFD 157 control packet to the ingress LER either over IP network or an MPLS 158 LSP. Similarly, for the case of BFD over p2p segment tunnel with 159 MPLS data plane, the ingress LER MAY route BFD control packet over IP 160 network, as described in [RFC5883], or transmit over a segment 161 tunnel, as described in Section 7 [RFC5884]. In some cases there may 162 be a need to direct egress BFD peer to use specific path for the 163 reverse direction of the BFD session by using the BFD Reverse Path 164 TLV and following all procedures as defined in 165 [I-D.ietf-mpls-bfd-directed]. 167 4. Use Non-FEC Path TLV 169 For the case of MPLS dataplane, Segment Routing Architecture 170 [I-D.ietf-spring-segment-routing] explains that "a segment is encoded 171 as an MPLS label. An ordered list of segments is encoded as a stack 172 of labels." YANG Data Model for MPLS Static LSPs 173 [I-D.ietf-mpls-static-yang] models outgoing MPLS labels to be imposed 174 as leaf-list [RFC6020], i.e., as array of rt-types:mpls-label 175 [I-D.ietf-rtgwg-routing-types]. 177 This document defines new optional Non-FEC Path TLV. The format of 178 the Non-FEC Path TLV is presented in Figure 1 179 0 1 2 3 180 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 181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 182 | Non-FEC Path TLV Type | Length | 183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 184 | | 185 ~ Non-FEC Path ~ 186 | | 187 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 189 Figure 1: Non-FEC Path TLV Format 191 Non-FEC Path TLV Type is 2 octets in length and has a value of TBD1 192 (to be assigned by IANA as requested in Table 1). 194 Length field is 2 octets long and defines the length in octets of the 195 Non-FEC Path field. 197 Non-FEC Path field contains a sub-TLV. Any Non-FEC Path sub-TLV 198 (defined in this document or to be defined in the future) for Non-FEC 199 Path TLV type MAY be used in this field. None or one sub-TLV MAY be 200 included in the Non-FEC Path TLV. If no sub-TLV has been found in 201 the Non-FEC Path TLV, the egress BFD peer MUST revert to using the 202 reverse path selected based on its local policy. If there are more 203 than one sub-TLV, then the Return Code in echo reply MUST be set to 204 "Too Many TLVs Detected" Table 4. 206 Non-FEC Path TLV MAY be used to specify the reverse path of the BFD 207 session identified in the BFD Discriminator TLV. If the Non-FEC Path 208 TLV is present in the echo request message the BFD Discriminator TLV 209 MUST be present as well. If the BFD Discriminator TLV is absent when 210 the Non-FEC Path TLV is included, then it MUST be treated as 211 malformed Echo Request, as described in [RFC8029]. 213 This document defines Static Routing MPLS Tunnel sub-TLV that MAY be 214 used with the Non-FEC Path TLV. The format of the sub-TLV is 215 presented in Figure 2. 217 0 1 2 3 218 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 219 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 220 | SR MPLS Tunnel sub-TLV Type | Length | 221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 222 | Label Entry 1 | 223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 224 | Label Entry 2 | 225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 226 ~ ~ 227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 228 | Label Entry N | 229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 Figure 2: Segment Routing MPLS Tunnel sub-TLV 233 The Segment Routing MPLS Tunnel sub-TLV Type is two octets in length, 234 and has a value of TBD (to be assigned by IANA as requested in 235 Section 6). 237 The egress LSR MUST use the Value field as label stack for BFD 238 control packets for the BFD session identified by the source IP 239 address of the MPLS LSP Ping packet and the value in the BFD 240 Discriminator TLV. Label Entries MUST be in network order. 242 5. BFD Reverse Path TLV over Segment Routed MPLS Tunnel with Dynamic 243 Control Plane 245 When Segment Routed domain with MPLS data plane uses distributed 246 tunnel computation BFD Reverse Path TLV MAY use Target FEC sub-TLVs 247 defined in [I-D.ietf-mpls-spring-lsp-ping]. 249 6. IANA Considerations 251 6.1. Segment Routing Static MPLS Tunnel sub-TLV 253 IANA is requested to assign new TLV type from the from Standards 254 Action range of the registry "Multiprotocol Label Switching 255 Architecture (MPLS) Label Switched Paths (LSPs) Ping Parameters - 256 TLVs" as defined in the Table 1. 258 +-------+------------------+---------------+ 259 | Value | TLV Name | Reference | 260 +-------+------------------+---------------+ 261 | TBD1 | Non-FEC Path TLV | This document | 262 +-------+------------------+---------------+ 264 Table 1: New Non-FEC Path TLV 266 IANA is requested to create new Non-FEC Path sub-TLV registry for the 267 Non-FEC Path TLV as described in Table 2. 269 +-------------+---------------+-------------------------------------+ 270 | Range | Registration | Note | 271 | | Procedures | | 272 +-------------+---------------+-------------------------------------+ 273 | 0-16383 | Standards | This range is for mandatory TLVs or | 274 | | Action | for optional TLVs that require an | 275 | | | error message if not recognized. | 276 | 16384-31743 | Specification | Experimental RFC needed | 277 | | Required | | 278 | 32768-49161 | Standards | This range is for optional TLVs | 279 | | Action | that can be silently dropped if not | 280 | | | recognized. | 281 | 49162-64511 | Specification | Experimental RFC needed | 282 | | Required | | 283 | 64512-65535 | Private Use | | 284 +-------------+---------------+-------------------------------------+ 286 Table 2: Non-FEC Path sub-TLV registry 288 IANA is requested to allocate following values from the Non-FEC Path 289 sub-TLV registry as defined in Table 3. 291 +-------+-------------------------------------+---------------+ 292 | Value | Description | Reference | 293 +-------+-------------------------------------+---------------+ 294 | 0 | Reserved | This document | 295 | TBD2 | Segment Routing MPLS Tunnel sub-TLV | This document | 296 | 65535 | Reserved | This document | 297 +-------+-------------------------------------+---------------+ 299 Table 3: New Segment Routing Tunnel sub-TLV 301 6.2. Return Code 303 IANA is requested to create Non-FEC Path sub-TLV subregistry for the 304 new Non-FEC Path TLV. assign a new Return Code value from the "Multi- 305 Protocol Label Switching (MPLS) Label Switched Paths (LSPs) Ping 306 Parameters" registry, "Return Codes" sub-registry, as follows using a 307 Standards Action value. 309 +----------+-------------------------+---------------+ 310 | Value | Description | Reference | 311 +----------+-------------------------+---------------+ 312 | X (TBD3] | Too Many TLVs Detected. | This document | 313 +----------+-------------------------+---------------+ 315 Table 4: New Return Code 317 7. Security Considerations 319 Security considerations discussed in [RFC5880], [RFC5884], [RFC7726], 320 and [RFC8029] apply to this document. 322 8. Acknowledgements 324 TBD 326 9. References 328 9.1. Normative References 330 [I-D.ietf-mpls-bfd-directed] 331 Mirsky, G., Tantsura, J., Varlashkin, I., and M. Chen, 332 "Bidirectional Forwarding Detection (BFD) Directed Return 333 Path", draft-ietf-mpls-bfd-directed-07 (work in progress), 334 June 2017. 336 [I-D.ietf-mpls-spring-lsp-ping] 337 Kumar, N., Pignataro, C., Swallow, G., Akiya, N., Kini, 338 S., and M. Chen, "Label Switched Path (LSP) Ping/ 339 Traceroute for Segment Routing IGP Prefix and Adjacency 340 SIDs with MPLS Data-plane", draft-ietf-mpls-spring-lsp- 341 ping-13 (work in progress), October 2017. 343 [I-D.ietf-spring-segment-routing] 344 Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B., 345 Litkowski, S., and R. Shakir, "Segment Routing 346 Architecture", draft-ietf-spring-segment-routing-13 (work 347 in progress), October 2017. 349 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 350 Requirement Levels", BCP 14, RFC 2119, 351 DOI 10.17487/RFC2119, March 1997, 352 . 354 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 355 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 356 . 358 [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 359 (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, 360 DOI 10.17487/RFC5881, June 2010, 361 . 363 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 364 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 365 June 2010, . 367 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 368 "Bidirectional Forwarding Detection (BFD) for MPLS Label 369 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 370 June 2010, . 372 [RFC6428] Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed., 373 "Proactive Connectivity Verification, Continuity Check, 374 and Remote Defect Indication for the MPLS Transport 375 Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011, 376 . 378 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 379 Aldrin, "Clarifying Procedures for Establishing BFD 380 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 381 DOI 10.17487/RFC7726, January 2016, 382 . 384 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 385 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 386 Switched (MPLS) Data-Plane Failures", RFC 8029, 387 DOI 10.17487/RFC8029, March 2017, 388 . 390 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 391 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 392 May 2017, . 394 9.2. Informative References 396 [I-D.ietf-mpls-static-yang] 397 Saad, T., Raza, K., Gandhi, R., Liu, X., Beeram, V., Shah, 398 H., Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG 399 Data Model for MPLS Static LSPs", draft-ietf-mpls-static- 400 yang-04 (work in progress), July 2017. 402 [I-D.ietf-rtgwg-routing-types] 403 Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 404 "Routing Area Common YANG Data Types", draft-ietf-rtgwg- 405 routing-types-17 (work in progress), October 2017. 407 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 408 the Network Configuration Protocol (NETCONF)", RFC 6020, 409 DOI 10.17487/RFC6020, October 2010, 410 . 412 Authors' Addresses 414 Greg Mirsky 415 ZTE Corp. 417 Email: gregimirsky@gmail.com 419 Jeff Tantsura 420 Individual 422 Email: jefftant.ietf@gmail.com 424 Ilya Varlashkin 425 Google 427 Email: Ilya@nobulus.com 429 Mach(Guoyi) Chen 430 Huawei 432 Email: mach.chen@huawei.com