idnits 2.17.1 draft-ietf-mpls-bfd-directed-11.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 (April 3, 2019) is 1849 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 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 ZTE 4 Intended status: Standards Track J. Tantsura 5 Expires: October 5, 2019 Nuage Networks 6 I. Varlashkin 7 Google 8 M. Chen 9 Huawei 10 April 3, 2019 12 Bidirectional Forwarding Detection (BFD) Directed Return Path 13 draft-ietf-mpls-bfd-directed-11 15 Abstract 17 Bidirectional Forwarding Detection (BFD) is expected to be able to 18 monitor a wide variety of encapsulations of paths between systems. 19 When a BFD session monitors an explicitly routed unidirectional path 20 there may be a need to direct egress BFD peer to use a specific path 21 for the reverse direction of the 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 https://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 October 5, 2019. 40 Copyright Notice 42 Copyright (c) 2019 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 (https://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. Requirements Language . . . . . . . . . . . . . . . . 3 60 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 3 61 3. Control of the Reverse BFD Path . . . . . . . . . . . . . . . 3 62 3.1. BFD Reverse Path TLV . . . . . . . . . . . . . . . . . . 3 63 3.2. Static and RSVP-TE sub-TLVs . . . . . . . . . . . . . . . 5 64 3.3. Return Codes . . . . . . . . . . . . . . . . . . . . . . 5 65 4. Use Case Scenario . . . . . . . . . . . . . . . . . . . . . . 5 66 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 67 5.1. BFD Reverse Path TLV . . . . . . . . . . . . . . . . . . 6 68 5.2. Return Code . . . . . . . . . . . . . . . . . . . . . . . 6 69 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 70 7. Normative References . . . . . . . . . . . . . . . . . . . . 7 71 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 8 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 74 1. Introduction 76 [RFC5880], [RFC5881], and [RFC5883] established the BFD protocol for 77 IP networks. [RFC5884] and [RFC7726] set rules for using BFD 78 asynchronous mode over IP/MPLS LSPs. These standards do not define 79 means to control the path selection at the egress BFD peer to send 80 BFD control packets towards the ingress BFD system. 82 For the case when BFD is used to detect defects of the traffic 83 engineered LSP the path the BFD control packets transmitted by the 84 egress BFD system toward the ingress may be disjoint from the LSP in 85 the forward direction. The fact that BFD control packets are not 86 guaranteed to follow the same links and nodes in both forward and 87 reverse directions may be one of the factors contributing to 88 producing false positive defect notifications, i.e., false alarms, at 89 the ingress BFD peer. Ensuring that both directions of the BFD 90 session use co-routed paths may, in some environments, improve the 91 determinism of the failure detection and localization. 93 This document defines the BFD Reverse Path TLV as an extension to LSP 94 Ping [RFC8029] and proposes that it is to be used to instruct the 95 egress BFD peer to use an explicit path for its BFD control packets 96 associated with a particular BFD session. The TLV will be allocated 97 from the TLV and sub-TLV registry defined in [RFC8029]. As a special 98 case, forward and reverse directions of the BFD session can form a 99 bi-directional co-routed associated channel. 101 1.1. Conventions used in this document 103 1.1.1. Requirements Language 105 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 106 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 107 "OPTIONAL" in this document are to be interpreted as described in BCP 108 14 [RFC2119] [RFC8174] when, and only when, they appear in all 109 capitals, as shown here. 111 2. Problem Statement 113 When BFD is used to monitor explicitly routed unidirectional path, 114 e.g., MPLS-TE LSP, BFD control packets in forward direction would be 115 in-band using the mechanism defined in [RFC5884] and [RFC5586]. But 116 the reverse direction of the BFD session would follow the shortest 117 path route and that might lead to the problem in detecting failures 118 on an explicit unidirectional path as described below: 120 o a failure detection by ingress node on the reverse path may not be 121 interpreted as bi-directional failure unambiguously. 123 To address this scenario, the egress BFD peer would be instructed to 124 use a specific path for BFD control packets. 126 3. Control of the Reverse BFD Path 128 To bootstrap a BFD session over an MPLS LSP, LSP ping, defined in 129 [RFC8029], MUST be used with BFD Discriminator TLV [RFC5884]. This 130 document defines a new TLV, BFD Reverse Path TLV, that MUST contain a 131 single sub-TLV that can be used to carry information about the 132 reverse path for the BFD session that is specified by the value in 133 BFD Discriminator TLV. 135 3.1. BFD Reverse Path TLV 137 The BFD Reverse Path TLV is an optional TLV within the LSP ping 138 [RFC8029]. However, if used, the BFD Discriminator TLV MUST be 139 included in an Echo Request message as well. If the BFD 140 Discriminator TLV is not present when the BFD Reverse Path TLV is 141 included; then it MUST be treated as malformed Echo Request, as 142 described in [RFC8029]. 144 The BFD Reverse Path TLV carries information about the path onto 145 which the egress BFD peer of the BFD session referenced by the BFD 146 Discriminator TLV MUST transmit BFD control packets. The format of 147 the BFD Reverse Path TLV is as presented in Figure 1. 149 0 1 2 3 150 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 151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 152 | BFD Reverse Path TLV Type | Length | 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 154 | Reverse Path | 155 ~ ~ 156 | | 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 159 Figure 1: BFD Reverse Path TLV 161 BFD Reverse Path TLV Type is two octets in length and has a value of 162 TBD1 (to be assigned by IANA as requested in Section 5). 164 Length field is two octets long and defines the length in octets of 165 the Reverse Path field. 167 Reverse Path field contains a sub-TLV. Any non-multicast Target FEC 168 Stack sub-TLV (already defined, or to be defined in the future) for 169 TLV Types 1, 16, and 21 of MPLS LSP Ping Parameters registry MAY be 170 used in this field. Multicast Target FEC Stack sub-TLVs, i.e., p2mp 171 and mp2mp, SHOULD NOT be included in Reverse Path field. If the 172 egress LSR finds multicast Target Stack sub-TLV, it MUST send echo 173 reply with the received Reverse Path TLV, BFD Discriminator TLV and 174 set the Return Code to "Inappropriate Target FEC Stack sub-TLV 175 present" Section 3.3. None, one or more sub-TLVs MAY be included in 176 the BFD Reverse Path TLV. If no sub-TLVs are found in the BFD 177 Reverse Path TLV, the egress BFD peer MUST revert to using the local 178 policy based decision as described in Section 7 [RFC5884], i.e., 179 routed over IP network. 181 If the egress LSR cannot find the path specified in the Reverse Path 182 TLV it MUST send Echo Reply with the received BFD Discriminator TLV, 183 Reverse Path TLV and set the Return Code to "Failed to establish the 184 BFD session. The specified reverse path was not found" Section 3.3. 185 An implementation MAY provide configuration options to define action 186 at the egress BFD peer. For example, if the egress LSR cannot find 187 the path specified in the Reverse Path TLV it MAY establish the BFD 188 session over IP network as defined in [RFC5884]. 190 3.2. Static and RSVP-TE sub-TLVs 192 When an explicit path on an MPLS data plane is set either as Static 193 or RSVP-TE LSP, corresponding sub-TLVs, defined in [RFC7110], MAY be 194 used to identify the explicit reverse path for the BFD session. If 195 any of defined in [RFC7110] sub-TLVs used in BFD Reverse Path TLV, 196 then the periodic verification of the control plane against the data 197 plane, as recommended in Section 4 [RFC5884], MUST use the Return 198 Path TLV, as per [RFC7110], with that sub-TLV. By using the LSP Ping 199 with Return Path TLV an operator will be able to verify that the 200 forward LSP and the reverse LSP are mapped to the same FECs as BFD 201 session both at the ingress and the egress systems. Selection and 202 control of he rate of LSP Ping with Return Path TLV follows the 203 [RFC5884] that states: "The rate of generation of these LSP Ping Echo 204 request messages SHOULD be significantly less than the rate of 205 generation of the BFD Control packets. An implementation MAY provide 206 configuration options to control the rate of generation of the 207 periodic LSP Ping Echo request messages." 209 3.3. Return Codes 211 This document defines the following Return Codes for MPLS LSP Echo 212 Reply: 214 o "Inappropriate Target FEC Stack sub-TLV present", (TBD3). When 215 multicast Target FEC Stack sub-TLV found in the received Echo 216 Request by the egress BFD peer, an Echo Reply with the return code 217 set to "Inappropriate Target FEC Stack sub-TLV present" MUST be 218 sent to the ingress BFD peer Section 3.1. 220 o "Failed to establish the BFD session. The specified reverse path 221 was not found", (TBD4). When a specified reverse path is not 222 available at the egress BFD peer, an Echo Reply with the return 223 code set to "Failed to establish the BFD session. The specified 224 reverse path was not found" MUST be sent back to the ingress BFD 225 peer Section 3.1. 227 4. Use Case Scenario 229 In the network presented in Figure 2 node A monitors two tunnels to 230 node H: A-B-C-D-G-H and A-B-E-F-G-H. To bootstrap a BFD session to 231 monitor the first tunnel, node A MUST include a BFD Discriminator TLV 232 with Discriminator value (e.g., foobar-1) and MAY include a BFD 233 Reverse Path TLV that references H-G-D-C-B-A tunnel. To bootstrap a 234 BFD session to monitor the second tunnel, node A MUST include a BFD 235 Discriminator TLV with a different Discriminator value (e.g., foobar- 236 2) [RFC7726] and MAY include a BFD Reverse Path TLV that references 237 H-G-F-E-B-A tunnel. 239 C---------D 240 | | 241 A-------B G-----H 242 | | 243 E---------F 245 Figure 2: Use Case for BFD Reverse Path TLV 247 If an operator needs node H to monitor a path to node A, e.g. 248 H-G-D-C-B-A tunnel, then by looking up the list of known Reverse 249 Paths it MAY find and use the existing BFD session. 251 5. IANA Considerations 253 5.1. BFD Reverse Path TLV 255 The IANA is requested to assign a new value for BFD Reverse Path TLV 256 from the "Multiprotocol Label Switching Architecture (MPLS) Label 257 Switched Paths (LSPs) Ping Parameters - TLVs" registry, "TLVs and 258 sub-TLVs" sub-registry. 260 +--------+----------------------+---------------+ 261 | Value | Description | Reference | 262 +--------+----------------------+---------------+ 263 | (TBD1) | BFD Reverse Path TLV | This document | 264 +--------+----------------------+---------------+ 266 Table 1: New BFD Reverse Type TLV 268 5.2. Return Code 270 The IANA is requested to assign a new Return Code value from the 271 "Multi-Protocol Label Switching (MPLS) Label Switched Paths (LSPs) 272 Ping Parameters" registry, "Return Codes" sub-registry, as follows 273 using a Standards Action value. 275 +--------+----------------------------------------------+-----------+ 276 | Value | Description | Reference | 277 +--------+----------------------------------------------+-----------+ 278 | (TBD3) | Inappropriate Target FEC Stack sub-TLV | This | 279 | | present. | document | 280 | (TBD4) | Failed to establish the BFD session. The | This | 281 | | specified reverse path was not found. | document | 282 +--------+----------------------------------------------+-----------+ 284 Table 2: New Return Code 286 6. Security Considerations 288 Security considerations discussed in [RFC5880], [RFC5884], [RFC7726], 289 and [RFC8029], apply to this document. 291 7. Normative References 293 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 294 Requirement Levels", BCP 14, RFC 2119, 295 DOI 10.17487/RFC2119, March 1997, 296 . 298 [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., 299 "MPLS Generic Associated Channel", RFC 5586, 300 DOI 10.17487/RFC5586, June 2009, 301 . 303 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 304 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 305 . 307 [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 308 (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, 309 DOI 10.17487/RFC5881, June 2010, 310 . 312 [RFC5883] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 313 (BFD) for Multihop Paths", RFC 5883, DOI 10.17487/RFC5883, 314 June 2010, . 316 [RFC5884] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, 317 "Bidirectional Forwarding Detection (BFD) for MPLS Label 318 Switched Paths (LSPs)", RFC 5884, DOI 10.17487/RFC5884, 319 June 2010, . 321 [RFC7110] Chen, M., Cao, W., Ning, S., Jounay, F., and S. Delord, 322 "Return Path Specified Label Switched Path (LSP) Ping", 323 RFC 7110, DOI 10.17487/RFC7110, January 2014, 324 . 326 [RFC7726] Govindan, V., Rajaraman, K., Mirsky, G., Akiya, N., and S. 327 Aldrin, "Clarifying Procedures for Establishing BFD 328 Sessions for MPLS Label Switched Paths (LSPs)", RFC 7726, 329 DOI 10.17487/RFC7726, January 2016, 330 . 332 [RFC8029] Kompella, K., Swallow, G., Pignataro, C., Ed., Kumar, N., 333 Aldrin, S., and M. Chen, "Detecting Multiprotocol Label 334 Switched (MPLS) Data-Plane Failures", RFC 8029, 335 DOI 10.17487/RFC8029, March 2017, 336 . 338 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 339 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 340 May 2017, . 342 Appendix A. Acknowledgments 344 Authors greatly appreciate thorough review and the most helpful 345 comments from Eric Gray and Carlos Pignataro. 347 Authors' Addresses 349 Greg Mirsky 350 ZTE 352 Email: gregimirsky@gmail.com 354 Jeff Tantsura 355 Nuage Networks 357 Email: jefftant.ietf@gmail.com 359 Ilya Varlashkin 360 Google 362 Email: Ilya@nobulus.com 364 Mach(Guoyi) Chen 365 Huawei 367 Email: mach.chen@huawei.com