| < draft-ietf-bfd-yang-13.txt | draft-ietf-bfd-yang-14.txt > | |||
|---|---|---|---|---|
| Network Working Group R. Rahman, Ed. | Network Working Group R. Rahman, Ed. | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Standards Track L. Zheng, Ed. | Intended status: Standards Track L. Zheng, Ed. | |||
| Expires: September 22, 2018 Huawei Technologies | Expires: December 3, 2018 Huawei Technologies | |||
| M. Jethanandani, Ed. | M. Jethanandani, Ed. | |||
| S. Pallagatti | S. Pallagatti | |||
| G. Mirsky | G. Mirsky | |||
| ZTE Corporation | ZTE Corporation | |||
| March 21, 2018 | June 1, 2018 | |||
| YANG Data Model for Bidirectional Forwarding Detection (BFD) | YANG Data Model for Bidirectional Forwarding Detection (BFD) | |||
| draft-ietf-bfd-yang-13 | draft-ietf-bfd-yang-14 | |||
| 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). | Datastore Architecture (NMDA). | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 41 ¶ | |||
| 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 September 22, 2018. | This Internet-Draft will expire on December 3, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
| 2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 8 | 2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 8 | |||
| 2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 9 | 2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 9 | |||
| 2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 9 | 2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 9 | |||
| 2.2. Design of Operational State Model . . . . . . . . . . . . 9 | 2.2. Design of Operational State Model . . . . . . . . . . . . 9 | |||
| 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 10 | 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 10 | 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 10 | 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 10 | |||
| 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 10 | 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 10 | |||
| 2.7. BFD IP multihop hierarchy . . . . . . . . . . . . . . . . 12 | 2.7. BFD IP multihop hierarchy . . . . . . . . . . . . . . . . 12 | |||
| 2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 14 | 2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 14 | |||
| 2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 17 | 2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 18 | |||
| 2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 19 | 2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 20 | |||
| 2.11. Interaction with other YANG modules . . . . . . . . . . . 21 | 2.11. Interaction with other YANG modules . . . . . . . . . . . 22 | |||
| 2.11.1. Module ietf-interfaces . . . . . . . . . . . . . . . 21 | 2.11.1. Module ietf-interfaces . . . . . . . . . . . . . . . 22 | |||
| 2.11.2. Module ietf-ip . . . . . . . . . . . . . . . . . . . 22 | 2.11.2. Module ietf-ip . . . . . . . . . . . . . . . . . . . 22 | |||
| 2.11.3. Module ietf-mpls . . . . . . . . . . . . . . . . . . 22 | 2.11.3. Module ietf-mpls . . . . . . . . . . . . . . . . . . 23 | |||
| 2.11.4. Module ietf-te . . . . . . . . . . . . . . . . . . . 22 | 2.11.4. Module ietf-te . . . . . . . . . . . . . . . . . . . 23 | |||
| 2.12. IANA BFD YANG Module . . . . . . . . . . . . . . . . . . 22 | 2.12. IANA BFD YANG Module . . . . . . . . . . . . . . . . . . 23 | |||
| 2.13. BFD types YANG Module . . . . . . . . . . . . . . . . . . 25 | 2.13. BFD types YANG Module . . . . . . . . . . . . . . . . . . 26 | |||
| 2.14. BFD top-level YANG Module . . . . . . . . . . . . . . . . 38 | 2.14. BFD top-level YANG Module . . . . . . . . . . . . . . . . 39 | |||
| 2.15. BFD IP single-hop YANG Module . . . . . . . . . . . . . . 40 | 2.15. BFD IP single-hop YANG Module . . . . . . . . . . . . . . 40 | |||
| 2.16. BFD IP multihop YANG Module . . . . . . . . . . . . . . . 43 | 2.16. BFD IP multihop YANG Module . . . . . . . . . . . . . . . 44 | |||
| 2.17. BFD over LAG YANG Module . . . . . . . . . . . . . . . . 46 | 2.17. BFD over LAG YANG Module . . . . . . . . . . . . . . . . 47 | |||
| 2.18. BFD over MPLS YANG Module . . . . . . . . . . . . . . . . 50 | 2.18. BFD over MPLS YANG Module . . . . . . . . . . . . . . . . 51 | |||
| 2.19. BFD over MPLS-TE YANG Module . . . . . . . . . . . . . . 54 | 2.19. BFD over MPLS-TE YANG Module . . . . . . . . . . . . . . 55 | |||
| 3. Data Model examples . . . . . . . . . . . . . . . . . . . . . 57 | 3. Data Model examples . . . . . . . . . . . . . . . . . . . . . 58 | |||
| 3.1. IP single-hop . . . . . . . . . . . . . . . . . . . . . . 57 | 3.1. IP single-hop . . . . . . . . . . . . . . . . . . . . . . 58 | |||
| 3.2. IP multihop . . . . . . . . . . . . . . . . . . . . . . . 58 | 3.2. IP multihop . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
| 3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 | 3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 | |||
| 3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 60 | 3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 60 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 61 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 61 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 64 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 64 | |||
| 5.1. IANA-Maintained iana-bfd-types module . . . . . . . . . . 65 | 5.1. IANA-Maintained iana-bfd-types module . . . . . . . . . . 65 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 65 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 65 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 66 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 66 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 66 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 66 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 68 | 7.2. Informative References . . . . . . . . . . . . . . . . . 68 | |||
| Appendix A. Echo function configuration example . . . . . . . . 69 | Appendix A. Echo function configuration example . . . . . . . . 69 | |||
| A.1. Example YANG module for BFD echo function configuration . 69 | A.1. Example YANG module for BFD echo function configuration . 69 | |||
| Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 71 | Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 71 | |||
| B.1. Changes between versions -12 and -13 . . . . . . . . . . 71 | B.1. Changes between versions -13 and -14 . . . . . . . . . . 71 | |||
| B.2. Changes between versions -11 and -12 . . . . . . . . . . 71 | B.2. Changes between versions -12 and -13 . . . . . . . . . . 71 | |||
| B.3. Changes between versions -10 and -11 . . . . . . . . . . 71 | B.3. Changes between versions -11 and -12 . . . . . . . . . . 71 | |||
| B.4. Changes between versions -09 and -10 . . . . . . . . . . 71 | B.4. Changes between versions -10 and -11 . . . . . . . . . . 71 | |||
| B.5. Changes between versions -08 and -09 . . . . . . . . . . 72 | B.5. Changes between versions -09 and -10 . . . . . . . . . . 72 | |||
| B.6. Changes between versions -07 and -08 . . . . . . . . . . 72 | B.6. Changes between versions -08 and -09 . . . . . . . . . . 72 | |||
| B.7. Changes between versions -06 and -07 . . . . . . . . . . 72 | B.7. Changes between versions -07 and -08 . . . . . . . . . . 72 | |||
| B.8. Changes between versions -05 and -06 . . . . . . . . . . 72 | B.8. Changes between versions -06 and -07 . . . . . . . . . . 72 | |||
| B.9. Changes between versions -04 and -05 . . . . . . . . . . 72 | B.9. Changes between versions -05 and -06 . . . . . . . . . . 72 | |||
| B.10. Changes between versions -03 and -04 . . . . . . . . . . 73 | B.10. Changes between versions -04 and -05 . . . . . . . . . . 73 | |||
| B.11. Changes between versions -02 and -03 . . . . . . . . . . 73 | B.11. Changes between versions -03 and -04 . . . . . . . . . . 73 | |||
| B.12. Changes between versions -01 and -02 . . . . . . . . . . 73 | B.12. Changes between versions -02 and -03 . . . . . . . . . . 73 | |||
| B.13. Changes between versions -00 and -01 . . . . . . . . . . 73 | B.13. Changes between versions -01 and -02 . . . . . . . . . . 73 | |||
| B.14. Changes between versions -00 and -01 . . . . . . . . . . 73 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 73 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 73 | |||
| 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 which is used for liveness detection of | is a network protocol which 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: | paths over which we have BFD: | |||
| skipping to change at page 10, line 36 ¶ | skipping to change at page 10, line 36 ¶ | |||
| 2.5. BFD top level hierarchy | 2.5. BFD top level hierarchy | |||
| At the "bfd" node under control-plane-protocol, there is no | At the "bfd" node under control-plane-protocol, there is no | |||
| configuration data, only operational state data. The operational | configuration data, only operational state data. The operational | |||
| state data consist of overall BFD session statistics, i.e. for BFD on | state data consist of overall BFD session statistics, i.e. for BFD on | |||
| all types of forwarding paths. | all types of forwarding paths. | |||
| module: ietf-bfd | module: ietf-bfd | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol: | /rt:control-plane-protocol: | |||
| +--rw bfd | +--rw bfd | |||
| +--ro summary | +--ro summary | |||
| +--ro number-of-sessions? yang:gauge32 | +--ro number-of-sessions? yang:gauge32 | |||
| +--ro number-of-sessions-up? yang:gauge32 | +--ro number-of-sessions-up? yang:gauge32 | |||
| +--ro number-of-sessions-down? yang:gauge32 | +--ro number-of-sessions-down? yang:gauge32 | |||
| +--ro number-of-sessions-admin-down? yang:gauge32 | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| 2.6. BFD IP single-hop hierarchy | 2.6. BFD IP single-hop hierarchy | |||
| An "ip-sh" node is added under "bfd" node in control-plane-protocol. | An "ip-sh" node is added under "bfd" node in control-plane-protocol. | |||
| The configuration and operational state data for each BFD IP single- | The configuration and operational state data for each BFD IP single- | |||
| hop session is under this "ip-sh" node. | hop session is under this "ip-sh" node. | |||
| module: ietf-bfd-ip-sh | module: ietf-bfd-ip-sh | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd: | /rt:control-plane-protocol/bfd:bfd: | |||
| +--rw ip-sh | ||||
| +--rw ip-sh | +--ro summary | |||
| +--ro summary | | +--ro number-of-sessions? yang:gauge32 | |||
| | +--ro number-of-sessions? yang:gauge32 | | +--ro number-of-sessions-up? yang:gauge32 | |||
| | +--ro number-of-sessions-up? yang:gauge32 | | +--ro number-of-sessions-down? yang:gauge32 | |||
| | +--ro number-of-sessions-down? yang:gauge32 | | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| | +--ro number-of-sessions-admin-down? yang:gauge32 | +--rw sessions | |||
| +--rw sessions | | +--rw session* [interface dest-addr] | |||
| | +--rw session* [interface dest-addr] | | +--rw interface if:interface-ref | |||
| | +--rw interface if:interface-ref | | +--rw dest-addr inet:ip-address | |||
| | +--rw dest-addr inet:ip-address | | +--rw source-addr? inet:ip-address | |||
| | +--rw source-addr? inet:ip-address | | +--rw local-multiplier? multiplier | |||
| | +--rw local-multiplier? multiplier | | +--rw (interval-config-type)? | |||
| | +--rw (interval-config-type)? | | | +--:(tx-rx-intervals) | |||
| | | +--:(tx-rx-intervals) | | | | +--rw desired-min-tx-interval? uint32 | |||
| | | | +--rw desired-min-tx-interval? uint32 | | | | +--rw required-min-rx-interval? uint32 | |||
| | | | +--rw required-min-rx-interval? uint32 | | | +--:(single-interval) {single-minimum-interval}? | |||
| | | +--:(single-interval) {single-minimum-interval}? | | | +--rw min-interval? uint32 | |||
| | | +--rw min-interval? uint32 | | +--rw demand-enabled? boolean | |||
| | +--rw demand-enabled? boolean {demand-mode}? | | | {demand-mode}? | |||
| | +--rw admin-down? boolean | | +--rw admin-down? boolean | |||
| | +--rw authentication! {authentication}? | | +--rw authentication! {authentication}? | |||
| | | +--rw key-chain? kc:key-chain-ref | | | +--rw key-chain? kc:key-chain-ref | |||
| | | +--rw meticulous? boolean | | | +--rw meticulous? boolean | |||
| | +--ro path-type? identityref | | +--ro path-type? identityref | |||
| | +--ro ip-encapsulation? boolean | | +--ro ip-encapsulation? boolean | |||
| | +--ro local-discriminator? discriminator | | +--ro local-discriminator? discriminator | |||
| | +--ro remote-discriminator? discriminator | | +--ro remote-discriminator? discriminator | |||
| | +--ro remote-multiplier? multiplier | | +--ro remote-multiplier? multiplier | |||
| | +--ro demand-capability? boolean {demand-mode}? | | +--ro demand-capability? boolean | |||
| | +--ro source-port? inet:port-number | | | {demand-mode}? | |||
| | +--ro dest-port? inet:port-number | | +--ro source-port? inet:port-number | |||
| | +--ro session-running | | +--ro dest-port? inet:port-number | |||
| | | +--ro session-index? uint32 | | +--ro session-running | |||
| | | +--ro local-state? state | | | +--ro session-index? uint32 | |||
| | | +--ro remote-state? state | | | +--ro local-state? state | |||
| | | +--ro local-diagnostic? | | | +--ro remote-state? state | |||
| | | | iana-bfd-types:diagnostic | | | +--ro local-diagnostic? | |||
| | | +--ro remote-diagnostic? | | | | iana-bfd-types:diagnostic | |||
| | | | iana-bfd-types:diagnostic | | | +--ro remote-diagnostic? | |||
| | | +--ro remote-authenticated? boolean | | | | iana-bfd-types:diagnostic | |||
| | | +--ro remote-authentication-type? | | | +--ro remote-authenticated? boolean | |||
| | | | iana-bfd-types:auth-type {authentication}? | | | +--ro remote-authentication-type? | |||
| | | +--ro detection-mode? enumeration | | | | iana-bfd-types:auth-type {authentication}? | |||
| | | +--ro negotiated-tx-interval? uint32 | | | +--ro detection-mode? enumeration | |||
| | | +--ro negotiated-rx-interval? uint32 | | | +--ro negotiated-tx-interval? uint32 | |||
| | | +--ro detection-time? uint32 | | | +--ro negotiated-rx-interval? uint32 | |||
| | | +--ro echo-tx-interval-in-use? uint32 | | | +--ro detection-time? uint32 | |||
| | | {echo-mode}? | | | +--ro echo-tx-interval-in-use? uint32 | |||
| | +--ro session-statistics | | | {echo-mode}? | |||
| | +--ro create-time? yang:date-and-time | | +--ro session-statistics | |||
| | +--ro last-down-time? yang:date-and-time | | +--ro create-time? | |||
| | +--ro last-up-time? yang:date-and-time | | | yang:date-and-time | |||
| | +--ro down-count? yang:counter32 | | +--ro last-down-time? | |||
| | +--ro admin-down-count? yang:counter32 | | | yang:date-and-time | |||
| | +--ro receive-packet-count? yang:counter64 | | +--ro last-up-time? | |||
| | +--ro send-packet-count? yang:counter64 | | | yang:date-and-time | |||
| | +--ro receive-invalid-packet-count? yang:counter64 | | +--ro down-count? yang:counter32 | |||
| | +--ro send-failed-packet-count? yang:counter64 | | +--ro admin-down-count? yang:counter32 | |||
| +--rw interfaces* [interface] | | +--ro receive-packet-count? yang:counter64 | |||
| +--rw interface if:interface-ref | | +--ro send-packet-count? yang:counter64 | |||
| +--rw authentication! {authentication}? | | +--ro receive-invalid-packet-count? yang:counter64 | |||
| +--rw key-chain? kc:key-chain-ref | | +--ro send-failed-packet-count? yang:counter64 | |||
| +--rw meticulous? boolean | +--rw interfaces* [interface] | |||
| +--rw interface if:interface-ref | ||||
| +--rw authentication! {authentication}? | ||||
| +--rw key-chain? kc:key-chain-ref | ||||
| +--rw meticulous? boolean | ||||
| notifications: | notifications: | |||
| +---n singlehop-notification | +---n singlehop-notification | |||
| +--ro local-discr? discriminator | +--ro local-discr? discriminator | |||
| +--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 interface? if:interface-ref | +--ro interface? if:interface-ref | |||
| +--ro echo-enabled? boolean | +--ro echo-enabled? boolean | |||
| 2.7. BFD IP multihop hierarchy | 2.7. BFD IP multihop hierarchy | |||
| An "ip-mh" node is added under the "bfd" node in cntrol-plane- | An "ip-mh" node is added under the "bfd" node in cntrol-plane- | |||
| protocol. The configuration and operational state data for each BFD | protocol. The configuration and operational state data for each BFD | |||
| IP multihop session is under this "ip-mh" node. In the operational | IP multihop session is under this "ip-mh" node. In the operational | |||
| state model we support multiple BFD multihop sessions per remote | state model we support multiple BFD multihop sessions per remote | |||
| address (ECMP), the local discriminator is used as key. | address (ECMP), the local discriminator is used as key. | |||
| module: ietf-bfd-ip-mh | module: ietf-bfd-ip-mh | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd: | /rt:control-plane-protocol/bfd:bfd: | |||
| +--rw ip-mh | +--rw ip-mh | |||
| +--ro summary | +--ro summary | |||
| | +--ro number-of-sessions? yang:gauge32 | | +--ro number-of-sessions? yang:gauge32 | |||
| | +--ro number-of-sessions-up? yang:gauge32 | | +--ro number-of-sessions-up? yang:gauge32 | |||
| | +--ro number-of-sessions-down? yang:gauge32 | | +--ro number-of-sessions-down? yang:gauge32 | |||
| | +--ro number-of-sessions-admin-down? yang:gauge32 | | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| +--rw session-groups | +--rw session-groups | |||
| +--rw session-group* [source-addr dest-addr] | +--rw session-group* [source-addr dest-addr] | |||
| +--rw source-addr inet:ip-address | +--rw source-addr inet:ip-address | |||
| +--rw dest-addr inet:ip-address | +--rw dest-addr inet:ip-address | |||
| +--rw local-multiplier? multiplier | +--rw local-multiplier? multiplier | |||
| +--rw (interval-config-type)? | +--rw (interval-config-type)? | |||
| | +--:(tx-rx-intervals) | | +--:(tx-rx-intervals) | |||
| | | +--rw desired-min-tx-interval? uint32 | | | +--rw desired-min-tx-interval? uint32 | |||
| | | +--rw required-min-rx-interval? uint32 | | | +--rw required-min-rx-interval? uint32 | |||
| | +--:(single-interval) {single-minimum-interval}? | | +--:(single-interval) {single-minimum-interval}? | |||
| | +--rw min-interval? uint32 | | +--rw min-interval? uint32 | |||
| +--rw demand-enabled? boolean {demand-mode}? | +--rw demand-enabled? boolean | |||
| +--rw admin-down? boolean | | {demand-mode}? | |||
| +--rw authentication! {authentication}? | +--rw admin-down? boolean | |||
| | +--rw key-chain? kc:key-chain-ref | +--rw authentication! {authentication}? | |||
| | +--rw meticulous? boolean | | +--rw key-chain? kc:key-chain-ref | |||
| +--rw tx-ttl? bfd-types:hops | | +--rw meticulous? boolean | |||
| +--rw rx-ttl bfd-types:hops | +--rw tx-ttl? bfd-types:hops | |||
| +--ro sessions* | +--rw rx-ttl bfd-types:hops | |||
| +--ro path-type? identityref | +--ro sessions* [] | |||
| +--ro ip-encapsulation? boolean | +--ro path-type? identityref | |||
| +--ro local-discriminator? discriminator | +--ro ip-encapsulation? boolean | |||
| +--ro remote-discriminator? discriminator | +--ro local-discriminator? discriminator | |||
| +--ro remote-multiplier? multiplier | +--ro remote-discriminator? discriminator | |||
| +--ro demand-capability? boolean {demand-mode}? | +--ro remote-multiplier? multiplier | |||
| +--ro source-port? inet:port-number | +--ro demand-capability? boolean {demand-mode}? | |||
| +--ro dest-port? inet:port-number | +--ro source-port? inet:port-number | |||
| +--ro session-running | +--ro dest-port? inet:port-number | |||
| | +--ro session-index? uint32 | +--ro session-running | |||
| | +--ro local-state? state | | +--ro session-index? uint32 | |||
| | +--ro remote-state? state | | +--ro local-state? state | |||
| | +--ro local-diagnostic? | | +--ro remote-state? state | |||
| | | iana-bfd-types:diagnostic | | +--ro local-diagnostic? | |||
| | +--ro remote-diagnostic? | | | iana-bfd-types:diagnostic | |||
| | | iana-bfd-types:diagnostic | | +--ro remote-diagnostic? | |||
| | +--ro remote-authenticated? boolean | | | iana-bfd-types:diagnostic | |||
| | +--ro remote-authentication-type? | | +--ro remote-authenticated? boolean | |||
| | | iana-bfd-types:auth-type {authentication}? | | +--ro remote-authentication-type? | |||
| | +--ro detection-mode? enumeration | | | iana-bfd-types:auth-type {authentication}? | |||
| | +--ro negotiated-tx-interval? uint32 | | +--ro detection-mode? enumeration | |||
| | +--ro negotiated-rx-interval? uint32 | | +--ro negotiated-tx-interval? uint32 | |||
| | +--ro detection-time? uint32 | | +--ro negotiated-rx-interval? uint32 | |||
| | +--ro echo-tx-interval-in-use? uint32 | | +--ro detection-time? uint32 | |||
| | {echo-mode}? | | +--ro echo-tx-interval-in-use? uint32 | |||
| +--ro session-statistics | | {echo-mode}? | |||
| +--ro create-time? | +--ro session-statistics | |||
| | yang:date-and-time | +--ro create-time? | |||
| +--ro last-down-time? | | yang:date-and-time | |||
| | yang:date-and-time | +--ro last-down-time? | |||
| +--ro last-up-time? | | yang:date-and-time | |||
| | yang:date-and-time | +--ro last-up-time? | |||
| +--ro down-count? yang:counter32 | | yang:date-and-time | |||
| +--ro admin-down-count? yang:counter32 | +--ro down-count? | |||
| +--ro receive-packet-count? yang:counter64 | | yang:counter32 | |||
| +--ro send-packet-count? yang:counter64 | +--ro admin-down-count? | |||
| +--ro receive-invalid-packet-count? yang:counter64 | | yang:counter32 | |||
| +--ro send-failed-packet-count? yang:counter64 | +--ro receive-packet-count? | |||
| | yang:counter64 | ||||
| +--ro send-packet-count? | ||||
| | yang:counter64 | ||||
| +--ro receive-invalid-packet-count? | ||||
| | yang:counter64 | ||||
| +--ro send-failed-packet-count? | ||||
| yang:counter64 | ||||
| notifications: | notifications: | |||
| +---n multihop-notification | +---n multihop-notification | |||
| +--ro local-discr? discriminator | +--ro local-discr? discriminator | |||
| +--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 | |||
| 2.8. BFD over LAG hierarchy | 2.8. BFD over LAG hierarchy | |||
| A "lag" node is added under the "bfd" node in control-plane-protocol. | A "lag" node is added under the "bfd" node in control-plane-protocol. | |||
| The configuration and operational state data for each BFD LAG session | The configuration and operational state data for each BFD LAG session | |||
| is under this "lag" node. | is under this "lag" node. | |||
| module: ietf-bfd-lag | module: ietf-bfd-lag | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd: | /rt:control-plane-protocol/bfd:bfd: | |||
| +--rw lag | +--rw lag | |||
| +--rw micro-bfd-ipv4-session-statistics | +--rw micro-bfd-ipv4-session-statistics | |||
| | +--ro summary | | +--ro summary | |||
| | +--ro number-of-sessions? yang:gauge32 | | +--ro number-of-sessions? yang:gauge32 | |||
| | +--ro number-of-sessions-up? yang:gauge32 | | +--ro number-of-sessions-up? yang:gauge32 | |||
| | +--ro number-of-sessions-down? yang:gauge32 | | +--ro number-of-sessions-down? yang:gauge32 | |||
| | +--ro number-of-sessions-admin-down? yang:gauge32 | | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| +--rw micro-bfd-ipv6-session-statistics | +--rw micro-bfd-ipv6-session-statistics | |||
| | +--ro summary | | +--ro summary | |||
| | +--ro number-of-sessions? yang:gauge32 | | +--ro number-of-sessions? yang:gauge32 | |||
| | +--ro number-of-sessions-up? yang:gauge32 | | +--ro number-of-sessions-up? yang:gauge32 | |||
| | +--ro number-of-sessions-down? yang:gauge32 | | +--ro number-of-sessions-down? yang:gauge32 | |||
| | +--ro number-of-sessions-admin-down? yang:gauge32 | | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| +--rw sessions | +--rw sessions | |||
| +--rw session* [lag-name] | +--rw session* [lag-name] | |||
| +--rw lag-name if:interface-ref | +--rw lag-name if:interface-ref | |||
| +--rw ipv4-dest-addr? inet:ipv4-address | +--rw ipv4-dest-addr? | |||
| +--rw ipv6-dest-addr? inet:ipv6-address | | inet:ipv4-address | |||
| +--rw local-multiplier? multiplier | +--rw ipv6-dest-addr? | |||
| | inet:ipv6-address | ||||
| +--rw local-multiplier? multiplier | ||||
| +--rw (interval-config-type)? | +--rw (interval-config-type)? | |||
| | +--:(tx-rx-intervals) | | +--:(tx-rx-intervals) | |||
| | | +--rw desired-min-tx-interval? uint32 | | | +--rw desired-min-tx-interval? uint32 | |||
| | | +--rw required-min-rx-interval? uint32 | | | +--rw required-min-rx-interval? uint32 | |||
| | +--:(single-interval) {single-minimum-interval}? | | +--:(single-interval) {single-minimum-interval}? | |||
| | +--rw min-interval? uint32 | | +--rw min-interval? uint32 | |||
| +--rw demand-enabled? boolean {demand-mode}? | +--rw demand-enabled? boolean | |||
| +--rw admin-down? boolean | | {demand-mode}? | |||
| +--rw admin-down? boolean | ||||
| +--rw authentication! {authentication}? | +--rw authentication! {authentication}? | |||
| | +--rw key-chain? kc:key-chain-ref | | +--rw key-chain? kc:key-chain-ref | |||
| | +--rw meticulous? boolean | | +--rw meticulous? boolean | |||
| +--rw use-ipv4? boolean | +--rw use-ipv4? boolean | |||
| +--rw use-ipv6? boolean | +--rw use-ipv6? boolean | |||
| +--ro member-links* [member-link] | +--ro member-links* [member-link] | |||
| +--ro member-link if:interface-ref | +--ro member-link if:interface-ref | |||
| +--ro micro-bfd-ipv4 | +--ro micro-bfd-ipv4 | |||
| | +--ro path-type? identityref | | +--ro path-type? identityref | |||
| | +--ro ip-encapsulation? boolean | | +--ro ip-encapsulation? boolean | |||
| | +--ro local-discriminator? discriminator | | +--ro local-discriminator? discriminator | |||
| | +--ro remote-discriminator? discriminator | | +--ro remote-discriminator? discriminator | |||
| | +--ro remote-multiplier? multiplier | | +--ro remote-multiplier? multiplier | |||
| | +--ro demand-capability? boolean | | +--ro demand-capability? boolean | |||
| | | {demand-mode}? | | | {demand-mode}? | |||
| skipping to change at page 17, line 43 ¶ | skipping to change at page 18, line 14 ¶ | |||
| 2.9. BFD over MPLS LSPs hierarchy | 2.9. BFD over MPLS LSPs hierarchy | |||
| An "mpls" node is added under the "bfd" node in control-plane- | An "mpls" node is added under the "bfd" node in control-plane- | |||
| protocol. The configuration is per MPLS FEC under this "mpls" node. | protocol. The configuration is per MPLS FEC under this "mpls" node. | |||
| In the operational state model we support multiple BFD sessions per | In the operational state model we support multiple BFD sessions per | |||
| MPLS FEC (ECMP), the local discriminator is used as key. The "mpls" | MPLS FEC (ECMP), the local discriminator is used as key. The "mpls" | |||
| node can be used in a network device (top-level), or mounted in an | node can be used in a network device (top-level), or mounted in an | |||
| LNE or in a network instance. | LNE or in a network instance. | |||
| module: ietf-bfd-mpls | module: ietf-bfd-mpls | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd: | /rt:control-plane-protocol/bfd:bfd: | |||
| +--rw mpls | +--rw mpls | |||
| +--ro summary | +--ro summary | |||
| | +--ro number-of-sessions? yang:gauge32 | | +--ro number-of-sessions? yang:gauge32 | |||
| | +--ro number-of-sessions-up? yang:gauge32 | | +--ro number-of-sessions-up? yang:gauge32 | |||
| | +--ro number-of-sessions-down? yang:gauge32 | | +--ro number-of-sessions-down? yang:gauge32 | |||
| | +--ro number-of-sessions-admin-down? yang:gauge32 | | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| +--rw egress | +--rw egress | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw local-multiplier? multiplier | | +--rw local-multiplier? multiplier | |||
| | +--rw (interval-config-type)? | | +--rw (interval-config-type)? | |||
| | | +--:(tx-rx-intervals) | | | +--:(tx-rx-intervals) | |||
| | | | +--rw desired-min-tx-interval? uint32 | | | | +--rw desired-min-tx-interval? uint32 | |||
| | | | +--rw required-min-rx-interval? uint32 | | | | +--rw required-min-rx-interval? uint32 | |||
| | | +--:(single-interval) {single-minimum-interval}? | | | +--:(single-interval) {single-minimum-interval}? | |||
| | | +--rw min-interval? uint32 | | | +--rw min-interval? uint32 | |||
| | +--rw authentication! {authentication}? | | +--rw authentication! {authentication}? | |||
| | +--rw key-chain? kc:key-chain-ref | | +--rw key-chain? kc:key-chain-ref | |||
| | +--rw meticulous? boolean | | +--rw meticulous? boolean | |||
| +--rw session-groups | +--rw session-groups | |||
| +--rw session-group* [mpls-fec] | +--rw session-group* [mpls-fec] | |||
| +--rw mpls-fec inet:ip-prefix | +--rw mpls-fec inet:ip-prefix | |||
| +--rw local-multiplier? multiplier | +--rw local-multiplier? multiplier | |||
| +--rw (interval-config-type)? | +--rw (interval-config-type)? | |||
| | +--:(tx-rx-intervals) | | +--:(tx-rx-intervals) | |||
| | | +--rw desired-min-tx-interval? uint32 | | | +--rw desired-min-tx-interval? uint32 | |||
| | | +--rw required-min-rx-interval? uint32 | | | +--rw required-min-rx-interval? uint32 | |||
| | +--:(single-interval) {single-minimum-interval}? | | +--:(single-interval) {single-minimum-interval}? | |||
| | +--rw min-interval? uint32 | | +--rw min-interval? uint32 | |||
| +--rw demand-enabled? boolean {demand-mode}? | +--rw demand-enabled? boolean | |||
| +--rw admin-down? boolean | | {demand-mode}? | |||
| +--rw authentication! {authentication}? | +--rw admin-down? boolean | |||
| | +--rw key-chain? kc:key-chain-ref | +--rw authentication! {authentication}? | |||
| | +--rw meticulous? boolean | | +--rw key-chain? kc:key-chain-ref | |||
| +--ro sessions* | | +--rw meticulous? boolean | |||
| +--ro path-type? identityref | +--ro sessions* [] | |||
| +--ro ip-encapsulation? boolean | +--ro path-type? identityref | |||
| +--ro local-discriminator? discriminator | +--ro ip-encapsulation? boolean | |||
| +--ro remote-discriminator? discriminator | +--ro local-discriminator? discriminator | |||
| +--ro remote-multiplier? multiplier | +--ro remote-discriminator? discriminator | |||
| +--ro demand-capability? boolean {demand-mode}? | +--ro remote-multiplier? multiplier | |||
| +--ro source-port? inet:port-number | +--ro demand-capability? boolean {demand-mode}? | |||
| +--ro dest-port? inet:port-number | +--ro source-port? inet:port-number | |||
| +--ro session-running | +--ro dest-port? inet:port-number | |||
| | +--ro session-index? uint32 | +--ro session-running | |||
| | +--ro local-state? state | | +--ro session-index? uint32 | |||
| | +--ro remote-state? state | | +--ro local-state? state | |||
| | +--ro local-diagnostic? | | +--ro remote-state? state | |||
| | | iana-bfd-types:diagnostic | | +--ro local-diagnostic? | |||
| | +--ro remote-diagnostic? | | | iana-bfd-types:diagnostic | |||
| | | iana-bfd-types:diagnostic | | +--ro remote-diagnostic? | |||
| | +--ro remote-authenticated? boolean | | | iana-bfd-types:diagnostic | |||
| | +--ro remote-authentication-type? | | +--ro remote-authenticated? boolean | |||
| | | iana-bfd-types:auth-type {authentication}? | | +--ro remote-authentication-type? | |||
| | +--ro detection-mode? enumeration | | | iana-bfd-types:auth-type {authentication}? | |||
| | +--ro negotiated-tx-interval? uint32 | | +--ro detection-mode? enumeration | |||
| | +--ro negotiated-rx-interval? uint32 | | +--ro negotiated-tx-interval? uint32 | |||
| | +--ro detection-time? uint32 | | +--ro negotiated-rx-interval? uint32 | |||
| | +--ro echo-tx-interval-in-use? uint32 | | +--ro detection-time? uint32 | |||
| | {echo-mode}? | | +--ro echo-tx-interval-in-use? uint32 | |||
| +--ro session-statistics | | {echo-mode}? | |||
| | +--ro create-time? | +--ro session-statistics | |||
| | | yang:date-and-time | | +--ro create-time? | |||
| | +--ro last-down-time? | | | yang:date-and-time | |||
| | | yang:date-and-time | | +--ro last-down-time? | |||
| | +--ro last-up-time? | | | yang:date-and-time | |||
| | | yang:date-and-time | | +--ro last-up-time? | |||
| | +--ro down-count? yang:counter32 | | | yang:date-and-time | |||
| | +--ro admin-down-count? yang:counter32 | | +--ro down-count? | |||
| | +--ro receive-packet-count? yang:counter64 | | | yang:counter32 | |||
| | +--ro send-packet-count? yang:counter64 | | +--ro admin-down-count? | |||
| | +--ro receive-invalid-packet-count? yang:counter64 | | | yang:counter32 | |||
| | +--ro send-failed-packet-count? yang:counter64 | | +--ro receive-packet-count? | |||
| +--ro mpls-dest-address? inet:ip-address | | | yang:counter64 | |||
| | +--ro send-packet-count? | ||||
| | | yang:counter64 | ||||
| | +--ro receive-invalid-packet-count? | ||||
| | | yang:counter64 | ||||
| | +--ro send-failed-packet-count? | ||||
| | yang:counter64 | ||||
| +--ro mpls-dest-address? inet:ip-address | ||||
| notifications: | notifications: | |||
| +---n mpls-notification | +---n mpls-notification | |||
| +--ro local-discr? discriminator | +--ro local-discr? discriminator | |||
| +--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. BFD over MPLS-TE hierarchy | 2.10. BFD over MPLS-TE hierarchy | |||
| YANG Data Model for TE Topologies [I-D.ietf-teas-yang-te] is | YANG Data Model for TE Topologies [I-D.ietf-teas-yang-te] is | |||
| augmented. BFD is configured per MPLS-TE tunnel, and BFD session | augmented. BFD is configured per MPLS-TE tunnel, and BFD session | |||
| operational state data is provided per MPLS-TE LSP. | operational state data is provided per MPLS-TE LSP. | |||
| module: ietf-bfd-mpls-te | module: ietf-bfd-mpls-te | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd: | /rt:control-plane-protocol/bfd:bfd: | |||
| +--rw mpls-te | +--rw mpls-te | |||
| +--rw egress | +--rw egress | |||
| | +--rw enable? boolean | | +--rw enable? boolean | |||
| | +--rw local-multiplier? multiplier | | +--rw local-multiplier? multiplier | |||
| | +--rw (interval-config-type)? | | +--rw (interval-config-type)? | |||
| | | +--:(tx-rx-intervals) | | | +--:(tx-rx-intervals) | |||
| | | | +--rw desired-min-tx-interval? uint32 | | | | +--rw desired-min-tx-interval? uint32 | |||
| | | | +--rw required-min-rx-interval? uint32 | | | | +--rw required-min-rx-interval? uint32 | |||
| | | +--:(single-interval) {single-minimum-interval}? | | | +--:(single-interval) {single-minimum-interval}? | |||
| | | +--rw min-interval? uint32 | | | +--rw min-interval? uint32 | |||
| | +--rw authentication! {authentication}? | | +--rw authentication! {authentication}? | |||
| | +--rw key-chain? kc:key-chain-ref | | +--rw key-chain? kc:key-chain-ref | |||
| | +--rw meticulous? boolean | | +--rw meticulous? boolean | |||
| +--ro summary | +--ro summary | |||
| +--ro number-of-sessions? yang:gauge32 | +--ro number-of-sessions? yang:gauge32 | |||
| +--ro number-of-sessions-up? yang:gauge32 | +--ro number-of-sessions-up? yang:gauge32 | |||
| +--ro number-of-sessions-down? yang:gauge32 | +--ro number-of-sessions-down? yang:gauge32 | |||
| +--ro number-of-sessions-admin-down? yang:gauge32 | +--ro number-of-sessions-admin-down? yang:gauge32 | |||
| augment /te:te/te:tunnels/te:tunnel: | augment /te:te/te:tunnels/te:tunnel: | |||
| +--rw local-multiplier? multiplier | +--rw local-multiplier? multiplier | |||
| +--rw (interval-config-type)? | +--rw (interval-config-type)? | |||
| | +--:(tx-rx-intervals) | | +--:(tx-rx-intervals) | |||
| | | +--rw desired-min-tx-interval? uint32 | | | +--rw desired-min-tx-interval? uint32 | |||
| | | +--rw required-min-rx-interval? uint32 | | | +--rw required-min-rx-interval? uint32 | |||
| | +--:(single-interval) {single-minimum-interval}? | | +--:(single-interval) {single-minimum-interval}? | |||
| | +--rw min-interval? uint32 | | +--rw min-interval? uint32 | |||
| +--rw demand-enabled? boolean {demand-mode}? | +--rw demand-enabled? boolean {demand-mode}? | |||
| +--rw admin-down? boolean | +--rw admin-down? boolean | |||
| +--rw authentication! {authentication}? | +--rw authentication! {authentication}? | |||
| | +--rw key-chain? kc:key-chain-ref | | +--rw key-chain? kc:key-chain-ref | |||
| | +--rw meticulous? boolean | | +--rw meticulous? boolean | |||
| +--rw encap? identityref | +--rw encap? identityref | |||
| augment /te:te/te:lsps-state/te:lsp: | augment /te:te/te:lsps-state/te:lsp: | |||
| +--ro path-type? identityref | +--ro path-type? identityref | |||
| +--ro ip-encapsulation? boolean | +--ro ip-encapsulation? boolean | |||
| +--ro local-discriminator? discriminator | +--ro local-discriminator? discriminator | |||
| +--ro remote-discriminator? discriminator | +--ro remote-discriminator? discriminator | |||
| +--ro remote-multiplier? multiplier | +--ro remote-multiplier? multiplier | |||
| +--ro demand-capability? boolean {demand-mode}? | +--ro demand-capability? boolean {demand-mode}? | |||
| +--ro source-port? inet:port-number | +--ro source-port? inet:port-number | |||
| +--ro dest-port? inet:port-number | +--ro dest-port? inet:port-number | |||
| +--ro session-running | +--ro session-running | |||
| skipping to change at page 22, line 47 ¶ | skipping to change at page 23, line 26 ¶ | |||
| The following configuration is defined in the "ietf-te" YANG module | The following configuration is defined in the "ietf-te" YANG module | |||
| YANG Data Model for TE Topology [I-D.ietf-teas-yang-te]: | YANG Data Model for TE Topology [I-D.ietf-teas-yang-te]: | |||
| /ietf-te:te/ietf-te:tunnels/ietf-te:tunnel/ietf-te:config/ietf- | /ietf-te:te/ietf-te:tunnels/ietf-te:tunnel/ietf-te:config/ietf- | |||
| te:admin-status | te:admin-status | |||
| If this configuration is not set to "state-up", no BFD MPLS | If this configuration is not set to "state-up", no BFD MPLS | |||
| packets can be transmitted or received on that tunnel. | packets can be transmitted or received on that tunnel. | |||
| 2.12. IANA BFD YANG Module | 2.12. IANA BFD YANG Module | |||
| <CODE BEGINS> file "iana-bfd-types@2018-03-21.yang" | <CODE BEGINS> file "iana-bfd-types@2018-06-01.yang" | |||
| module iana-bfd-types { | module iana-bfd-types { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:iana-bfd-types"; | namespace "urn:ietf:params:xml:ns:yang:iana-bfd-types"; | |||
| prefix "iana-bfd-types"; | prefix "iana-bfd-types"; | |||
| organization "IANA"; | organization "IANA"; | |||
| contact | contact | |||
| " Internet Assigned Numbers Authority | " Internet Assigned Numbers Authority | |||
| Postal: ICANN | Postal: ICANN | |||
| skipping to change at page 23, line 45 ¶ | skipping to change at page 24, line 24 ¶ | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove | // RFC Ed.: replace XXXX with actual RFC number and remove | |||
| // this note | // this note | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: IANA BFD YANG Data Types."; | reference "RFC XXXX: IANA BFD YANG Data Types."; | |||
| } | } | |||
| /* | /* | |||
| * Type Definitions | * Type Definitions | |||
| */ | */ | |||
| typedef diagnostic { | typedef diagnostic { | |||
| type enumeration { | type enumeration { | |||
| enum none { | enum none { | |||
| skipping to change at page 25, line 45 ¶ | skipping to change at page 26, line 25 ¶ | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.13. BFD types YANG Module | 2.13. BFD types YANG Module | |||
| This YANG module imports typedefs from [RFC6991], [RFC8177] and the | This YANG module imports typedefs from [RFC6991], [RFC8177] and the | |||
| "control-plane-protocol" identity from [RFC8349]. | "control-plane-protocol" identity from [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-types@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-types@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import iana-bfd-types { | import iana-bfd-types { | |||
| prefix "iana-bfd-types"; | prefix "iana-bfd-types"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| skipping to change at page 27, line 12 ¶ | skipping to change at page 27, line 44 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | reference "RFC XXXX: YANG Data Model for BFD"; | |||
| } | } | |||
| /* | /* | |||
| * Feature definitions | * Feature definitions | |||
| */ | */ | |||
| feature single-minimum-interval { | feature single-minimum-interval { | |||
| description | description | |||
| "This feature indicates that the server supports configuration | "This feature indicates that the server supports configuration | |||
| skipping to change at page 38, line 25 ¶ | skipping to change at page 39, line 4 ¶ | |||
| description "An index used to uniquely identify BFD sessions."; | description "An index used to uniquely identify BFD sessions."; | |||
| } | } | |||
| leaf path-type { | leaf path-type { | |||
| type identityref { | type identityref { | |||
| base path-type; | base path-type; | |||
| } | } | |||
| description "BFD path type."; | description "BFD path type."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.14. BFD top-level YANG Module | 2.14. 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]. | protocols/control-plane-protocol" from [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX: YANG Data Model for BFD"; | reference "RFC XXXX: YANG Data Model for 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)"; | |||
| } | } | |||
| skipping to change at page 39, line 37 ¶ | skipping to change at page 40, line 18 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | reference "RFC XXXX: YANG Data Model for 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')."; | |||
| skipping to change at page 40, line 24 ¶ | skipping to change at page 40, line 50 ¶ | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.15. BFD IP single-hop YANG Module | 2.15. BFD IP single-hop YANG Module | |||
| This YANG module imports "interface-ref" from [RFC8343], typedefs | This YANG module imports "interface-ref" from [RFC8343], typedefs | |||
| from [RFC6991] and augments "/routing/control-plane-protocols/ | from [RFC6991] and augments "/routing/control-plane-protocols/ | |||
| control-plane-protocol" from [RFC8349]. | control-plane-protocol" from [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-ip-sh@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-ip-sh@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| reference "RFC XXXX: YANG Data Model for 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"; | |||
| skipping to change at page 41, line 38 ¶ | skipping to change at page 42, line 20 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD IP single-hop"; | reference "RFC XXXX: A YANG data model for BFD IP single-hop"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/bfd:bfd" { | + "rt:control-plane-protocol/bfd:bfd" { | |||
| description "BFD augmentation for IP single-hop"; | description "BFD augmentation for IP single-hop"; | |||
| skipping to change at page 43, line 25 ¶ | skipping to change at page 44, line 4 ¶ | |||
| description "Interface to which this BFD session belongs to."; | description "Interface to which this BFD session belongs to."; | |||
| } | } | |||
| leaf echo-enabled { | leaf echo-enabled { | |||
| type boolean; | type boolean; | |||
| description "Was echo enabled for BFD."; | description "Was echo enabled for BFD."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.16. BFD IP multihop YANG Module | 2.16. BFD IP multihop YANG Module | |||
| This YANG module imports typedefs from [RFC6991] and augments | This YANG module imports typedefs from [RFC6991] and augments | |||
| "/routing/control-plane-protocols/control-plane-protocol" from | "/routing/control-plane-protocols/control-plane-protocol" from | |||
| [RFC8349]. | [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-ip-mh@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-ip-mh@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "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 | |||
| (NMDA version)"; | (NMDA version)"; | |||
| skipping to change at page 44, line 43 ¶ | skipping to change at page 45, line 25 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD IP multihop."; | reference "RFC XXXX: A YANG data model for BFD IP multihop."; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/bfd:bfd" { | + "rt:control-plane-protocol/bfd:bfd" { | |||
| description "BFD augmentation for IP multihop."; | description "BFD augmentation for IP multihop."; | |||
| container ip-mh { | container ip-mh { | |||
| description "BFD IP multihop top level container."; | description "BFD IP multihop top level container."; | |||
| uses bfd-types:session-statistics-summary; | uses bfd-types:session-statistics-summary; | |||
| skipping to change at page 46, line 36 ¶ | skipping to change at page 47, line 17 ¶ | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.17. BFD over LAG YANG Module | 2.17. BFD over LAG YANG Module | |||
| This YANG module imports "interface-ref" from [RFC8343], typedefs | This YANG module imports "interface-ref" from [RFC8343], typedefs | |||
| from [RFC6991] and augments "/routing/control-plane-protocols/ | from [RFC6991] and augments "/routing/control-plane-protocols/ | |||
| control-plane-protocol" from [RFC8349]. | control-plane-protocol" from [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-lag@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-lag@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix "if"; | |||
| reference | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | "RFC 8343: A YANG Data Model for Interface Management"; | |||
| (NMDA version)"; | ||||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "RFC 6991: Common YANG Data Types"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| // RFC Ed.: replace XXXX with actual RFC number of | ||||
| // draft-ietf-netmod-rfc8022bis and remove this note. | ||||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for Routing Management"; | "RFC 8349: A YANG Data Model for Routing Management | |||
| (NMDA version)"; | ||||
| } | } | |||
| organization "IETF BFD Working Group"; | organization "IETF BFD Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/bfd> | "WG Web: <http://tools.ietf.org/wg/bfd> | |||
| WG List: <rtg-bfd@ietf.org> | WG List: <rtg-bfd@ietf.org> | |||
| Editors: Reshad Rahman (rrahman@cisco.com), | Editors: Reshad Rahman (rrahman@cisco.com), | |||
| Lianshu Zheng vero.zheng@huawei.com), | Lianshu Zheng vero.zheng@huawei.com), | |||
| skipping to change at page 48, line 5 ¶ | skipping to change at page 48, line 36 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD over LAG"; | reference "RFC XXXX: A YANG data model for BFD over LAG"; | |||
| } | } | |||
| /* | /* | |||
| * Augments | * Augments | |||
| */ | */ | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/bfd:bfd" { | + "rt:control-plane-protocol/bfd:bfd" { | |||
| description "BFD augmentation for LAG"; | description "BFD augmentation for LAG"; | |||
| skipping to change at page 50, line 22 ¶ | skipping to change at page 51, line 4 ¶ | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description "LAG interface name."; | description "LAG interface name."; | |||
| } | } | |||
| leaf member-link { | leaf member-link { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description "Member link on which BFD is running."; | description "Member link on which BFD is running."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.18. BFD over MPLS YANG Module | 2.18. BFD over MPLS YANG Module | |||
| This YANG module imports typedefs from [RFC6991] and augments | This YANG module imports typedefs from [RFC6991] and augments | |||
| "/routing/control-plane-protocols/control-plane-protocol" from | "/routing/control-plane-protocols/control-plane-protocol" from | |||
| [RFC8349]. | [RFC8349]. | |||
| <CODE BEGINS> file "ietf-bfd-mpls@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-mpls@2018-06-01.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"; | |||
| // RFC Ed.: replace occurences of XXXX with actual RFC number and | ||||
| // remove this note | ||||
| import ietf-bfd-types { | import ietf-bfd-types { | |||
| prefix "bfd-types"; | prefix "bfd-types"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| reference "RFC 6991: Common YANG Data Types"; | reference "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 | |||
| (NMDA version)"; | (NMDA version)"; | |||
| } | } | |||
| organization "IETF BFD Working Group"; | organization "IETF BFD Working Group"; | |||
| skipping to change at page 51, line 41 ¶ | skipping to change at page 52, line 25 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | ||||
| // note | ||||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD over MPLS LSPs"; | reference "RFC XXXX: A YANG data model for BFD over MPLS LSPs"; | |||
| } | } | |||
| /* | /* | |||
| * Identity definitions | * Identity definitions | |||
| */ | */ | |||
| identity encap-gach { | identity encap-gach { | |||
| base bfd-types:encap-type; | base bfd-types:encap-type; | |||
| description | description | |||
| skipping to change at page 54, line 24 ¶ | skipping to change at page 55, line 10 ¶ | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.19. BFD over MPLS-TE YANG Module | 2.19. BFD over MPLS-TE YANG Module | |||
| This YANG module imports and augments "/te/tunnels/tunnel" from | This YANG module imports and augments "/te/tunnels/tunnel" from | |||
| [I-D.ietf-teas-yang-te]. | [I-D.ietf-teas-yang-te]. | |||
| <CODE BEGINS> file "ietf-bfd-mpls-te@2018-03-21.yang" | <CODE BEGINS> file "ietf-bfd-mpls-te@2018-06-01.yang" | |||
| module ietf-bfd-mpls-te { | ||||
| yang-version 1.1; | ||||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te"; | module ietf-bfd-mpls-te { | |||
| prefix "bfd-mpls-te"; | yang-version 1.1; | |||
| import ietf-bfd-types { | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te"; | |||
| prefix "bfd-types"; | ||||
| } | ||||
| import ietf-bfd { | prefix "bfd-mpls-te"; | |||
| prefix "bfd"; | ||||
| } | ||||
| import ietf-bfd-mpls { | // RFC Ed.: replace occurences of XXXX with actual RFC number and | |||
| prefix "bfd-mpls"; | // remove this note | |||
| } | ||||
| import ietf-te { | import ietf-bfd-types { | |||
| prefix "te"; | prefix "bfd-types"; | |||
| } | reference "RFC XXXX: YANG Data Model for BFD"; | |||
| } | ||||
| import ietf-routing { | import ietf-bfd { | |||
| prefix "rt"; | prefix "bfd"; | |||
| reference | reference "RFC XXXX: YANG Data Model for BFD"; | |||
| "RFC 8349: A YANG Data Model for Routing Management | } | |||
| (NMDA version)"; | ||||
| } | ||||
| organization "IETF BFD Working Group"; | import ietf-bfd-mpls { | |||
| prefix "bfd-mpls"; | ||||
| reference "RFC XXXX: YANG Data Model for BFD"; | ||||
| } | ||||
| contact | import ietf-te { | |||
| "WG Web: <http://tools.ietf.org/wg/bfd> | prefix "te"; | |||
| WG List: <rtg-bfd@ietf.org> | // RFC Ed.: replace YYYY with actual RFC number of | |||
| // draft-ietf-teas-yang-te and remove this note. | ||||
| reference | ||||
| "RFC YYYY: A YANG Data Model for Traffic Engineering Tunnels and | ||||
| Interfaces"; | ||||
| } | ||||
| Editors: Reshad Rahman (rrahman@cisco.com), | import ietf-routing { | |||
| Lianshu Zheng (vero.zheng@huawei.com), | prefix "rt"; | |||
| Mahesh Jethanandani (mjethanandani@gmail.com)"; | reference | |||
| "RFC 8349: A YANG Data Model for Routing Management | ||||
| (NMDA version)"; | ||||
| } | ||||
| organization "IETF BFD Working Group"; | ||||
| description | contact | |||
| "This module contains the YANG definition for BFD parameters for | "WG Web: <http://tools.ietf.org/wg/bfd> | |||
| MPLS Traffic Engineering as per RFC 5884. | WG List: <rtg-bfd@ietf.org> | |||
| Copyright (c) 2018 IETF Trust and the persons | Editors: Reshad Rahman (rrahman@cisco.com), | |||
| identified as authors of the code. All rights reserved. | Lianshu Zheng (vero.zheng@huawei.com), | |||
| Mahesh Jethanandani (mjethanandani@gmail.com)"; | ||||
| Redistribution and use in source and binary forms, with or | description | |||
| without modification, is permitted pursuant to, and subject | "This module contains the YANG definition for BFD parameters for | |||
| to the license terms contained in, the Simplified BSD License | MPLS Traffic Engineering as per RFC 5884. | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (http://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see | Copyright (c) 2018 IETF Trust and the persons | |||
| the RFC itself for full legal notices."; | identified as authors of the code. All rights reserved. | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | Redistribution and use in source and binary forms, with or | |||
| // note | 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 | ||||
| (http://trustee.ietf.org/license-info). | ||||
| reference "RFC XXXX"; | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | ||||
| revision 2018-03-21 { | reference "RFC XXXX"; | |||
| description "Initial revision."; | ||||
| reference "RFC XXXX: A YANG data model for BFD over MPLS-TE"; | ||||
| } | ||||
| /* | revision 2018-06-01 { | |||
| * Augments | description "Initial revision."; | |||
| */ | reference "RFC XXXX: A YANG data model for BFD over MPLS-TE"; | |||
| augment "/rt:routing/rt:control-plane-protocols/" | } | |||
| + "rt:control-plane-protocol/bfd:bfd" { | ||||
| description "BFD augmentation for MPLS-TE."; | ||||
| container mpls-te { | ||||
| description "BFD MPLS-TE top level container."; | ||||
| container egress { | /* | |||
| description "Egress configuration."; | * Augments | |||
| */ | ||||
| augment "/rt:routing/rt:control-plane-protocols/" | ||||
| + "rt:control-plane-protocol/bfd:bfd" { | ||||
| description "BFD augmentation for MPLS-TE."; | ||||
| container mpls-te { | ||||
| description "BFD MPLS-TE top level container."; | ||||
| uses bfd-types:client-cfg-parms; | container egress { | |||
| description "Egress configuration."; | ||||
| uses bfd-types:auth-parms; | uses bfd-types:client-cfg-parms; | |||
| } | uses bfd-types:auth-parms; | |||
| } | ||||
| uses bfd-types:session-statistics-summary; | uses bfd-types:session-statistics-summary; | |||
| } | } | |||
| } | } | |||
| augment "/te:te/te:tunnels/te:tunnel" { | augment "/te:te/te:tunnels/te:tunnel" { | |||
| description "BFD configuration on MPLS-TE tunnel."; | description "BFD configuration on MPLS-TE tunnel."; | |||
| uses bfd-types:common-cfg-parms; | uses bfd-types:common-cfg-parms; | |||
| uses bfd-mpls:encap-cfg; | uses bfd-mpls:encap-cfg; | |||
| } | } | |||
| augment "/te:te/te:lsps-state/te:lsp" { | augment "/te:te/te:lsps-state/te:lsp" { | |||
| when "/te:te/te:lsps-state/te:lsp/te:origin-type != 'transit'" { | when "/te:te/te:lsps-state/te:lsp/te:origin-type != 'transit'" { | |||
| description "BFD information not needed at transit points."; | description "BFD information not needed at transit points."; | |||
| } | } | |||
| description "BFD state information on MPLS-TE LSP."; | description "BFD state information on MPLS-TE LSP."; | |||
| uses bfd-types:all-session; | uses bfd-types:all-session; | |||
| uses bfd-mpls:mpls-dest-address; | uses bfd-mpls:mpls-dest-address; | |||
| } | } | |||
| /* | /* | |||
| * Notifications | * Notifications | |||
| */ | */ | |||
| notification mpls-te-notification { | notification mpls-te-notification { | |||
| description | description | |||
| "Notification for BFD over MPLS-TE session state change. " + | "Notification for BFD over MPLS-TE session state change. " + | |||
| "An implementation may rate-limit notifications, e.g. when a" + | "An 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; | |||
| uses bfd-mpls:mpls-dest-address; | uses bfd-mpls:mpls-dest-address; | |||
| leaf tunnel-name { | leaf tunnel-name { | |||
| type string; | type string; | |||
| description "MPLS-TE tunnel on which BFD was running."; | description "MPLS-TE tunnel on which BFD was running."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 3. Data Model examples | 3. Data Model examples | |||
| This section presents some simple and illustrative examples on how to | This section presents some simple and illustrative examples on how to | |||
| configure BFD. | configure BFD. | |||
| 3.1. IP single-hop | 3.1. IP single-hop | |||
| The following is an example configuration for a BFD IP single-hop | The following is an example configuration for a BFD IP single-hop | |||
| session. The desired transmit interval and the required receive | session. The desired transmit interval and the required receive | |||
| skipping to change at page 68, line 39 ¶ | skipping to change at page 68, line 39 ¶ | |||
| [I-D.ietf-lime-yang-connectionless-oam] | [I-D.ietf-lime-yang-connectionless-oam] | |||
| Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, | Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, | |||
| "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", draft-ietf-lime-yang- | Connectionless Communications", draft-ietf-lime-yang- | |||
| connectionless-oam-18 (work in progress), November 2017. | connectionless-oam-18 (work in progress), November 2017. | |||
| [I-D.ietf-rtgwg-lne-model] | [I-D.ietf-rtgwg-lne-model] | |||
| Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | |||
| Liu, "YANG Model for Logical Network Elements", draft- | Liu, "YANG Model for Logical Network Elements", draft- | |||
| ietf-rtgwg-lne-model-09 (work in progress), March 2018. | ietf-rtgwg-lne-model-10 (work in progress), March 2018. | |||
| [I-D.ietf-rtgwg-ni-model] | [I-D.ietf-rtgwg-ni-model] | |||
| Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. | |||
| Liu, "YANG Model for Network Instances", draft-ietf-rtgwg- | Liu, "YANG Model for Network Instances", draft-ietf-rtgwg- | |||
| ni-model-11 (work in progress), March 2018. | ni-model-12 (work in progress), March 2018. | |||
| [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>. | |||
| Appendix A. Echo function configuration example | Appendix A. Echo function configuration example | |||
| As mentioned in Section 2.1.2, the mechanism to start and stop the | As mentioned in Section 2.1.2, the mechanism to start and stop the | |||
| echo function, as defined in [RFC5880] and [RFC5881], is | echo function, as defined in [RFC5880] and [RFC5881], is | |||
| implementation specific. In this section we provide an example of | implementation specific. In this section we provide an example of | |||
| how the echo function can be implemented via configuration. | how the echo function can be implemented via configuration. | |||
| module: example-bfd-echo | module: example-bfd-echo | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/bfd:bfd | /rt:control-plane-protocol/bfd:bfd/bfd-ip-sh:ip-sh | |||
| /bfd-ip-sh:ip-sh/bfd-ip-sh:sessions: | /bfd-ip-sh:sessions: | |||
| +--rw echo {bfd-types:echo-mode}? | +--rw echo {bfd-types:echo-mode}? | |||
| +--rw desired-min-echo-tx-interval? uint32 | +--rw desired-min-echo-tx-interval? uint32 | |||
| +--rw required-min-echo-rx-interval? uint32 | +--rw required-min-echo-rx-interval? uint32 | |||
| A.1. Example YANG module for BFD echo function configuration | A.1. Example YANG module for BFD echo function configuration | |||
| module example-bfd-echo { | module example-bfd-echo { | |||
| namespace "tag:example.com,2018:example-bfd-echo"; | namespace "tag:example.com,2018:example-bfd-echo"; | |||
| prefix "example-bfd-echo"; | prefix "example-bfd-echo"; | |||
| skipping to change at page 70, line 22 ¶ | skipping to change at page 70, line 23 ¶ | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see | This version of this YANG module is part of RFC XXXX; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2018-03-21 { | revision 2018-06-01 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG data model example augmentation for BFD echo | "RFC XXXX: A YANG data model example augmentation for BFD echo | |||
| function"; | function"; | |||
| } | } | |||
| // RFC Ed.: replace XXXX with actual RFC number and remove this | // RFC Ed.: replace XXXX with actual RFC number and remove this | |||
| // note | // note | |||
| /* | /* | |||
| skipping to change at page 71, line 28 ¶ | skipping to change at page 71, line 29 ¶ | |||
| uses echo-cfg-parms; | uses echo-cfg-parms; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| Appendix B. Change log | Appendix B. Change log | |||
| RFC Editor: Remove this section upon publication as an RFC. | RFC Editor: Remove this section upon publication as an RFC. | |||
| B.1. Changes between versions -12 and -13 | B.1. Changes between versions -13 and -14 | |||
| o Addressed missing/incorrect references in import statements. | ||||
| B.2. Changes between versions -12 and -13 | ||||
| o Updated references for drafts which became RFCs recently. | o Updated references for drafts which became RFCs recently. | |||
| B.2. Changes between versions -11 and -12 | B.3. Changes between versions -11 and -12 | |||
| o Addressed comments from YANG Doctor review of rev11. | o Addressed comments from YANG Doctor review of rev11. | |||
| B.3. Changes between versions -10 and -11 | B.4. Changes between versions -10 and -11 | |||
| o Added 2 examples. | o Added 2 examples. | |||
| o Added a container around some lists. | o Added a container around some lists. | |||
| o Fixed some indentation nits. | o Fixed some indentation nits. | |||
| B.4. Changes between versions -09 and -10 | B.5. Changes between versions -09 and -10 | |||
| o Addressed comments from YANG Doctor review. | o Addressed comments from YANG Doctor review. | |||
| o Addressed comments from WGLC. | o Addressed comments from WGLC. | |||
| B.5. Changes between versions -08 and -09 | B.6. Changes between versions -08 and -09 | |||
| o Mostly cosmetic changes to abide by draft-ietf-netmod-rfc6087bis. | o Mostly cosmetic changes to abide by draft-ietf-netmod-rfc6087bis. | |||
| o Specified yang-version 1.1. | o Specified yang-version 1.1. | |||
| o Added data model examples. | o Added data model examples. | |||
| o Some minor changes. | o Some minor changes. | |||
| B.6. Changes between versions -07 and -08 | B.7. Changes between versions -07 and -08 | |||
| o Timer intervals in client-cfg-parms are not mandatory anymore. | o Timer intervals in client-cfg-parms are not mandatory anymore. | |||
| o Added list of interfaces under "ip-sh" node for authentication | o Added list of interfaces under "ip-sh" node for authentication | |||
| parameters. | parameters. | |||
| o Renamed replay-protection to meticulous. | o Renamed replay-protection to meticulous. | |||
| B.7. Changes between versions -06 and -07 | B.8. Changes between versions -06 and -07 | |||
| o New ietf-bfd-types module. | o New ietf-bfd-types module. | |||
| o Grouping for BFD clients to have BFD multiplier and interval | o Grouping for BFD clients to have BFD multiplier and interval | |||
| values. | values. | |||
| o Change in ietf-bfd-mpls-te since MPLS-TE model changed. | o Change in ietf-bfd-mpls-te since MPLS-TE model changed. | |||
| o Removed bfd- prefix from many names. | o Removed bfd- prefix from many names. | |||
| B.8. Changes between versions -05 and -06 | B.9. Changes between versions -05 and -06 | |||
| o Adhere to NMDA-guidelines. | o Adhere to NMDA-guidelines. | |||
| o Echo function config moved to appendix as example. | o Echo function config moved to appendix as example. | |||
| o Added IANA YANG modules. | o Added IANA YANG modules. | |||
| o Addressed various comments. | o Addressed various comments. | |||
| B.9. Changes between versions -04 and -05 | B.10. Changes between versions -04 and -05 | |||
| o "bfd" node in augment of control-plane-protocol. | o "bfd" node in augment of control-plane-protocol. | |||
| o Removed augment of network-instance. Replaced by schema-mount. | o Removed augment of network-instance. Replaced by schema-mount. | |||
| o Added information on interaction with other YANG modules. | o Added information on interaction with other YANG modules. | |||
| B.10. Changes between versions -03 and -04 | B.11. Changes between versions -03 and -04 | |||
| o Updated author information. | o Updated author information. | |||
| o Fixed YANG compile error in ietf-bfd-lag.yang which was due to | o Fixed YANG compile error in ietf-bfd-lag.yang which was due to | |||
| incorrect when statement. | incorrect when statement. | |||
| B.11. Changes between versions -02 and -03 | B.12. Changes between versions -02 and -03 | |||
| o Fixed YANG compilation warning due to incorrect revision date in | o Fixed YANG compilation warning due to incorrect revision date in | |||
| ietf-bfd-ip-sh module. | ietf-bfd-ip-sh module. | |||
| B.12. Changes between versions -01 and -02 | B.13. Changes between versions -01 and -02 | |||
| o Replace routing-instance with network-instance from YANG Network | o Replace routing-instance with network-instance from YANG Network | |||
| Instances [I-D.ietf-rtgwg-ni-model] | Instances [I-D.ietf-rtgwg-ni-model] | |||
| B.13. Changes between versions -00 and -01 | B.14. Changes between versions -00 and -01 | |||
| o Remove BFD configuration parameters from BFD clients, all BFD | o Remove BFD configuration parameters from BFD clients, all BFD | |||
| configuration parameters in BFD | configuration parameters in BFD | |||
| o YANG module split in multiple YANG modules (one per type of | o YANG module split in multiple YANG modules (one per type of | |||
| forwarding path) | forwarding path) | |||
| o For BFD over MPLS-TE we augment MPLS-TE model | o For BFD over MPLS-TE we augment MPLS-TE model | |||
| o For BFD authentication we now use YANG Data Model for Key Chains | o For BFD authentication we now use YANG Data Model for Key Chains | |||
| End of changes. 123 change blocks. | ||||
| 455 lines changed or deleted | 492 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/ | ||||