| < draft-ietf-bfd-rfc9127-bis-00.txt | draft-ietf-bfd-rfc9127-bis-01.txt > | |||
|---|---|---|---|---|
| Network Working Group R. Rahman, Ed. | Network Working Group M. Jethanandani, Ed. | |||
| Internet-Draft | Internet-Draft Xoriant Corporation | |||
| Intended status: Standards Track M. Jethanandani, Ed. | Updates: 9127 (if approved) R. Rahman, Ed. | |||
| Expires: 9 June 2022 Xoriant Corporation | Intended status: Standards Track | |||
| L. Zheng, Ed. | Expires: 8 July 2022 L. Zheng, Ed. | |||
| Huawei Technologies | Huawei Technologies | |||
| S. Pallagatti | S. Pallagatti | |||
| VMware | VMware | |||
| G. Mirsky | G. Mirsky | |||
| Ericsson | Ericsson | |||
| 6 December 2021 | 4 January 2022 | |||
| YANG Data Model for Bidirectional Forwarding Detection (BFD) | YANG Data Model for Bidirectional Forwarding Detection (BFD) | |||
| draft-ietf-bfd-rfc9127-bis-00 | draft-ietf-bfd-rfc9127-bis-01 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage Bidirectional Forwarding Detection (BFD). | and manage Bidirectional Forwarding Detection (BFD). | |||
| The YANG modules in this document conform to the Network Management | The YANG modules in this document conform to the Network Management | |||
| Datastore Architecture (NMDA) (RFC 8342). | Datastore Architecture (NMDA) (RFC 8342). This document updates YANG | |||
| Data Model for Bidirectional Forwarding Detection (BFD) (RFC 9127). | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 9 June 2022. | This Internet-Draft will expire on 8 July 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
| extracted from this document must include Revised BSD License text as | extracted from this document must include Revised BSD License text as | |||
| described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
| provided without warranty as described in the Revised BSD License. | provided without warranty as described in the Revised BSD License. | |||
| skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
| 2.1.4. MPLS Label Switched Paths . . . . . . . . . . . . . . 7 | 2.1.4. MPLS Label Switched Paths . . . . . . . . . . . . . . 7 | |||
| 2.1.5. Link Aggregation Groups . . . . . . . . . . . . . . . 8 | 2.1.5. Link Aggregation Groups . . . . . . . . . . . . . . . 8 | |||
| 2.2. Design of the Operational State Model . . . . . . . . . . 8 | 2.2. Design of the Operational State Model . . . . . . . . . . 8 | |||
| 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 9 | 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 9 | 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 2.5. BFD Top-Level Hierarchy . . . . . . . . . . . . . . . . . 9 | 2.5. BFD Top-Level Hierarchy . . . . . . . . . . . . . . . . . 9 | |||
| 2.6. BFD IP Single-Hop Hierarchy . . . . . . . . . . . . . . . 9 | 2.6. BFD IP Single-Hop Hierarchy . . . . . . . . . . . . . . . 9 | |||
| 2.7. BFD IP Multihop Hierarchy . . . . . . . . . . . . . . . . 11 | 2.7. BFD IP Multihop Hierarchy . . . . . . . . . . . . . . . . 11 | |||
| 2.8. BFD-over-LAG Hierarchy . . . . . . . . . . . . . . . . . 13 | 2.8. BFD-over-LAG Hierarchy . . . . . . . . . . . . . . . . . 13 | |||
| 2.9. BFD-over-MPLS-LSPs Hierarchy . . . . . . . . . . . . . . 16 | 2.9. BFD-over-MPLS-LSPs Hierarchy . . . . . . . . . . . . . . 16 | |||
| 2.10. Interaction with Other YANG Modules . . . . . . . . . . . 19 | 2.10. Interaction with other YANG Modules . . . . . . . . . . . 19 | |||
| 2.10.1. "ietf-interfaces" Module . . . . . . . . . . . . . . 19 | 2.10.1. "ietf-interfaces" Module . . . . . . . . . . . . . . 19 | |||
| 2.10.2. "ietf-ip" Module . . . . . . . . . . . . . . . . . . 19 | 2.10.2. "ietf-ip" Module . . . . . . . . . . . . . . . . . . 19 | |||
| 2.10.3. "ietf-mpls" Module . . . . . . . . . . . . . . . . . 19 | 2.10.3. "ietf-mpls" Module . . . . . . . . . . . . . . . . . 19 | |||
| 2.11. IANA BFD YANG Module . . . . . . . . . . . . . . . . . . 20 | 2.11. BFD Types YANG Module . . . . . . . . . . . . . . . . . . 20 | |||
| 2.12. BFD Types YANG Module . . . . . . . . . . . . . . . . . . 23 | 2.12. BFD Top-Level YANG Module . . . . . . . . . . . . . . . . 34 | |||
| 2.13. BFD Top-Level YANG Module . . . . . . . . . . . . . . . . 38 | 2.13. BFD IP Single-Hop YANG Module . . . . . . . . . . . . . . 36 | |||
| 2.14. BFD IP Single-Hop YANG Module . . . . . . . . . . . . . . 39 | 2.14. BFD IP Multihop YANG Module . . . . . . . . . . . . . . . 39 | |||
| 2.15. BFD IP Multihop YANG Module . . . . . . . . . . . . . . . 43 | 2.15. BFD-over-LAG YANG Module . . . . . . . . . . . . . . . . 43 | |||
| 2.16. BFD-over-LAG YANG Module . . . . . . . . . . . . . . . . 46 | 2.16. BFD-over-MPLS YANG Module . . . . . . . . . . . . . . . . 47 | |||
| 2.17. BFD-over-MPLS YANG Module . . . . . . . . . . . . . . . . 50 | 3. Data Model Examples . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 3. Data Model Examples . . . . . . . . . . . . . . . . . . . . . 54 | 3.1. IP Single-Hop . . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 3.1. IP Single-Hop . . . . . . . . . . . . . . . . . . . . . . 54 | 3.2. IP Multihop . . . . . . . . . . . . . . . . . . . . . . . 53 | |||
| 3.2. IP Multihop . . . . . . . . . . . . . . . . . . . . . . . 55 | 3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 | |||
| 3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 | 3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 57 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 56 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 58 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 60 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 62 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
| 5.1. IANA-Maintained "iana-bfd-types" Module . . . . . . . . . 64 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 61 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 64 | 6.2. Informative References . . . . . . . . . . . . . . . . . 64 | |||
| 6.1. References . . . . . . . . . . . . . . . . . . . . . . . 64 | ||||
| 6.2. References . . . . . . . . . . . . . . . . . . . . . . . 66 | Appendix A. Echo Function Configuration Example . . . . . . . . 64 | |||
| Appendix A. Echo Function Configuration Example . . . . . . . . 67 | ||||
| A.1. Example YANG Module for BFD Echo Function | A.1. Example YANG Module for BFD Echo Function | |||
| Configuration . . . . . . . . . . . . . . . . . . . . . . 67 | Configuration . . . . . . . . . . . . . . . . . . . . . . 65 | |||
| Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 69 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 70 | Updates since RFC 9127 . . . . . . . . . . . . . . . . . . . . . 67 | |||
| Updates since RFC 9127 . . . . . . . . . . . . . . . . . . . . . 70 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 67 | |||
| 1. Introduction | 1. Introduction | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage Bidirectional Forwarding Detection (BFD) [RFC5880]. BFD | and manage Bidirectional Forwarding Detection (BFD) [RFC5880]. BFD | |||
| is a network protocol that is used for liveness detection of | is a network protocol that is used for liveness detection of | |||
| arbitrary paths between systems. Some examples of different types of | arbitrary paths between systems. Some examples of different types of | |||
| paths over which we have BFD are as follows: | paths over which we have BFD are as follows: | |||
| 1. Two systems directly connected via IP. This is known as BFD over | 1. Two systems directly connected via IP. This is known as BFD over | |||
| skipping to change at page 4, line 34 ¶ | skipping to change at page 4, line 29 ¶ | |||
| the BFD sessions for that forwarding path. To avoid duplication of | the BFD sessions for that forwarding path. To avoid duplication of | |||
| BFD definitions, we have common types and groupings that are used by | BFD definitions, we have common types and groupings that are used by | |||
| all the modules. | all the modules. | |||
| A new control-plane protocol, "bfdv1", is defined, and a "bfd" | A new control-plane protocol, "bfdv1", is defined, and a "bfd" | |||
| container is created under "control-plane-protocol" as specified in | container is created under "control-plane-protocol" as specified in | |||
| "A YANG Data Model for Routing Management (NMDA Version)" [RFC8349]. | "A YANG Data Model for Routing Management (NMDA Version)" [RFC8349]. | |||
| This new "bfd" container is augmented by the following YANG modules | This new "bfd" container is augmented by the following YANG modules | |||
| for their respective specific information: | for their respective specific information: | |||
| 1. The "ietf-bfd-ip-sh" module (Section 2.14) augments "/routing/ | 1. The "ietf-bfd-ip-sh" module (Section 2.13) augments "/routing/ | |||
| control-plane-protocols/control-plane-protocol/bfd/" with the | control-plane-protocols/control-plane-protocol/bfd/" with the | |||
| "ip-sh" container for BFD sessions over IP single-hop. | "ip-sh" container for BFD sessions over IP single-hop. | |||
| 2. The "ietf-bfd-ip-mh" module (Section 2.15) augments "/routing/ | 2. The "ietf-bfd-ip-mh" module (Section 2.14) augments "/routing/ | |||
| control-plane-protocols/control-plane-protocol/bfd/" with the | control-plane-protocols/control-plane-protocol/bfd/" with the | |||
| "ip-mh" container for BFD sessions over IP multihop. | "ip-mh" container for BFD sessions over IP multihop. | |||
| 3. The "ietf-bfd-lag" module (Section 2.16) augments "/routing/ | 3. The "ietf-bfd-lag" module (Section 2.15) augments "/routing/ | |||
| control-plane-protocols/control-plane-protocol/bfd/" with the | control-plane-protocols/control-plane-protocol/bfd/" with the | |||
| "lag" container for BFD sessions over a LAG. | "lag" container for BFD sessions over a LAG. | |||
| 4. The "ietf-bfd-mpls" module (Section 2.17) augments "/routing/ | 4. The "ietf-bfd-mpls" module (Section 2.16) augments "/routing/ | |||
| control-plane-protocols/control-plane-protocol/bfd/" with the | control-plane-protocols/control-plane-protocol/bfd/" with the | |||
| "mpls" container for BFD-over-MPLS LSPs. | "mpls" container for BFD-over-MPLS LSPs. | |||
| BFD can operate in the following contexts: | BFD can operate in the following contexts: | |||
| 1. At the network device level. | 1. At the network device level. | |||
| 2. In logical network elements (LNEs) as described in "YANG Model | 2. In logical network elements (LNEs) as described in "YANG Model | |||
| for Logical Network Elements" [RFC8530]. | for Logical Network Elements" [RFC8530]. | |||
| skipping to change at page 5, line 41 ¶ | skipping to change at page 5, line 38 ¶ | |||
| convergence time of the BFD clients when a failure occurs. Other | convergence time of the BFD clients when a failure occurs. Other | |||
| parameters, such as BFD authentication, are not specific to the | parameters, such as BFD authentication, are not specific to the | |||
| requirements of the BFD client. Configuration of BFD for all clients | requirements of the BFD client. Configuration of BFD for all clients | |||
| should be centralized. However, this is a problem for BFD clients | should be centralized. However, this is a problem for BFD clients | |||
| that auto-discover their peers. For example, IGPs do not have the | that auto-discover their peers. For example, IGPs do not have the | |||
| peer address configured; instead, the IGP is enabled on an interface, | peer address configured; instead, the IGP is enabled on an interface, | |||
| and the IGP peers are auto-discovered. So, for an operator to | and the IGP peers are auto-discovered. So, for an operator to | |||
| configure BFD to an IGP peer, the operator would first have to | configure BFD to an IGP peer, the operator would first have to | |||
| determine the peer addresses. And when a new peer is discovered, BFD | determine the peer addresses. And when a new peer is discovered, BFD | |||
| configuration would need to be added. To avoid this issue, we define | configuration would need to be added. To avoid this issue, we define | |||
| the grouping "client-cfg-parms" in Section 2.12 for BFD clients to | the grouping "client-cfg-parms" in Section 2.11 for BFD clients to | |||
| configure BFD: this allows BFD clients, such as the IGPs, to have | configure BFD: this allows BFD clients, such as the IGPs, to have | |||
| configuration (multiplier and intervals) for the BFD sessions they | configuration (multiplier and intervals) for the BFD sessions they | |||
| need. For example, when a new IGP peer is discovered, the IGP would | need. For example, when a new IGP peer is discovered, the IGP would | |||
| create a BFD session to the newly discovered peer; similarly, when an | create a BFD session to the newly discovered peer; similarly, when an | |||
| IGP peer goes away, the IGP would remove the BFD session to that | IGP peer goes away, the IGP would remove the BFD session to that | |||
| peer. The mechanism for how the BFD sessions are created and removed | peer. The mechanism for how the BFD sessions are created and removed | |||
| by the BFD clients is outside the scope of this document, but this | by the BFD clients is outside the scope of this document, but this | |||
| would typically be done by using an API implemented by the BFD module | would typically be done by using an API implemented by the BFD module | |||
| on the system. In the case of BFD clients that create BFD sessions | on the system. In the case of BFD clients that create BFD sessions | |||
| via their own configuration, authentication parameters (if required) | via their own configuration, authentication parameters (if required) | |||
| skipping to change at page 6, line 25 ¶ | skipping to change at page 6, line 25 ¶ | |||
| required-min-rx-interval | required-min-rx-interval | |||
| This is the Required Min RX Interval as defined in BFD [RFC5880]. | This is the Required Min RX Interval as defined in BFD [RFC5880]. | |||
| Although BFD [RFC5880] allows for different values for transmit and | Although BFD [RFC5880] allows for different values for transmit and | |||
| receive intervals, some implementations allow users to specify just | receive intervals, some implementations allow users to specify just | |||
| one interval that is used for both transmit and receive intervals, or | one interval that is used for both transmit and receive intervals, or | |||
| separate values for transmit and receive intervals. The BFD YANG | separate values for transmit and receive intervals. The BFD YANG | |||
| data model supports this: there is a choice between "min-interval", | data model supports this: there is a choice between "min-interval", | |||
| used for both transmit and receive intervals, and "desired-min-tx- | used for both transmit and receive intervals, and "desired-min-tx- | |||
| interval" and "required-min-rx-interval". This is supported via the | interval" and "required-min-rx-interval". This is supported via the | |||
| "base-cfg-parms" grouping (Section 2.12), which is used by the YANG | "base-cfg-parms" grouping (Section 2.11), which is used by the YANG | |||
| modules for the various forwarding paths. | modules for the various forwarding paths. | |||
| For BFD authentication, we have the following: | For BFD authentication, we have the following: | |||
| key-chain | key-chain | |||
| This is a reference to "key-chain" as defined in "YANG Data Model | This is a reference to "key-chain" as defined in "YANG Data Model | |||
| for Key Chains" [RFC8177]. The keys, cryptographic algorithms, | for Key Chains" [RFC8177]. The keys, cryptographic algorithms, | |||
| key lifetime, etc. are all defined in the "key-chain" model. | key lifetime, etc. are all defined in the "key-chain" model. | |||
| meticulous | meticulous | |||
| skipping to change at page 19, line 5 ¶ | skipping to change at page 19, line 5 ¶ | |||
| +--ro remote-discr? discriminator | +--ro remote-discr? discriminator | |||
| +--ro new-state? state | +--ro new-state? state | |||
| +--ro state-change-reason? iana-bfd-types:diagnostic | +--ro state-change-reason? iana-bfd-types:diagnostic | |||
| +--ro time-of-last-state-change? yang:date-and-time | +--ro time-of-last-state-change? yang:date-and-time | |||
| +--ro dest-addr? inet:ip-address | +--ro dest-addr? inet:ip-address | |||
| +--ro source-addr? inet:ip-address | +--ro source-addr? inet:ip-address | |||
| +--ro session-index? uint32 | +--ro session-index? uint32 | |||
| +--ro path-type? identityref | +--ro path-type? identityref | |||
| +--ro mpls-dest-address? inet:ip-address | +--ro mpls-dest-address? inet:ip-address | |||
| 2.10. Interaction with Other YANG Modules | 2.10. Interaction with other YANG Modules | |||
| "Generic YANG Data Model for the Management of Operations, | "Generic YANG Data Model for the Management of Operations, | |||
| Administration, and Maintenance (OAM) Protocols That Use | Administration, and Maintenance (OAM) Protocols That Use | |||
| Connectionless Communications" [RFC8532] describes how the Layer- | Connectionless Communications" [RFC8532] describes how the Layer- | |||
| Independent OAM Management in the Multi-Layer Environment (LIME) | Independent OAM Management in the Multi-Layer Environment (LIME) | |||
| connectionless OAM model could be extended to support BFD. | connectionless OAM model could be extended to support BFD. | |||
| Also, the operation of the BFD data model depends on configuration | Also, the operation of the BFD data model depends on configuration | |||
| parameters that are defined in other YANG modules. | parameters that are defined in other YANG modules. | |||
| skipping to change at page 20, line 10 ¶ | skipping to change at page 20, line 10 ¶ | |||
| 2.10.3. "ietf-mpls" Module | 2.10.3. "ietf-mpls" Module | |||
| The following boolean configuration is defined in "A YANG Data Model | The following boolean configuration is defined in "A YANG Data Model | |||
| for MPLS Base" [RFC8960]: | for MPLS Base" [RFC8960]: | |||
| /rt:routing/mpls:mpls/mpls:interfaces/mpls:interface/ | /rt:routing/mpls:mpls/mpls:interfaces/mpls:interface/ | |||
| mpls:mpls-enabled | mpls:mpls-enabled | |||
| If this configuration is set to "false", no BFD MPLS packets can | If this configuration is set to "false", no BFD MPLS packets can | |||
| be transmitted or received on that interface. | be transmitted or received on that interface. | |||
| 2.11. IANA BFD YANG Module | 2.11. BFD Types YANG Module | |||
| This YANG module imports definitions from [RFC5880]. It references | ||||
| [RFC5880] and [RFC6428]. | ||||
| <CODE BEGINS> file "iana-bfd-types@2021-10-21.yang" | ||||
| module iana-bfd-types { | ||||
| yang-version 1.1; | ||||
| namespace "urn:ietf:params:xml:ns:yang:iana-bfd-types"; | ||||
| prefix iana-bfd-types; | ||||
| organization | ||||
| "IANA"; | ||||
| contact | ||||
| "Internet Assigned Numbers Authority | ||||
| Postal: ICANN | ||||
| 12025 Waterfront Drive, Suite 300 | ||||
| Los Angeles, CA 90094-2536 | ||||
| United States of America | ||||
| Tel: +1 310 301 5800 | ||||
| <mailto:iana@iana.org>"; | ||||
| description | ||||
| "This module defines YANG data types for IANA-registered | ||||
| BFD parameters. | ||||
| This YANG module is maintained by IANA and reflects the | ||||
| 'BFD Diagnostic Codes' and 'BFD Authentication Types' | ||||
| registries. | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | ||||
| authors of the code. All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or | ||||
| without modification, is permitted pursuant to, and subject to | ||||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC 9127; see the | ||||
| RFC itself for full legal notices."; | ||||
| reference | ||||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)"; | ||||
| revision 2021-10-21 { | ||||
| description | ||||
| "Initial revision."; | ||||
| reference | ||||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)"; | ||||
| } | ||||
| /* | ||||
| * Type definitions | ||||
| */ | ||||
| typedef diagnostic { | ||||
| type enumeration { | ||||
| enum none { | ||||
| value 0; | ||||
| description | ||||
| "No Diagnostic."; | ||||
| } | ||||
| enum control-expiry { | ||||
| value 1; | ||||
| description | ||||
| "Control Detection Time Expired."; | ||||
| } | ||||
| enum echo-failed { | ||||
| value 2; | ||||
| description | ||||
| "Echo Function Failed."; | ||||
| } | ||||
| enum neighbor-down { | ||||
| value 3; | ||||
| description | ||||
| "Neighbor Signaled Session Down."; | ||||
| } | ||||
| enum forwarding-reset { | ||||
| value 4; | ||||
| description | ||||
| "Forwarding Plane Reset."; | ||||
| } | ||||
| enum path-down { | ||||
| value 5; | ||||
| description | ||||
| "Path Down."; | ||||
| } | ||||
| enum concatenated-path-down { | ||||
| value 6; | ||||
| description | ||||
| "Concatenated Path Down."; | ||||
| } | ||||
| enum admin-down { | ||||
| value 7; | ||||
| description | ||||
| "Administratively Down."; | ||||
| } | ||||
| enum reverse-concatenated-path-down { | ||||
| value 8; | ||||
| description | ||||
| "Reverse Concatenated Path Down."; | ||||
| } | ||||
| enum mis-connectivity-defect { | ||||
| value 9; | ||||
| description | ||||
| "Mis-connectivity defect."; | ||||
| reference | ||||
| "RFC 5880: Bidirectional Forwarding Detection (BFD) | ||||
| RFC 6428: Proactive Connectivity Verification, Continuity | ||||
| Check, and Remote Defect Indication for the MPLS Transport | ||||
| Profile"; | ||||
| } | ||||
| } | ||||
| description | ||||
| "BFD diagnostic codes as defined in RFC 5880. Values are | ||||
| maintained in the 'BFD Diagnostic Codes' IANA registry. | ||||
| Range is 0 to 31."; | ||||
| reference | ||||
| "RFC 5880: Bidirectional Forwarding Detection (BFD)"; | ||||
| } | ||||
| typedef auth-type { | ||||
| type enumeration { | ||||
| enum reserved { | ||||
| value 0; | ||||
| description | ||||
| "Reserved."; | ||||
| } | ||||
| enum simple-password { | ||||
| value 1; | ||||
| description | ||||
| "Simple Password."; | ||||
| } | ||||
| enum keyed-md5 { | ||||
| value 2; | ||||
| description | ||||
| "Keyed MD5."; | ||||
| } | ||||
| enum meticulous-keyed-md5 { | ||||
| value 3; | ||||
| description | ||||
| "Meticulous Keyed MD5."; | ||||
| } | ||||
| enum keyed-sha1 { | ||||
| value 4; | ||||
| description | ||||
| "Keyed SHA1."; | ||||
| } | ||||
| enum meticulous-keyed-sha1 { | ||||
| value 5; | ||||
| description | ||||
| "Meticulous Keyed SHA1."; | ||||
| } | ||||
| } | ||||
| description | ||||
| "BFD authentication type as defined in RFC 5880. Values are | ||||
| maintained in the 'BFD Authentication Types' IANA registry. | ||||
| Range is 0 to 255."; | ||||
| reference | ||||
| "RFC 5880: Bidirectional Forwarding Detection (BFD)"; | ||||
| } | ||||
| } | ||||
| <CODE ENDS> | ||||
| 2.12. BFD Types YANG Module | ||||
| This YANG module imports typedefs from [RFC6991] and [RFC8177]. It | This YANG module imports typedefs from [RFC6991] and [RFC8177]. It | |||
| also imports definitions from [RFC5880], [RFC5881], [RFC5883], | also imports definitions from [RFC5880], [RFC5881], [RFC5883], | |||
| [RFC5884], and [RFC7130], as well as the "control-plane-protocol" | [RFC5884], and [RFC7130], as well as the "control-plane-protocol" | |||
| identity from [RFC8349]. | identity from [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-types@2021-12-06.yang" | <CODE BEGINS> file "ietf-bfd-types@2022-01-04.yang" | |||
| module ietf-bfd-types { | module ietf-bfd-types { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types"; | |||
| prefix bfd-types; | prefix bfd-types; | |||
| import iana-bfd-types { | import iana-bfd-types { | |||
| prefix iana-bfd-types; | prefix iana-bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| skipping to change at page 25, line 14 ¶ | skipping to change at page 21, line 39 ¶ | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 5880: Bidirectional Forwarding Detection (BFD) | "RFC 5880: Bidirectional Forwarding Detection (BFD) | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2021-12-06 { | revision 2022-01-04 { | |||
| description | description | |||
| "9127-bis."; | "Updates to add client configuration parameters feature."; | |||
| reference | reference | |||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)."; | Detection (BFD)."; | |||
| } | } | |||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| skipping to change at page 38, line 5 ¶ | skipping to change at page 34, line 25 ¶ | |||
| type identityref { | type identityref { | |||
| base path-type; | base path-type; | |||
| } | } | |||
| description | description | |||
| "BFD path type."; | "BFD path type."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.13. BFD Top-Level YANG Module | 2.12. BFD Top-Level YANG Module | |||
| This YANG module imports and augments "/routing/control-plane- | This YANG module imports and augments "/routing/control-plane- | |||
| protocols/control-plane-protocol" from [RFC8349]. It also references | protocols/control-plane-protocol" from [RFC8349]. It also references | |||
| [RFC5880]. | [RFC5880]. | |||
| <CODE BEGINS> file "ietf-bfd@2021-10-21.yang" | <CODE BEGINS> file "ietf-bfd@2022-01-04.yang" | |||
| module ietf-bfd { | module ietf-bfd { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd"; | |||
| prefix bfd; | prefix bfd; | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix bfd-types; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA Version)"; | (NMDA Version)"; | |||
| } | } | |||
| organization | organization | |||
| skipping to change at page 39, line 16 ¶ | skipping to change at page 35, line 38 ¶ | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 5880: Bidirectional Forwarding Detection (BFD) | "RFC 5880: Bidirectional Forwarding Detection (BFD) | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2022-01-04 { | ||||
| description | ||||
| "Updating reference to RFC XXXX."; | ||||
| reference | ||||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)."; | ||||
| } | ||||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol" { | + "rt:control-plane-protocol" { | |||
| when "derived-from-or-self(rt:type, 'bfd-types:bfdv1')" { | when "derived-from-or-self(rt:type, 'bfd-types:bfdv1')" { | |||
| description | description | |||
| "This augmentation is only valid for a control-plane protocol | "This augmentation is only valid for a control-plane protocol | |||
| instance of BFD (type 'bfdv1')."; | instance of BFD (type 'bfdv1')."; | |||
| } | } | |||
| description | description | |||
| "BFD augmentation."; | "BFD augmentation."; | |||
| container bfd { | container bfd { | |||
| description | description | |||
| "BFD top-level container."; | "BFD top-level container."; | |||
| uses bfd-types:session-statistics-summary; | uses bfd-types:session-statistics-summary; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.14. BFD IP Single-Hop YANG Module | 2.13. BFD IP Single-Hop YANG Module | |||
| This YANG module imports "interface-ref" from [RFC8343] and typedefs | This YANG module imports "interface-ref" from [RFC8343] and typedefs | |||
| from [RFC6991]. It also imports and augments "/routing/control- | from [RFC6991]. It also imports and augments "/routing/control- | |||
| plane-protocols/control-plane-protocol" from [RFC8349], and it | plane-protocols/control-plane-protocol" from [RFC8349], and it | |||
| references [RFC5881]. | references [RFC5881]. | |||
| <CODE BEGINS> file "ietf-bfd-ip-sh@2021-10-21.yang" | <CODE BEGINS> file "ietf-bfd-ip-sh@2022-01-04.yang" | |||
| module ietf-bfd-ip-sh { | module ietf-bfd-ip-sh { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"; | |||
| prefix bfd-ip-sh; | prefix bfd-ip-sh; | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix bfd-types; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix bfd; | prefix bfd; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| reference | reference | |||
| "RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
| skipping to change at page 41, line 27 ¶ | skipping to change at page 38, line 5 ¶ | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 5881: Bidirectional Forwarding Detection (BFD) | "RFC 5881: Bidirectional Forwarding Detection (BFD) | |||
| for IPv4 and IPv6 (Single Hop) | for IPv4 and IPv6 (Single Hop) | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2022-01-04 { | ||||
| description | ||||
| "Updating reference to RFC XXXX."; | ||||
| reference | ||||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)."; | ||||
| } | ||||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| skipping to change at page 43, line 15 ¶ | skipping to change at page 39, line 48 ¶ | |||
| } | } | |||
| leaf echo-enabled { | leaf echo-enabled { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Indicates whether Echo was enabled for BFD."; | "Indicates whether Echo was enabled for BFD."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.15. BFD IP Multihop YANG Module | 2.14. BFD IP Multihop YANG Module | |||
| This YANG module imports typedefs from [RFC6991]. It also imports | This YANG module imports typedefs from [RFC6991]. It also imports | |||
| and augments "/routing/control-plane-protocols/control-plane- | and augments "/routing/control-plane-protocols/control-plane- | |||
| protocol" from [RFC8349], and it references [RFC5883]. | protocol" from [RFC8349], and it references [RFC5883]. | |||
| <CODE BEGINS> file "ietf-bfd-ip-mh@2021-10-21.yang" | <CODE BEGINS> file "ietf-bfd-ip-mh@2022-01-04.yang" | |||
| module ietf-bfd-ip-mh { | module ietf-bfd-ip-mh { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh"; | |||
| prefix bfd-ip-mh; | prefix bfd-ip-mh; | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix bfd-types; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix bfd; | prefix bfd; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference | reference | |||
| skipping to change at page 44, line 39 ¶ | skipping to change at page 41, line 23 ¶ | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 5883: Bidirectional Forwarding Detection (BFD) for | "RFC 5883: Bidirectional Forwarding Detection (BFD) for | |||
| Multihop Paths | Multihop Paths | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2022-01-04 { | ||||
| description | ||||
| "Updating reference to RFC XXXX."; | ||||
| reference | ||||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)."; | ||||
| } | ||||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| skipping to change at page 46, line 4 ¶ | skipping to change at page 42, line 43 ¶ | |||
| "Minimum allowed hop count value for incoming BFD | "Minimum allowed hop count value for incoming BFD | |||
| control packets. Control packets whose hop count is | control packets. Control packets whose hop count is | |||
| lower than this value are dropped."; | lower than this value are dropped."; | |||
| } | } | |||
| list sessions { | list sessions { | |||
| config false; | config false; | |||
| description | description | |||
| "The multiple BFD sessions between a source and a | "The multiple BFD sessions between a source and a | |||
| destination."; | destination."; | |||
| uses bfd-types:all-session; | uses bfd-types:all-session; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| /* | /* | |||
| * Notifications | * Notifications | |||
| */ | */ | |||
| notification multihop-notification { | notification multihop-notification { | |||
| description | description | |||
| "Notification for BFD multihop session state change. An | "Notification for BFD multihop session state change. An | |||
| implementation may rate-limit notifications, e.g., when a | implementation may rate-limit notifications, e.g., when a | |||
| session is continuously changing state."; | session is continuously changing state."; | |||
| uses bfd-types:notification-parms; | uses bfd-types:notification-parms; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.16. BFD-over-LAG YANG Module | 2.15. BFD-over-LAG YANG Module | |||
| This YANG module imports "interface-ref" from [RFC8343] and typedefs | This YANG module imports "interface-ref" from [RFC8343] and typedefs | |||
| from [RFC6991]. It also imports and augments "/routing/control- | from [RFC6991]. It also imports and augments "/routing/control- | |||
| plane-protocols/control-plane-protocol" from [RFC8349]. | plane-protocols/control-plane-protocol" from [RFC8349]. | |||
| Additionally, it references [RFC7130]. | Additionally, it references [RFC7130]. | |||
| <CODE BEGINS> file "ietf-bfd-lag@2021-10-21.yang" | <CODE BEGINS> file "ietf-bfd-lag@2022-01-04.yang" | |||
| module ietf-bfd-lag { | module ietf-bfd-lag { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; | |||
| prefix bfd-lag; | prefix bfd-lag; | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix bfd-types; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix bfd; | prefix bfd; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| reference | reference | |||
| "RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| skipping to change at page 48, line 6 ¶ | skipping to change at page 44, line 45 ¶ | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 7130: Bidirectional Forwarding Detection (BFD) on | "RFC 7130: Bidirectional Forwarding Detection (BFD) on | |||
| Link Aggregation Group (LAG) Interfaces | Link Aggregation Group (LAG) Interfaces | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2022-01-04 { | ||||
| description | ||||
| "Updating reference to RFC XXXX."; | ||||
| reference | ||||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)."; | ||||
| } | ||||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| skipping to change at page 50, line 32 ¶ | skipping to change at page 47, line 28 ¶ | |||
| } | } | |||
| leaf member-link { | leaf member-link { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "Member link on which BFD is running."; | "Member link on which BFD is running."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.17. BFD-over-MPLS YANG Module | 2.16. BFD-over-MPLS YANG Module | |||
| This YANG module imports typedefs from [RFC6991]. It also imports | This YANG module imports typedefs from [RFC6991]. It also imports | |||
| and augments "/routing/control-plane-protocols/control-plane- | and augments "/routing/control-plane-protocols/control-plane- | |||
| protocol" from [RFC8349]. Additionally, it references [RFC5586] and | protocol" from [RFC8349]. Additionally, it references [RFC5586] and | |||
| [RFC5884]. | [RFC5884]. | |||
| <CODE BEGINS> file "ietf-bfd-mpls@2021-10-21.yang" | <CODE BEGINS> file "ietf-bfd-mpls@2022-01-04.yang" | |||
| module ietf-bfd-mpls { | module ietf-bfd-mpls { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls"; | |||
| prefix bfd-mpls; | prefix bfd-mpls; | |||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix bfd-types; | prefix bfd-types; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix bfd; | prefix bfd; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix inet; | prefix inet; | |||
| reference | reference | |||
| "RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix rt; | prefix rt; | |||
| reference | reference | |||
| skipping to change at page 52, line 5 ¶ | skipping to change at page 48, line 51 ¶ | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 9127; see the | This version of this YANG module is part of RFC 9127; see the | |||
| RFC itself for full legal notices."; | RFC itself for full legal notices."; | |||
| reference | reference | |||
| "RFC 5884: Bidirectional Forwarding Detection (BFD) | "RFC 5884: Bidirectional Forwarding Detection (BFD) | |||
| for MPLS Label Switched Paths (LSPs) | for MPLS Label Switched Paths (LSPs) | |||
| RFC 9127: YANG Data Model for Bidirectional Forwarding | RFC XXXX: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| revision 2022-01-04 { | ||||
| description | ||||
| "Updates to use base-cfg-parms instead of client-cfg-parms, | ||||
| and add the enabled flag."; | ||||
| reference | ||||
| "RFC XXXX: YANG Data Model for Bidirectional Forwarding | ||||
| Detection (BFD)."; | ||||
| } | ||||
| revision 2021-10-21 { | revision 2021-10-21 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
| Detection (BFD)"; | Detection (BFD)"; | |||
| } | } | |||
| /* | /* | |||
| * Identity definitions | * Identity definitions | |||
| skipping to change at page 53, line 33 ¶ | skipping to change at page 50, line 39 ¶ | |||
| + "rt:control-plane-protocol/bfd:bfd" { | + "rt:control-plane-protocol/bfd:bfd" { | |||
| description | description | |||
| "BFD augmentation for MPLS."; | "BFD augmentation for MPLS."; | |||
| container mpls { | container mpls { | |||
| description | description | |||
| "BFD MPLS top-level container."; | "BFD MPLS top-level container."; | |||
| uses bfd-types:session-statistics-summary; | uses bfd-types:session-statistics-summary; | |||
| container egress { | container egress { | |||
| description | description | |||
| "Egress configuration."; | "Egress configuration."; | |||
| uses bfd-types:client-cfg-parms; | leaf enabled { | |||
| type boolean; | ||||
| default "false"; | ||||
| description | ||||
| "Indicates whether BFD over MPLS is enabled."; | ||||
| } | ||||
| uses bfd-types:base-cfg-parms; | ||||
| uses bfd-types:auth-parms; | uses bfd-types:auth-parms; | |||
| } | } | |||
| container session-groups { | container session-groups { | |||
| description | description | |||
| "BFD-over-MPLS session groups."; | "BFD-over-MPLS session groups."; | |||
| list session-group { | list session-group { | |||
| key "mpls-fec"; | key "mpls-fec"; | |||
| description | description | |||
| "Group of BFD MPLS sessions (for ECMP). A group of | "Group of BFD MPLS sessions (for ECMP). A group of | |||
| sessions is for one FEC. Each session has a different | sessions is for one FEC. Each session has a different | |||
| skipping to change at page 62, line 31 ¶ | skipping to change at page 60, line 31 ¶ | |||
| session-groups/session-group/sessions: | session-groups/session-group/sessions: | |||
| Access to data nodes "local-discriminator" and "remote- | Access to data nodes "local-discriminator" and "remote- | |||
| discriminator" (combined with the data nodes in the session | discriminator" (combined with the data nodes in the session | |||
| group's authentication container) provides the ability to spoof | group's authentication container) provides the ability to spoof | |||
| BFD-over-MPLS-LSPs packets. | BFD-over-MPLS-LSPs packets. | |||
| This document does not define any RPC operations. | This document does not define any RPC operations. | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| IANA has registered the following namespace URIs in the "IETF XML | This document registers the following namespace URIs in the IETF XML | |||
| Registry" [RFC3688]: | in the "IETF XML Registry" [RFC3688]: | |||
| URI: urn:ietf:params:xml:ns:yang:iana-bfd-types | ||||
| Registrant Contact: The IESG. | ||||
| XML: N/A; the requested URI is an XML namespace. | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd-types | URI: urn:ietf:params:xml:ns:yang:ietf-bfd-types | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd | URI: urn:ietf:params:xml:ns:yang:ietf-bfd | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh | URI: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh | |||
| skipping to change at page 63, line 13 ¶ | skipping to change at page 61, line 9 ¶ | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd-lag | URI: urn:ietf:params:xml:ns:yang:ietf-bfd-lag | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| URI: urn:ietf:params:xml:ns:yang:ietf-bfd-mpls | URI: urn:ietf:params:xml:ns:yang:ietf-bfd-mpls | |||
| Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
| XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
| IANA has registered the following YANG modules in the "YANG Module | This document registers the following YANG modules in the "YANG | |||
| Names" registry [RFC6020]: | Module Names" registry [RFC6020]: | |||
| Name: iana-bfd-types | ||||
| Namespace: urn:ietf:params:xml:ns:yang:iana-bfd-types | ||||
| Prefix: iana-bfd-types | ||||
| Reference: RFC 9127 | ||||
| Name: ietf-bfd-types | Name: ietf-bfd-types | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-types | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-types | |||
| Prefix: bfd-types | Prefix: bfd-types | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| Name: ietf-bfd | Name: ietf-bfd | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd | |||
| Prefix: bfd | Prefix: bfd | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| Name: ietf-bfd-ip-sh | Name: ietf-bfd-ip-sh | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh | |||
| Prefix: bfd-ip-sh | Prefix: bfd-ip-sh | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| Name: ietf-bfd-ip-mh | Name: ietf-bfd-ip-mh | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh | |||
| Prefix: bfd-ip-mh | Prefix: bfd-ip-mh | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| Name: ietf-bfd-lag | Name: ietf-bfd-lag | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-lag | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-lag | |||
| Prefix: bfd-lag | Prefix: bfd-lag | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| Name: ietf-bfd-mpls | Name: ietf-bfd-mpls | |||
| Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-mpls | Namespace: urn:ietf:params:xml:ns:yang:ietf-bfd-mpls | |||
| Prefix: bfd-mpls | Prefix: bfd-mpls | |||
| Reference: RFC 9127 | Reference: RFC XXXX | |||
| 5.1. IANA-Maintained "iana-bfd-types" Module | ||||
| This document defines the initial version of the IANA-maintained | ||||
| "iana-bfd-types" YANG module. | ||||
| The "iana-bfd-types" YANG module mirrors the "BFD Diagnostic Codes" | ||||
| and "BFD Authentication Types" registries at | ||||
| <https://www.iana.org/assignments/bfd-parameters/>. Whenever these | ||||
| registries change, IANA must update the "iana-bfd-types" YANG module. | ||||
| 6. References | 6. References | |||
| 6.1. References | 6.1. Normative References | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., | [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., | |||
| "MPLS Generic Associated Channel", RFC 5586, | "MPLS Generic Associated Channel", RFC 5586, | |||
| DOI 10.17487/RFC5586, June 2009, | DOI 10.17487/RFC5586, June 2009, | |||
| <https://www.rfc-editor.org/info/rfc5586>. | <https://www.rfc-editor.org/info/rfc5586>. | |||
| skipping to change at page 66, line 27 ¶ | skipping to change at page 64, line 10 ¶ | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [RFC8960] Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A | [RFC8960] Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A | |||
| YANG Data Model for MPLS Base", RFC 8960, | YANG Data Model for MPLS Base", RFC 8960, | |||
| DOI 10.17487/RFC8960, December 2020, | DOI 10.17487/RFC8960, December 2020, | |||
| <https://www.rfc-editor.org/info/rfc8960>. | <https://www.rfc-editor.org/info/rfc8960>. | |||
| 6.2. References | 6.2. Informative References | |||
| [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol | |||
| Label Switching Architecture", RFC 3031, | Label Switching Architecture", RFC 3031, | |||
| DOI 10.17487/RFC3031, January 2001, | DOI 10.17487/RFC3031, January 2001, | |||
| <https://www.rfc-editor.org/info/rfc3031>. | <https://www.rfc-editor.org/info/rfc3031>. | |||
| [RFC6428] Allan, D., Ed., Swallow, G., Ed., and J. Drake, Ed., | ||||
| "Proactive Connectivity Verification, Continuity Check, | ||||
| and Remote Defect Indication for the MPLS Transport | ||||
| Profile", RFC 6428, DOI 10.17487/RFC6428, November 2011, | ||||
| <https://www.rfc-editor.org/info/rfc6428>. | ||||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
| and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
| [RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | [RFC8529] Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | |||
| Liu, "YANG Data Model for Network Instances", RFC 8529, | Liu, "YANG Data Model for Network Instances", RFC 8529, | |||
| DOI 10.17487/RFC8529, March 2019, | DOI 10.17487/RFC8529, March 2019, | |||
| <https://www.rfc-editor.org/info/rfc8529>. | <https://www.rfc-editor.org/info/rfc8529>. | |||
| skipping to change at page 70, line 5 ¶ | skipping to change at page 67, line 29 ¶ | |||
| } | } | |||
| Acknowledgments | Acknowledgments | |||
| We would like to thank Nobo Akiya and Jeff Haas for their | We would like to thank Nobo Akiya and Jeff Haas for their | |||
| encouragement on this work. We would also like to thank Tom Petch | encouragement on this work. We would also like to thank Tom Petch | |||
| for his comments on the document. We would also like to thank Acee | for his comments on the document. We would also like to thank Acee | |||
| Lindem for his guidance. Thanks also to Jürgen Schönwälder, who was | Lindem for his guidance. Thanks also to Jürgen Schönwälder, who was | |||
| instrumental in improving the YANG modules. | instrumental in improving the YANG modules. | |||
| Updates since RFC 9127 | ||||
| This version of the draft updates the 'ietf-bfd-types' module to | ||||
| define a new feature called 'client-base-cfg-parms and a 'if-feature' | ||||
| statement that conditionally includes definition of parameters such | ||||
| as 'multiplier' or 'desired-min-tx-interval'. The feature statement | ||||
| allows YANG implementations of protocol such as OSPF, ISIS, PIM and | ||||
| BGP, to support both a model where such parameters are not needed, | ||||
| such as when multiple BFD sessions are supported over a given | ||||
| interface, as well as when they need to be defined per session. As a | ||||
| result, the BFD MPLS module has to use the base-cfg-parms instead of | ||||
| client-cfg-parms to be able to include all the parameters | ||||
| unconditionally. | ||||
| The iana-bfd-types module, created in RFC 9127, was delegated to IANA | ||||
| for maintenance. No changes are requested from IANA as part of this | ||||
| update. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Mahesh Jethanandani (editor) | ||||
| Xoriant Corporation | ||||
| 1248 Reamwood Ave | ||||
| Sunnyvale, California 94089 | ||||
| United States of America | ||||
| Email: mjethanandani@gmail.com | ||||
| Reshad Rahman (editor) | Reshad Rahman (editor) | |||
| Canada | Canada | |||
| Email: reshad@yahoo.com | Email: reshad@yahoo.com | |||
| Lianshu Zheng (editor) | Lianshu Zheng (editor) | |||
| Huawei Technologies | Huawei Technologies | |||
| China | China | |||
| Email: veronique_cheng@hotmail.com | Email: veronique_cheng@hotmail.com | |||
| Mahesh Jethanandani (editor) | ||||
| Xoriant Corporation | ||||
| 1248 Reamwood Ave | ||||
| Sunnyvale, California 94089 | ||||
| United States of America | ||||
| Email: mjethanandani@gmail.com | ||||
| Santosh Pallagatti | Santosh Pallagatti | |||
| VMware | VMware | |||
| India | India | |||
| Email: santosh.pallagatti@gmail.com | Email: santosh.pallagatti@gmail.com | |||
| Greg Mirsky | Greg Mirsky | |||
| Ericsson | Ericsson | |||
| Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
| Updates since RFC 9127 | ||||
| This version of the draft updates the 'ietf-bfd-types' module to | ||||
| define a new feature called 'client-base-cfg-parms and a 'if-feature' | ||||
| statement that conditionally includes definition of parameters such | ||||
| as 'multiplier' or 'desired-min-tx-interval'. The feature statement | ||||
| allows YANG implementations of protocol such as OSPF, ISIS, PIM and | ||||
| BGP, to support both a model where such parameters are not needed, | ||||
| such as when multiple BFD sessions are supported over a given | ||||
| interface, as well as when they need to be defined per session. | ||||
| End of changes. 64 change blocks. | ||||
| 280 lines changed or deleted | 146 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||