idnits 2.17.1 draft-ietf-mpls-bfd-directed-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 (August 17, 2016) is 2806 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 (-13) exists of draft-ietf-mpls-spring-lsp-ping-00 ** Obsolete normative reference: RFC 4379 (Obsoleted by RFC 8029) Summary: 1 error (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 MPLS Working Group G. Mirsky 3 Internet-Draft Ericsson 4 Intended status: Standards Track J. Tantsura 5 Expires: February 18, 2017 6 I. Varlashkin 7 Google 8 M. Chen 9 Huawei 10 August 17, 2016 12 Bidirectional Forwarding Detection (BFD) Directed Return Path 13 draft-ietf-mpls-bfd-directed-03 15 Abstract 17 Bidirectional Forwarding Detection (BFD) is expected to monitor any 18 kind of paths between systems. When a BFD session monitors an 19 explicitly routed uni-directional path there may be a need to direct 20 egress BFD peer to use specific path for the reverse direction of the 21 BFD session. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on February 18, 2017. 40 Copyright Notice 42 Copyright (c) 2016 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 1.1. Conventions used in this document . . . . . . . . . . . . 3 59 1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3 60 1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3 61 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 62 3. Direct Reverse BFD Path . . . . . . . . . . . . . . . . . . . 4 63 3.1. Case of MPLS Data Plane . . . . . . . . . . . . . . . . . 4 64 3.1.1. BFD Reverse Path TLV . . . . . . . . . . . . . . . . 4 65 3.1.2. Static and RSVP-TE sub-TLVs . . . . . . . . . . . . . 5 66 3.1.3. Segment Routing: MPLS Data Plane Case . . . . . . . . 5 67 3.2. Bootstrapping BFD session with BFD Reverse Path over 68 Segment Routed tunnel . . . . . . . . . . . . . . . . . . 6 69 3.3. Return Codes . . . . . . . . . . . . . . . . . . . . . . 6 70 4. Use Case Scenario . . . . . . . . . . . . . . . . . . . . . . 7 71 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 72 5.1. TLV . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 73 5.2. Sub-TLV . . . . . . . . . . . . . . . . . . . . . . . . . 7 74 5.3. Return Codes . . . . . . . . . . . . . . . . . . . . . . 8 75 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 76 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 77 8. Normative References . . . . . . . . . . . . . . . . . . . . 8 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 80 1. Introduction 82 RFC 5880 [RFC5880], RFC 5881 [RFC5881], and RFC 5883 [RFC5883] 83 established the BFD protocol for IP networks and RFC 5884 [RFC5884] 84 set rules of using BFD asynchronous mode over IP/MPLS LSPs. These 85 four standards implicitly assume that the egress BFD peer will use 86 the shortest path route regardless of route being used to send BFD 87 control packets towards it. 89 For the case where an LSP is explicitly routed, if it is desired that 90 BFD control packets follow the same path in the reverse direction 91 (for support of common fault detection for explicitly routed 92 bidirectional co-routed LSPs, for example), it is likely that the 93 shortest return path to the ingress BFD peer may not follow the same 94 path as the LSP in the forward direction. The fact that BFD control 95 packets are not guaranteed to cross the same links and nodes in both 96 forward and reverse directions is a significant factor in producing 97 false positive defect notifications, i.e. false alarms, if used by 98 the ingress BFD peer to deduce the state of the forward direction. 100 This document defines the BFD Reverse Path TLV as an extension to LSP 101 Ping [RFC4379] and proposes that it to be used to instruct the egress 102 BFD peer to use explicit path for its BFD control packets associated 103 with the particular BFD session. The TLV will be allocated from the 104 TLV and sub-TLV registry defined by RFC 4379 [RFC4379]. As a special 105 case, forward and reverse directions of the BFD session can form a 106 bi-directional co-routed associated channel. 108 1.1. Conventions used in this document 110 1.1.1. Terminology 112 BFD: Bidirectional Forwarding Detection 114 MPLS: Multiprotocol Label Switching 116 LSP: Label Switching Path 118 LoC: Loss of Continuity 120 1.1.2. Requirements Language 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 124 "OPTIONAL" in this document are to be interpreted as described in 125 [RFC2119]. 127 2. Problem Statement 129 BFD is best suited to monitor bi-directional co-routed paths. In 130 most cases, given stable environments, the forward and reverse 131 directions between two nodes are likely to be co-routed. If BFD is 132 used to monitor unidirectional explicitly routed path, e.g. MPLS-TE 133 LSP, BFD control packets in forward direction would be in-band using 134 the mechanism defined in [RFC5884] and [RFC5586]. But the reverse 135 direction of the BFD session would still follow the shortest path 136 route and that might lead to the following problem in detecting 137 failures on a unidirectional explicit path: 139 o a failure detection by ingress node on the reverse path cannot be 140 interpreted as bi-directional failure with all the certainty and 141 thus trigger, for example, protection switchover of the forward 142 direction without possibility of being a false positive defect 143 notification. 145 To address this scenario the egress BFD peer should be instructed to 146 use a specific path for BFD control packets. 148 3. Direct Reverse BFD Path 150 3.1. Case of MPLS Data Plane 152 LSP ping, defined in [RFC4379], uses BFD Discriminator TLV [RFC5884] 153 to bootstrap a BFD session over an MPLS LSP. This document defines a 154 new TLV, BFD Reverse Path TLV, that MUST contain a single sub-TLV 155 that can be used to carry information about the reverse path for the 156 BFD session that is specified by value in BFD Discriminator TLV. 158 3.1.1. BFD Reverse Path TLV 160 The BFD Reverse Path TLV is an optional TLV within the LSP ping 161 protocol. However, if used, the BFD Discriminator TLV MUST be 162 included in an Echo Request message as well. If the BFD 163 Discriminator TLV is not present when the BFD Reverse Path TLV is 164 included, then it MUST be treated as malformed Echo Request, as 165 described in [RFC4379]. 167 The BFD Reverse Path TLV carries information about the path onto 168 which the egress BFD peer of the BFD session referenced by the BFD 169 Discriminator TLV MUST transmit BFD control packets. The format of 170 the BFD Reverse Path TLV is as presented in Figure 1. 172 0 1 2 3 173 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 174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 175 | BFD Reverse Path TLV Type | Length | 176 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 177 | Reverse Path | 178 ~ ~ 179 | | 180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 182 Figure 1: BFD Reverse Path TLV 184 BFD Reverse Path TLV Type is 2 octets in length and has a value of 185 TB1 (to be assigned by IANA as requested in Section 5). 187 Length field is 2 octets long and defines the length in octets of the 188 Reverse Path field. 190 Reverse Path field contains a sub-TLV. Any Target FEC sub-TLV 191 (already defined, or to be defined in the future) for TLV Types 1, 192 16, and 21 of MPLS LSP Ping Parameters registry MAY be used in this 193 field. Exactly one sub-TLV MUST be included in the Reverse Path TLV. 194 If more than one sub-TLV is present in the Reverse Path TLV, then, in 195 order to avoid ambiguity of which of TLVs to use, the egress BFD peer 196 MUST send Echo Reply with the received Reverse Path TLVs and set the 197 Return Code to "Too Many TLVs Detected" Section 3.3. 199 If the egress LSR cannot find the path specified in the Reverse Path 200 TLV it MUST send Echo Reply with the received Reverse Path TLV and 201 set the Return Code to "Failed to establish the BFD session. The 202 specified reverse path was not found" Section 3.3. The egress BFD 203 peer MAY establish the BFD session over IP network as defined in 204 [RFC5884]. 206 3.1.2. Static and RSVP-TE sub-TLVs 208 When an explicit path on an MPLS data plane is set either as Static 209 or RSVP-TE LSP respective sub-TLVs defined in [RFC7110] MAY be used 210 to identify the explicit reverse path for the BFD session. 212 3.1.3. Segment Routing: MPLS Data Plane Case 214 In addition to Static and RSVP-TE, Segment Routing with MPLS data 215 plane can be used to set an explicit path. In this case a new sub- 216 TLV is defined in this document as presented in Figure 2. 218 0 1 2 3 219 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 220 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 221 | SegRouting MPLS sub-TLV Type | Length | 222 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 223 | Label Entry 1 | 224 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 225 | Label Entry 2 | 226 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 227 ~ ~ 228 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 229 | Label Entry N | 230 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 Figure 2: Segment Routing MPLS Tunnel sub-TLV 234 The Segment Routing Tunnel sub-TLV Type is two octets in length, and 235 has a value of TB2 (to be assigned by IANA as requested in 236 Section 5). 238 The egress LSR MUST use the Value field as label stack for BFD 239 control packets for the BFD session identified by the source IP 240 address of the MPLS LSP Ping packet and the value in the BFD 241 Discriminator TLV. Label Entries MUST be in network order. 243 The Segment Routing Tunnel sub-TLV MAY be used in Reply Path TLV 244 defined in [RFC7110] 246 3.2. Bootstrapping BFD session with BFD Reverse Path over Segment 247 Routed tunnel 249 As discussed in [I-D.ietf-mpls-spring-lsp-ping] introduction of 250 Segment Routing network domains with an MPLS data plane adds three 251 new sub-TLVs that MAY be used with Target FEC TLV. Section 6.1 252 addresses use of the new sub-TLVs in Target FEC TLV in LSP ping and 253 LSP traceroute. For the case of LSP ping the 254 [I-D.ietf-mpls-spring-lsp-ping] states that: 256 "Initiator MUST include FEC(s) corresponding to the destination 257 segment. " 259 "Initiator, i.e. ingress LSR, MAY include FECs corresponding to some 260 or all of segments imposed in the label stack by the ingress LSR to 261 communicate the segments traversed. " 263 When LSP ping is used to bootstrap BFD session this document updates 264 the statement and defines that LSP Ping MUST include the FEC 265 corresponding to the destination segment and SHOULD NOT include FECs 266 corresponding to some or all of other segments imposed by the ingress 267 LSR. Operationally such restriction would not cause any problem or 268 uncertainty as LSP ping with FECs corresponding to some or all 269 segments or traceroute that validate the segment route MAY precede 270 the LSP ping that bootstraps the BFD session. 272 3.3. Return Codes 274 This document defines the following Return Codes for MPLS LSP Echo 275 Reply: 277 o "Too Many TLVs Detected", (TBD3). When more than one Reverse Path 278 TLV found in the received Echo Request by the egress BFD peer, an 279 Echo Reply with the return code set to "Too Many TLVs Detected" 280 MUST be sent to the ingress BFD peer Section 3.1.1. 282 o "Failed to establish the BFD session. The specified reverse path 283 was not found", (TBD4). When a specified reverse path is not 284 available at the egress BFD peer, an Echo Reply with the return 285 code set to "Failed to establish the BFD session. The specified 286 reverse path was not found" MUST be sent back to the ingress BFD 287 peer Section 3.1.1. 289 4. Use Case Scenario 291 In the network presented in Figure 3 node A monitors two tunnels to 292 node H: A-B-C-D-G-H and A-B-E-F-G-H. To bootstrap a BFD session to 293 monitor the first tunnel, node A MUST include a BFD Discriminator TLV 294 with Discriminator value (e.g. foobar-1) and MAY include a BFD 295 Reverse Path TLV that references H-G-D-C-B-A tunnel. To bootstrap a 296 BFD session to monitor the second tunnel, node A MUST include a BFD 297 Discriminator TLV with a different Discriminator value (e.g. foobar- 298 2) [RFC7726] and MAY include a BFD Reverse Path TLV that references 299 H-G-F-E-B-A tunnel. 301 C---------D 302 | | 303 A-------B G-----H 304 | | 305 E---------F 307 Figure 3: Use Case for BFD Reverse Path TLV 309 If an operator needs node H to monitor a path to node A, e.g. 310 H-G-D-C-B-A tunnel, then by looking up list of known Reverse Paths it 311 MAY find and use the existing BFD session. 313 5. IANA Considerations 315 5.1. TLV 317 The IANA is requested to assign a new value for BFD Reverse Path TLV 318 from the "Multiprotocol Label Switching Architecture (MPLS) Label 319 Switched Paths (LSPs) Ping Parameters - TLVs" registry, "TLVs and 320 sub-TLVs" sub-registry. 322 +----------+----------------------+---------------+ 323 | Value | Description | Reference | 324 +----------+----------------------+---------------+ 325 | X (TBD1) | BFD Reverse Path TLV | This document | 326 +----------+----------------------+---------------+ 328 Table 1: New BFD Reverse Type TLV 330 5.2. Sub-TLV 332 The IANA is requested to assign new sub-TLV type from "Multiprotocol 333 Label Switching Architecture (MPLS) Label Switched Paths (LSPs) Ping 334 Parameters - TLVs" registry, "Sub-TLVs for TLV Types 1, 16, and 21" 335 sub-registry. 337 +----------+-------------------------------------+---------------+ 338 | Value | Description | Reference | 339 +----------+-------------------------------------+---------------+ 340 | X (TBD2) | Segment Routing MPLS Tunnel sub-TLV | This document | 341 +----------+-------------------------------------+---------------+ 343 Table 2: New Segment Routing Tunnel sub-TLV 345 5.3. Return Codes 347 The IANA is requested to assign a new Return Code value from the 348 "Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) 349 Ping Parameters" registry, "Return Codes" sub-registry, as follows 350 using a Standards Action value. 352 +----------+----------------------------------------+---------------+ 353 | Value | Description | Reference | 354 +----------+----------------------------------------+---------------+ 355 | X (TBD3) | Too Many TLVs Detected. | This document | 356 | X (TBD4) | Failed to establish the BFD session. | This document | 357 | | The specified reverse path was not | | 358 | | found. | | 359 +----------+----------------------------------------+---------------+ 361 Table 3: New Return Code 363 6. Security Considerations 365 Security considerations discussed in [RFC5880], [RFC5884], and 366 [RFC4379], apply to this document. 368 7. Acknowledgements 370 Authors greatly appreciate thorough review and the most helpful 371 comments from Eric Gray. 373 8. Normative References 375 [I-D.ietf-mpls-spring-lsp-ping] 376 Kumar, N., Swallow, G., Pignataro, C., Akiya, N., Kini, 377 S., Gredler, H., and M. Chen, "Label Switched Path (LSP) 378 Ping/Trace for Segment Routing Networks Using MPLS 379 Dataplane", draft-ietf-mpls-spring-lsp-ping-00 (work in 380 progress), May 2016. 382 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 383 Requirement Levels", BCP 14, RFC 2119, 384 DOI 10.17487/RFC2119, March 1997, 385 . 387 [RFC4379] Kompella, K. and G. Swallow, "Detecting Multi-Protocol 388 Label Switched (MPLS) Data Plane Failures", RFC 4379, 389 DOI 10.17487/RFC4379, February 2006, 390 . 392 [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., 393 "MPLS Generic Associated Channel", RFC 5586, 394 DOI 10.17487/RFC5586, June 2009, 395 . 397 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 398 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 399 . 401 [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 402 (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, 403 DOI 10.17487/RFC5881, June 2010, 404 . 406 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 407 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 408 June 2010, . 410 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 411 "Bidirectional Forwarding Detection (BFD) for MPLS Label 412 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 413 June 2010, . 415 [RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord, 416 "Return Path Specified Label Switched Path (LSP) Ping", 417 RFC 7110, DOI 10.17487/RFC7110, January 2014, 418 . 420 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 421 Aldrin, "Clarifying Procedures for Establishing BFD 422 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 423 DOI 10.17487/RFC7726, January 2016, 424 . 426 Authors' Addresses 428 Greg Mirsky 429 Ericsson 431 Email: gregory.mirsky@ericsson.com 433 Jeff Tantsura 435 Email: jefftant.ietf@gmail.com 437 Ilya Varlashkin 438 Google 440 Email: Ilya@nobulus.com 442 Mach(Guoyi) Chen 443 Huawei 445 Email: mach.chen@huawei.com