idnits 2.17.1 draft-ietf-bfd-stability-08.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 8, 2021) is 1144 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 (-15) exists of draft-ietf-bfd-optimizing-authentication-11 == Outdated reference: A later version (-13) exists of draft-ietf-bfd-secure-sequence-numbers-07 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-25 Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Mishra 3 Internet-Draft SES 4 Intended status: Standards Track M. Jethanandani 5 Expires: September 9, 2021 Kloud Services 6 A. Saxena 7 Ciena Corporation 8 S. Pallagatti 9 VMware 10 M. Chen 11 Huawei 12 P. Fan 13 China Mobile 14 March 8, 2021 16 BFD Stability 17 draft-ietf-bfd-stability-08 19 Abstract 21 This document describes extensions to the Bidirectional Forwarding 22 Detection (BFD) protocol to measure BFD stability. Specifically, it 23 describes a mechanism for detection of BFD packet loss. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on September 9, 2021. 42 Copyright Notice 44 Copyright (c) 2021 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 4. BFD Null-Authentication Type . . . . . . . . . . . . . . . . 3 63 5. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 3 64 5.1. Loss Measurement . . . . . . . . . . . . . . . . . . . . 4 65 6. ietf-bfd-stability YANG Module . . . . . . . . . . . . . . . 4 66 6.1. Data Model Overview . . . . . . . . . . . . . . . . . . . 4 67 6.2. YANG Module . . . . . . . . . . . . . . . . . . . . . . . 5 68 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 69 7.1. The "IETF XML" Registry . . . . . . . . . . . . . . . . . 9 70 7.2. The "YANG Module Names" Registry . . . . . . . . . . . . 10 71 8. Security Consideration . . . . . . . . . . . . . . . . . . . 10 72 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 73 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 74 11. Normative References . . . . . . . . . . . . . . . . . . . . 11 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 77 1. Introduction 79 The Bidirectional Forwarding Detection ( BFD) [RFC5880] protocol 80 operates by transmitting and receiving BFD control packets, generally 81 at high frequency, over the datapath being monitored. In order to 82 prevent significant data loss due to a datapath failure, BFD session 83 detection time as defined in BFD [RFC5880] is set to the smallest 84 feasible value. 86 This document proposes a mechanism to detect lost packets in a BFD 87 session in addition to the datapath fault detection mechanisms of 88 BFD. Such a mechanism presents significant value to measure the 89 stability of BFD sessions and provides data to the operators for the 90 cause of a BFD failure. 92 This document does not propose any BFD extension to measure data 93 traffic loss or delay on a link or tunnel and the scope is limited to 94 BFD packets. 96 2. Terminology 98 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 99 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 100 "OPTIONAL" in this document are to be interpreted as described in RFC 101 2119 [RFC2119] and RFC 8174 [RFC8174]. 103 The reader is expected to be familiar with the BFD [RFC5880], 104 Optimizing BFD Authentication 105 [I-D.ietf-bfd-optimizing-authentication] and BFD Secure Sequence 106 Numbers [I-D.ietf-bfd-secure-sequence-numbers]. 108 3. Use Cases 110 Bidirectional Forwarding Detection as defined in BFD [RFC5880] cannot 111 detect any BFD packet loss if the loss does not last for detection 112 time. This document proposes a method to detect a dropped packet on 113 the receiver. For example, if the receiver receives BFD control 114 packet k at time t but receives packet k+3 at time t+10ms, and never 115 receives packet k+1 and/or k+2, then it has experienced a drop. 117 This proposal enables BFD implementations to generate diagnostic 118 information on the health of each BFD session that could be used to 119 preempt a failure on a datapath that BFD was monitoring by allowing 120 time for a corrective action to be taken. 122 In a faulty datapath scenario, an operator can use BFD health 123 information to trigger delay and loss measurement OAM protocol 124 (Connectivity Fault Management (CFM) or Loss Measurement (LM)-Delay 125 Measurement (DM)) to further isolate the issue. 127 4. BFD Null-Authentication Type 129 The functionality proposed for BFD stability measurement is achieved 130 by appending an authentication section with the NULL Authentication 131 type (as defined in Optimizing BFD Authentication 132 [I-D.ietf-bfd-optimizing-authentication] ) to the BFD control packets 133 that do not have authentication enabled. 135 5. Theory of Operation 137 This mechanism allows operators to measure the loss of BFD control 138 packets. 140 When using MD5 or SHA authentication, BFD uses an authentication 141 section that carries the Sequence Number. However, if non-meticulous 142 authentication is being used, or no authentication is in use, then 143 the non-authenticated BFD control packets MUST include an 144 authentication section with the NULL Authentication type. 146 5.1. Loss Measurement 148 Loss measurement counts the number of BFD control packets missed at 149 the receiver during any Detection Time period. The loss is detected 150 by comparing the Sequence Number field in the Auth TLV (NULL or 151 otherwise) in successive BFD control packets. The Sequence Number in 152 each successive control packet generated on a BFD session by the 153 transmitter is incremented by one. This loss count can then be 154 exposed using the YANG module defined in the subsequent section. 156 The first BFD authentication section with a non-zero sequence number, 157 in a valid BFD control packet, processed by the receiver is used for 158 bootstrapping the logic. When using secure sequence numbers, if the 159 expected values are pre-calculated, the value must be matched to 160 detect lost packets as defined in BFD secure sequence numbers 161 [I-D.ietf-bfd-secure-sequence-numbers]. 163 6. ietf-bfd-stability YANG Module 165 6.1. Data Model Overview 167 This YANG module augments the "ietf-bfd" module to add the loss count 168 to the per-session or lsp for BFD packets that are lost. 170 module: ietf-bfd-stability 171 augment /rt:routing/rt:control-plane-protocols 172 /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh 173 /bfd-ip-sh:sessions/bfd-ip-sh:session 174 /bfd-ip-sh:session-statistics: 175 +--ro lost-packet-count? yang:counter32 176 augment /rt:routing/rt:control-plane-protocols 177 /rt:control-plane-protocol/bfd:bfd/bfd-ip-mh:ip-mh 178 /bfd-ip-mh:session-groups/bfd-ip-mh:session-group 179 /bfd-ip-mh:sessions/bfd-ip-mh:session-statistics: 180 +--ro lost-packet-count? yang:counter32 181 augment /rt:routing/rt:control-plane-protocols 182 /rt:control-plane-protocol/bfd:bfd/bfd-lag:lag 183 /bfd-lag:sessions/bfd-lag:session/bfd-lag:member-links 184 /bfd-lag:micro-bfd-ipv4: 185 +--ro lost-packet-count? yang:counter32 186 augment /rt:routing/rt:control-plane-protocols 187 /rt:control-plane-protocol/bfd:bfd/bfd-lag:lag 188 /bfd-lag:sessions/bfd-lag:session/bfd-lag:member-links 189 /bfd-lag:micro-bfd-ipv6: 190 +--ro lost-packet-count? yang:counter32 191 augment /te:te/te:lsps/te:lsp: 192 +--ro lost-packet-count? yang:counter32 193 augment /rt:routing/rt:control-plane-protocols 194 /rt:control-plane-protocol/bfd:bfd/bfd-mpls:mpls 195 /bfd-mpls:session-groups/bfd-mpls:session-group 196 /bfd-mpls:sessions: 197 +--ro lost-packet-count? yang:counter32 199 6.2. YANG Module 201 This YANG module imports Common YANG Types [RFC6991], A YANG Data 202 Model for Routing [RFC8349], TE YANG Data Model 203 [I-D.ietf-teas-yang-te], and YANG Data Model for Bidirectional 204 Forwading Detection (BFD) [I-D.ietf-bfd-yang]. 206 file "ietf-bfd-stability@2021-02-24.yang" 207 module ietf-bfd-stability { 208 yang-version 1.1; 209 namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-stability"; 210 prefix "bfds"; 212 import ietf-yang-types { 213 prefix "yang"; 214 reference 215 "RFC 6991: Common YANG Data Types"; 216 } 217 import ietf-routing { 218 prefix "rt"; 219 reference 220 "RFC 8349: A YANG Data Model for Routing Management 221 (NMDA version)"; 222 } 224 import ietf-bfd { 225 prefix bfd; 226 reference 227 "I-D.ietf-bfd-yang: YANG Data Model for Bidirectional 228 Forwarding Detection."; 229 } 231 import ietf-bfd-ip-sh { 232 prefix bfd-ip-sh; 233 reference 234 "I-D.ietf-bfd-yang: YANG Data Model for Bidirectional 235 Forwarding Detection."; 236 } 238 import ietf-bfd-ip-mh { 239 prefix bfd-ip-mh; 240 reference 241 "I-D.ietf-bfd-yang: YANG Data Model for Bidirectional 242 Forwarding Detection."; 243 } 245 import ietf-bfd-lag { 246 prefix bfd-lag; 247 reference 248 "I-D.ietf-bfd-yang: YANG Data Model for Bidirectional 249 Forwarding Detection."; 250 } 252 import ietf-te { 253 prefix te; 254 reference 255 "I-D.ietf-teas-yang: TE YANG Data Model."; 256 } 258 import ietf-bfd-mpls { 259 prefix bfd-mpls; 260 reference 261 "I-D.ietf-bfd-yang: YANG Data Model for Bidirectional 262 Forwarding Detection."; 263 } 264 organization 265 "IETF BFD Working Group"; 267 contact 268 "WG Web: 269 WG List: 271 Authors: Mahesh Jethanandani (mjethanandani at gmail dot com) 272 Ashesh Mishra (mishra dot ashesh at gmail dot com) 273 Ankur Saxena (ankurpsaxena at gmail dot com) 274 Santosh Pallagatti (santosh dot pallagati at gmail dot 275 com) 276 Mach Chen (mach dot chen at huawei dot com) 277 Peng Fan (fanp08 at gmail dot com)."; 279 description 280 "This YANG module augments the base BFD YANG model to add 281 attributes related to BFD Stability. In particular it adds a 282 a per session count for BFD packets that are lost. 284 Copyright (c) 2021 IETF Trust and the persons identified as 285 the document authors. All rights reserved. 286 Redistribution and use in source and binary forms, with or 287 without modification, is permitted pursuant to, and subject 288 to the license terms contained in, the Simplified BSD 289 License set forth in Section 4.c of the IETF Trust's Legal 290 Provisions Relating to IETF Documents 291 (http://trustee.ietf.org/license-info). 293 This version of this YANG module is part of RFC XXXX; see 294 the RFC itself for full legal notices. 296 The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL 297 NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', 298 'MAY', and 'OPTIONAL' in this document are to be interpreted as 299 described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, 300 they appear in all capitals, as shown here."; 302 revision "2021-02-24" { 303 description 304 "Initial Version."; 305 reference 306 "RFC XXXX, BFD Stability."; 307 } 309 augment "/rt:routing/rt:control-plane-protocols/" + 310 "rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh/" + 311 "bfd-ip-sh:sessions/bfd-ip-sh:session/" + 312 "bfd-ip-sh:session-statistics" { 313 leaf lost-packet-count { 314 type yang:counter32; 315 description 316 "Number of BFD packets that were lost without bringing the 317 session down."; 318 } 319 description 320 "Augment the 'bfd' container to add attributes related to BFD 321 stability."; 322 } 324 augment "/rt:routing/rt:control-plane-protocols/" + 325 "rt:control-plane-protocol/bfd:bfd/bfd-ip-mh:ip-mh/" + 326 "bfd-ip-mh:session-groups/bfd-ip-mh:session-group/" + 327 "bfd-ip-mh:sessions/bfd-ip-mh:session-statistics" { 328 leaf lost-packet-count { 329 type yang:counter32; 330 description 331 "Number of BFD packets that were lost without bringing the 332 session down."; 333 } 334 description 335 "Augment the 'bfd' container to add attributes related to BFD 336 stability."; 337 } 339 augment "/rt:routing/rt:control-plane-protocols/" + 340 "rt:control-plane-protocol/bfd:bfd/bfd-lag:lag/" + 341 "bfd-lag:sessions/bfd-lag:session/bfd-lag:member-links/" + 342 "bfd-lag:micro-bfd-ipv4" { 343 leaf lost-packet-count { 344 type yang:counter32; 345 description 346 "Number of BFD packets that were lost without bringing the 347 session down."; 348 } 349 description 350 "Augment the 'bfd' container to add attributes related to BFD 351 stability."; 352 } 354 augment "/rt:routing/rt:control-plane-protocols/" + 355 "rt:control-plane-protocol/bfd:bfd/bfd-lag:lag/" + 356 "bfd-lag:sessions/bfd-lag:session/bfd-lag:member-links/" + 357 "bfd-lag:micro-bfd-ipv6" { 358 leaf lost-packet-count { 359 type yang:counter32; 360 description 361 "Number of BFD packets that were lost without bringing the 362 session down."; 363 } 364 description 365 "Augment the 'bfd' container to add attributes related to BFD 366 stability."; 367 } 369 augment "/te:te/te:lsps/te:lsp" { 370 leaf lost-packet-count { 371 type yang:counter32; 372 description 373 "Number of BFD packets that were lost without bringing the 374 session down."; 375 } 376 description 377 "Augment the 'bfd' container to add attributes related to BFD 378 stability."; 379 } 381 augment "/rt:routing/rt:control-plane-protocols/" + 382 "rt:control-plane-protocol/bfd:bfd/bfd-mpls:mpls/" + 383 "bfd-mpls:session-groups/bfd-mpls:session-group/" + 384 "bfd-mpls:sessions" { 385 leaf lost-packet-count { 386 type yang:counter32; 387 description 388 "Number of BFD packets that were lost without bringing the 389 session down."; 390 } 391 description 392 "Augment the 'bfd' container to add attributes related to BFD 393 stability."; 394 } 395 } 396 398 7. IANA Considerations 400 7.1. The "IETF XML" Registry 402 This document registers one URIs in the "ns" subregistry of the "IETF 403 XML" registry [RFC3688]. Following the format in [RFC3688], the 404 following registration is requested: 406 URI: urn:ietf:params:xml:ns:yang:ietf-bfd-stability 407 Registrant Contact: The IESG 408 XML: N/A, the requested URI is an XML namespace. 410 7.2. The "YANG Module Names" Registry 412 This document registers two YANG modules in the "YANG Module Names" 413 registry [RFC6020]. Following the format in [RFC6020], the following 414 registrations are requested: 416 name: ietf-bfd-stability 417 namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-stability 418 prefix: bfds 419 reference: RFC XXXX 421 8. Security Consideration 423 The YANG module specified in this document defines a schema for data 424 that is designed to be accessed via network management protocols such 425 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 426 is the secure transport layer, and the mandatory-to-implement secure 427 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 428 is HTTPS, and the mandatory-to-implement secure transport is TLS 429 [RFC8446]. The NETCONF Access Control Model (NACM) [RFC8341] 430 provides the means to restrict access for particular NETCONF or 431 RESTCONF users to a preconfigured subset of all available NETCONF or 432 RESTCONF protocol operations and content. 434 The YANG module does not define any writeable/creatable/deletable 435 data nodes. 437 The only readable data nodes in YANG module may be considered 438 sensitive or vulnerable in some network environments. It is thus 439 important to control read access (e.g., via get, get-config, or 440 notification) to these data nodes. The model does not define any 441 readable subtrees and data nodes. 443 The YANG module does not define any RPC operations. 445 9. Contributors 447 Manav Bhatia 449 10. Acknowledgements 451 Authors would like to thank Nobo Akiya, Jeffery Haas, Dileep Singh, 452 Basil Saji, Sagar Soni, Albert Fu and Mallik Mudigonda who also 453 contributed to this document. 455 11. Normative References 457 [I-D.ietf-bfd-optimizing-authentication] 458 Jethanandani, M., Mishra, A., Saxena, A., and M. Bhatia, 459 "Optimizing BFD Authentication", draft-ietf-bfd- 460 optimizing-authentication-11 (work in progress), July 461 2020. 463 [I-D.ietf-bfd-secure-sequence-numbers] 464 Jethanandani, M., Agarwal, S., Mishra, A., Saxena, A., and 465 A. DeKok, "Secure BFD Sequence Numbers", draft-ietf-bfd- 466 secure-sequence-numbers-07 (work in progress), December 467 2020. 469 [I-D.ietf-bfd-yang] 470 Rahman, R., Zheng, L., Jethanandani, M., Pallagatti, S., 471 and G. Mirsky, "YANG Data Model for Bidirectional 472 Forwarding Detection (BFD)", draft-ietf-bfd-yang-17 (work 473 in progress), August 2018. 475 [I-D.ietf-teas-yang-te] 476 Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, 477 "A YANG Data Model for Traffic Engineering Tunnels, Label 478 Switched Paths and Interfaces", draft-ietf-teas-yang-te-25 479 (work in progress), July 2020. 481 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 482 Requirement Levels", BCP 14, RFC 2119, 483 DOI 10.17487/RFC2119, March 1997, 484 . 486 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 487 DOI 10.17487/RFC3688, January 2004, 488 . 490 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 491 (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, 492 . 494 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 495 the Network Configuration Protocol (NETCONF)", RFC 6020, 496 DOI 10.17487/RFC6020, October 2010, 497 . 499 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 500 and A. Bierman, Ed., "Network Configuration Protocol 501 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 502 . 504 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 505 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 506 . 508 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 509 RFC 6991, DOI 10.17487/RFC6991, July 2013, 510 . 512 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 513 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 514 . 516 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 517 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 518 May 2017, . 520 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 521 Access Control Model", STD 91, RFC 8341, 522 DOI 10.17487/RFC8341, March 2018, 523 . 525 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 526 Routing Management (NMDA Version)", RFC 8349, 527 DOI 10.17487/RFC8349, March 2018, 528 . 530 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 531 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 532 . 534 Authors' Addresses 536 Ashesh Mishra 537 SES 539 Email: mishra.ashesh@gmail.com 541 Mahesh Jethanandani 542 Kloud Services 543 CA 544 USA 546 Email: mjethanandani@gmail.com 547 Ankur Saxena 548 Ciena Corporation 549 3939 North 1st Street 550 San Jose, CA 95134 551 USA 553 Email: ankurpsaxena@gmail.com 554 URI: www.ciena.com 556 Santosh Pallagatti 557 VMware 558 Bangalore, Karnataka 560103 559 India 561 Email: santosh.pallagatti@gmail.com 563 Mach Chen 564 Huawei 566 Email: mach.chen@huawei.com 568 Peng Fan 569 China Mobile 570 32 Xuanwumen West Street 571 Beijing, Beijing 572 China 574 Email: fanp08@gmail.com