| < draft-ietf-bfd-yang-01.txt | draft-ietf-bfd-yang-02.txt > | |||
|---|---|---|---|---|
| Network Working Group L. Zheng, Ed. | Network Working Group L. Zheng, Ed. | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track R. Rahman, Ed. | Intended status: Standards Track R. Rahman, Ed. | |||
| Expires: August 20, 2016 Cisco Systems | Expires: January 8, 2017 Cisco Systems | |||
| S. Pallagatti | S. Pallagatti | |||
| M. Jethanandani | M. Jethanandani | |||
| Cisco Systems | Cisco Systems | |||
| G. Mirsky | G. Mirsky | |||
| Ericsson | Ericsson | |||
| February 17, 2016 | July 7, 2016 | |||
| Yang Data Model for Bidirectional Forwarding Detection (BFD) | Yang Data Model for Bidirectional Forwarding Detection (BFD) | |||
| draft-ietf-bfd-yang-01.txt | draft-ietf-bfd-yang-02.txt | |||
| 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). | |||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 August 20, 2016. | This Internet-Draft will expire on January 8, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 44 ¶ | skipping to change at page 2, line 44 ¶ | |||
| 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 8 | 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 8 | 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 8 | |||
| 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 9 | 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 9 | |||
| 2.7. BFD IP multi-hop hierarchy . . . . . . . . . . . . . . . 11 | 2.7. BFD IP multi-hop hierarchy . . . . . . . . . . . . . . . 11 | |||
| 2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 13 | 2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 13 | |||
| 2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 15 | 2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 15 | |||
| 2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 17 | 2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 17 | |||
| 2.11. Examples . . . . . . . . . . . . . . . . . . . . . . . . 19 | 2.11. Examples . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 2.12. Interaction with other YANG modules . . . . . . . . . . . 19 | 2.12. Interaction with other YANG modules . . . . . . . . . . . 19 | |||
| 2.13. BFD top-level Yang Module . . . . . . . . . . . . . . . . 19 | 2.13. BFD top-level Yang Module . . . . . . . . . . . . . . . . 19 | |||
| 2.14. BFD IP single-hop Yang Module . . . . . . . . . . . . . . 32 | 2.14. BFD IP single-hop Yang Module . . . . . . . . . . . . . . 31 | |||
| 2.15. BFD IP multi-hop Yang Module . . . . . . . . . . . . . . 35 | 2.15. BFD IP multi-hop Yang Module . . . . . . . . . . . . . . 34 | |||
| 2.16. BFD over LAG Yang Module . . . . . . . . . . . . . . . . 38 | 2.16. BFD over LAG Yang Module . . . . . . . . . . . . . . . . 37 | |||
| 2.17. BFD over MPLS Yang Module . . . . . . . . . . . . . . . . 41 | 2.17. BFD over MPLS Yang Module . . . . . . . . . . . . . . . . 41 | |||
| 2.18. BFD over MPLS-TEYang Module . . . . . . . . . . . . . . . 45 | 2.18. BFD over MPLS-TE Yang Module . . . . . . . . . . . . . . 44 | |||
| 2.19. Security Considerations . . . . . . . . . . . . . . . . . 47 | 2.19. Security Considerations . . . . . . . . . . . . . . . . . 46 | |||
| 2.20. IANA Considerations . . . . . . . . . . . . . . . . . . . 47 | 2.20. IANA Considerations . . . . . . . . . . . . . . . . . . . 47 | |||
| 2.21. Acknowledgements . . . . . . . . . . . . . . . . . . . . 47 | 2.21. Acknowledgements . . . . . . . . . . . . . . . . . . . . 47 | |||
| 3. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 | 3. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 | |||
| 3.1. Normative References . . . . . . . . . . . . . . . . . . 47 | 3.1. Normative References . . . . . . . . . . . . . . . . . . 47 | |||
| 3.2. Informative References . . . . . . . . . . . . . . . . . 49 | 3.2. Informative References . . . . . . . . . . . . . . . . . 48 | |||
| Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 49 | Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 49 | |||
| A.1. Changes between versions -00 and -01 . . . . . . . . . . 49 | A.1. Changes between versions -01 and -02 . . . . . . . . . . 49 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 50 | A.2. Changes between versions -00 and -01 . . . . . . . . . . 49 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 49 | ||||
| 1. Introduction | 1. Introduction | |||
| YANG [RFC6020] is a data definition language that was introduced to | YANG [RFC6020] is a data definition language that was introduced to | |||
| define the contents of a conceptual data store that allows networked | define the contents of a conceptual data store that allows networked | |||
| devices to be managed using NETCONF [RFC6241]. YANG is proving | devices to be managed using NETCONF [RFC6241]. YANG is proving | |||
| relevant beyond its initial confines, as bindings to other interfaces | relevant beyond its initial confines, as bindings to other interfaces | |||
| (e.g RESTCONF [I-D.ietf-netconf-restconf]) and encodings other than | (e.g RESTCONF [I-D.ietf-netconf-restconf]) and encodings other than | |||
| XML (e.g JSON) are being defined. Furthermore, YANG data models can | XML (e.g JSON) are being defined. Furthermore, YANG data models can | |||
| be used as the basis of implementation for other interfaces, such as | be used as the basis of implementation for other interfaces, such as | |||
| skipping to change at page 4, line 23 ¶ | skipping to change at page 4, line 23 ¶ | |||
| single-hop is in one YANG module and BFD for MPLS-TE is in another | single-hop is in one YANG module and BFD for MPLS-TE is in another | |||
| YANG module. The main difference between these modules is how a BFD | YANG module. The main difference between these modules is how a BFD | |||
| session is uniquely identified, i.e the key for the list containing | session is uniquely identified, i.e the key for the list containing | |||
| 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 which are used by | BFD definitions, we have common types and groupings which are used by | |||
| all the modules. | all the modules. | |||
| The new top-level container "bfd" is augmented by all the YANG | The new top-level container "bfd" is augmented by all the YANG | |||
| modules for their respective specific information. | modules for their respective specific information. | |||
| The "routing-protocol" data node in [I-D.ietf-netmod-routing-cfg] has | The "network-instance" data node in [I-D.ietf-rtgwg-ni-model] has | |||
| been augmented with the "bfd" data node. Where appropriate for | been augmented with the "bfd" data node. Where appropriate for | |||
| specific types of forwarding path, the respective BFD YANG modules | specific types of forwarding path, the respective BFD YANG modules | |||
| follow a VRF-centric model by augmenting that new "bfd" node under | follow a VRF-centric model by augmenting that new "bfd" node under | |||
| "routing-protocol". | "network-instance". | |||
| Each node in every "bfd" sub-tree has a "config" node and an "oper" | Each node in every "bfd" sub-tree has a "config" node and an "oper" | |||
| node. | node. | |||
| 2.1. Design of Configuration Model | 2.1. Design of Configuration Model | |||
| The configuration model consists mainly of the parameters specified | The configuration model consists mainly of the parameters specified | |||
| in [RFC5880]. Some examples are desired minimum transmit interval, | in [RFC5880]. Some examples are desired minimum transmit interval, | |||
| required minimum receive interval, detection multiplier, etc | required minimum receive interval, detection multiplier, etc | |||
| skipping to change at page 6, line 8 ¶ | skipping to change at page 6, line 8 ¶ | |||
| algotihms, key lifetime etc are all defined in the key-chain | algotihms, key lifetime etc are all defined in the key-chain | |||
| model. | model. | |||
| replay-protection | replay-protection | |||
| This specifies meticulous v/s non-meticulous mode as per | This specifies meticulous v/s non-meticulous mode as per | |||
| [RFC5880]. | [RFC5880]. | |||
| 2.1.2. Single-hop IP | 2.1.2. Single-hop IP | |||
| For single-hop IP, there is an augment of the "bfd" data node under | For single-hop IP, there is an augment of the "bfd" data node under | |||
| "routing-protocol" in Section 2. We have a list of IP single-hop | "network-instance" in Section 2. We have a list of IP single-hop | |||
| sessions where each session is uniquely identified by the interface | sessions where each session is uniquely identified by the interface | |||
| and destination address pair. For the configuration parameters we | and destination address pair. For the configuration parameters we | |||
| use what is defined in Section 2.1.1 | use what is defined in Section 2.1.1 | |||
| 2.1.3. Multi-hop IP | 2.1.3. Multi-hop IP | |||
| For multi-hop IP, there is an augment of the "bfd" data node under | For multi-hop IP, there is an augment of the "bfd" data node under | |||
| "routing-protocol" in Section 2. | "network-instance" in Section 2. | |||
| We have a list for BFD sessions over multi-hop IP. The key consists | We have a list for BFD sessions over multi-hop IP. The key consists | |||
| of: | of: | |||
| source address | source address | |||
| Address belonging to the local system as per [RFC5883] | Address belonging to the local system as per [RFC5883] | |||
| destination address | destination address | |||
| Address belonging to the remote system as per [RFC5883] | Address belonging to the remote system as per [RFC5883] | |||
| skipping to change at page 8, line 26 ¶ | skipping to change at page 8, line 26 ¶ | |||
| destination to test the various paths (ECMP) to the destination. | destination to test the various paths (ECMP) to the destination. | |||
| Each of the BFD sessions on the same virtual path is uniquely | Each of the BFD sessions on the same virtual path is uniquely | |||
| identified by the local discriminator. | identified by the local discriminator. | |||
| 2.3. Notifications | 2.3. Notifications | |||
| This YANG model defines notifications to inform clients of BFD of | This YANG model defines notifications to inform clients of BFD of | |||
| important events detected during the protocol operation. Pair of | important events detected during the protocol operation. Pair of | |||
| local and remote discriminator identifies a BFD session on local | local and remote discriminator identifies a BFD session on local | |||
| system. Notifications also give more important details about BFD | system. Notifications also give more important details about BFD | |||
| sessions; e.g. new state, time in previous state, routing-instance | sessions; e.g. new state, time in previous state, network-instance | |||
| and the reason that the BFD session state changed. The notifications | and the reason that the BFD session state changed. The notifications | |||
| are defined for each type of forwarding path but use groupings for | are defined for each type of forwarding path but use groupings for | |||
| common information. | common information. | |||
| 2.4. RPC Operations | 2.4. RPC Operations | |||
| TBD | TBD | |||
| 2.5. BFD top level hierarchy | 2.5. BFD top level hierarchy | |||
| At the top level there is no configuration data, only operational | At the top level there is no configuration data, only operational | |||
| data. The operational data consist of overall BFD session statistics | data. The operational data consist of overall BFD session statistics | |||
| globally and per routing-instance | globally and per network-instance | |||
| module: ietf-bfd | module: ietf-bfd | |||
| +--rw bfd! | +--rw bfd! | |||
| +--rw config | +--rw config | |||
| +--ro oper | +--ro oper | |||
| +--ro bfd-session-statistics | +--ro bfd-session-statistics | |||
| +--ro session-count? uint32 | +--ro session-count? uint32 | |||
| +--ro session-up-count? uint32 | +--ro session-up-count? uint32 | |||
| +--ro session-down-count? uint32 | +--ro session-down-count? uint32 | |||
| +--ro session-admin-down-count? uint32 | +--ro session-admin-down-count? uint32 | |||
| augment /rt:routing/rt:routing-instance | augment /ni:network-instances/ni:network-instance: | |||
| /rt:routing-protocols/rt:routing-protocol: | ||||
| +--rw bfd! | +--rw bfd! | |||
| +--rw config | +--rw config | |||
| +--ro oper | +--ro oper | |||
| +--ro bfd-session-statistics | +--ro bfd-session-statistics | |||
| +--ro session-count? uint32 | +--ro session-count? uint32 | |||
| +--ro session-up-count? uint32 | +--ro session-up-count? uint32 | |||
| +--ro session-down-count? uint32 | +--ro session-down-count? uint32 | |||
| +--ro session-admin-down-count? uint32 | +--ro session-admin-down-count? uint32 | |||
| 2.6. BFD IP single-hop hierarchy | 2.6. BFD IP single-hop hierarchy | |||
| The configuration and operational data for each BFD IP single-hop | The configuration and operational data for each BFD IP single-hop | |||
| session is under "ip-sh" node under routing-instance. Overall BFD IP | session is under "ip-sh" node under network-instance. Overall BFD IP | |||
| single-hop session statistics are available per routing-instance and | single-hop session statistics are available per network-instance and | |||
| globally (for all routing instances). | globally (for all network instances). | |||
| module: ietf-bfd-ip-sh | module: ietf-bfd-ip-sh | |||
| augment /bfd:bfd: | augment /bfd:bfd: | |||
| +--rw ip-sh | +--rw ip-sh | |||
| +--rw config | +--rw config | |||
| +--ro oper | +--ro oper | |||
| +--ro bfd-session-statistics | +--ro bfd-session-statistics | |||
| +--ro session-count? uint32 | +--ro session-count? uint32 | |||
| +--ro session-up-count? uint32 | +--ro session-up-count? uint32 | |||
| +--ro session-down-count? uint32 | +--ro session-down-count? uint32 | |||
| +--ro session-admin-down-count? uint32 | +--ro session-admin-down-count? uint32 | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols | augment /ni:network-instances/ni:network-instance/bfd:bfd: | |||
| /rt:routing-protocol/bfd:bfd: | ||||
| +--rw ip-sh | +--rw ip-sh | |||
| +--rw config | +--rw config | |||
| | +--rw session-cfg | | +--rw session-cfg | |||
| | +--rw sessions* [interface dest-addr] | | +--rw sessions* [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? bfd-multiplier | | +--rw local-multiplier? bfd-multiplier | |||
| | +--rw (interval-config-type)? | | +--rw (interval-config-type)? | |||
| | | +--:(tx-rx-intervals) | | | +--:(tx-rx-intervals) | |||
| skipping to change at page 11, line 24 ¶ | skipping to change at page 11, line 22 ¶ | |||
| +--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 multi-hop hierarchy | 2.7. BFD IP multi-hop hierarchy | |||
| The configuration and operational data for each BFD IP multi-hop | The configuration and operational data for each BFD IP multi-hop | |||
| session is under "ip-mh" node under routing-instance. In the | session is under "ip-mh" node under network-instance. In the | |||
| operational model we support multiple BFD multi-hop sessions per | operational model we support multiple BFD multi-hop sessions per | |||
| remote address (ECMP), the local discriminator is used as key. | remote address (ECMP), the local discriminator is used as key. | |||
| Overall BFD IP multi-hop session statistics are available per | Overall BFD IP multi-hop session statistics are available per | |||
| routing-instance and globally (for all routing instances). | network-instance and globally (for all network instances). | |||
| module: ietf-bfd-ip-mh | module: ietf-bfd-ip-mh | |||
| augment /bfd:bfd: | augment /bfd:bfd: | |||
| +--rw ip-mh | +--rw ip-mh | |||
| +--rw config | +--rw config | |||
| +--ro oper | +--ro oper | |||
| +--ro bfd-session-statistics | +--ro bfd-session-statistics | |||
| +--ro session-count? uint32 | +--ro session-count? uint32 | |||
| +--ro session-up-count? uint32 | +--ro session-up-count? uint32 | |||
| +--ro session-down-count? uint32 | +--ro session-down-count? uint32 | |||
| +--ro session-admin-down-count? uint32 | +--ro session-admin-down-count? uint32 | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols | augment /ni:network-instances/ni:network-instance/bfd:bfd: | |||
| /rt:routing-protocol/bfd:bfd: | ||||
| +--rw ip-mh | +--rw ip-mh | |||
| +--rw config | +--rw config | |||
| | +--rw session-cfg | | +--rw session-cfg | |||
| | +--rw sessions* [source-addr dest-addr] | | +--rw sessions* [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? bfd-multiplier | | +--rw local-multiplier? bfd-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 | |||
| skipping to change at page 13, line 7 ¶ | skipping to change at page 13, line 4 ¶ | |||
| +--ro sesssion-statistics | +--ro sesssion-statistics | |||
| +--ro create-time? yang:date-and-time | +--ro create-time? yang:date-and-time | |||
| +--ro last-down-time? yang:date-and-time | +--ro last-down-time? yang:date-and-time | |||
| +--ro last-up-time? yang:date-and-time | +--ro last-up-time? yang:date-and-time | |||
| +--ro down-count? uint32 | +--ro down-count? uint32 | |||
| +--ro admin-down-count? uint32 | +--ro admin-down-count? uint32 | |||
| +--ro receive-packet-count? uint64 | +--ro receive-packet-count? uint64 | |||
| +--ro send-packet-count? uint64 | +--ro send-packet-count? uint64 | |||
| +--ro receive-bad-packet? uint64 | +--ro receive-bad-packet? uint64 | |||
| +--ro send-failed-packet? uint64 | +--ro send-failed-packet? uint64 | |||
| notifications: | notifications: | |||
| +---n bfd-multihop-notification | +---n bfd-multihop-notification | |||
| +--ro local-discr? bfd-discriminator | +--ro local-discr? bfd-discriminator | |||
| +--ro remote-discr? bfd-discriminator | +--ro remote-discr? bfd-discriminator | |||
| +--ro new-state? bfd-state | +--ro new-state? bfd-state | |||
| +--ro state-change-reason? string | +--ro state-change-reason? string | |||
| +--ro time-in-previous-state? string | +--ro time-in-previous-state? string | |||
| +--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 routing-instance? rt:routing-instance-ref | +--ro network-instance? string | |||
| 2.8. BFD over LAG hierarchy | 2.8. BFD over LAG hierarchy | |||
| The configuration and operational data for each BFD LAG session is | The configuration and operational data for each BFD LAG session is | |||
| under "lag" node. Overall BFD LAG session statistics are available | under "lag" node. Overall BFD LAG session statistics are available | |||
| globally. | globally. | |||
| module: ietf-bfd-lag | module: ietf-bfd-lag | |||
| augment /bfd:bfd: | augment /bfd:bfd: | |||
| +--rw lag | +--rw lag | |||
| skipping to change at page 15, line 51 ¶ | skipping to change at page 15, line 48 ¶ | |||
| +--ro lag-name? if:interface-ref | +--ro lag-name? if:interface-ref | |||
| +--ro member-link? if:interface-ref | +--ro member-link? if:interface-ref | |||
| 2.9. BFD over MPLS LSPs hierarchy | 2.9. BFD over MPLS LSPs hierarchy | |||
| The configuration is per MPLS FEC under "mpls". In the operational | The configuration is per MPLS FEC under "mpls". In the operational | |||
| model we support multiple BFD sessions per MPLS FEC (ECMP), the local | model we support multiple BFD sessions per MPLS FEC (ECMP), the local | |||
| discriminator is used as key. | discriminator is used as key. | |||
| module: ietf-bfd-mpls | module: ietf-bfd-mpls | |||
| module: ietf-bfd-mpls | ||||
| augment /bfd:bfd: | augment /bfd:bfd: | |||
| +--rw mpls | +--rw mpls | |||
| +--rw config | +--rw config | |||
| | +--rw egress | | +--rw egress | |||
| | +--rw local-multiplier? bfd-multiplier | | +--rw local-multiplier? bfd-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-interval) | |||
| | | +--rw min-interval uint32 | | | +--rw min-interval uint32 | |||
| | +--rw authentication-parms! {bfd-authentication}? | | +--rw authentication-parms! {bfd-authentication}? | |||
| | +--rw key-chain? kc:key-chain-ref | | +--rw key-chain? kc:key-chain-ref | |||
| | +--rw replay-protection? identityref | | +--rw replay-protection? identityref | |||
| +--ro oper | +--ro oper | |||
| +--ro bfd-session-statistics | +--ro bfd-session-statistics | |||
| +--ro session-count? uint32 | +--ro session-count? uint32 | |||
| +--ro session-up-count? uint32 | +--ro session-up-count? uint32 | |||
| +--ro session-down-count? uint32 | +--ro session-down-count? uint32 | |||
| +--ro session-admin-down-count? uint32 | +--ro session-admin-down-count? uint32 | |||
| augment /rt:routing/rt:routing-instance/rt:routing-protocols | augment /ni:network-instances/ni:network-instance/bfd:bfd: | |||
| /rt:routing-protocol/bfd:bfd: | ||||
| +--rw mpls | +--rw mpls | |||
| +--rw config | +--rw config | |||
| | +--rw session-cfg | | +--rw session-cfg | |||
| | +--rw sessions* [mpls-fec] | | +--rw sessions* [mpls-fec] | |||
| | +--rw mpls-fec inet:ip-address | | +--rw mpls-fec inet:ip-address | |||
| | +--rw local-multiplier? bfd-multiplier | | +--rw local-multiplier? bfd-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 | |||
| skipping to change at page 17, line 44 ¶ | skipping to change at page 17, line 41 ¶ | |||
| +---n bfd-mpls-notification | +---n bfd-mpls-notification | |||
| +--ro local-discr? bfd-discriminator | +--ro local-discr? bfd-discriminator | |||
| +--ro remote-discr? bfd-discriminator | +--ro remote-discr? bfd-discriminator | |||
| +--ro new-state? bfd-state | +--ro new-state? bfd-state | |||
| +--ro state-change-reason? string | +--ro state-change-reason? string | |||
| +--ro time-in-previous-state? string | +--ro time-in-previous-state? string | |||
| +--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 routing-instance? rt:routing-instance-ref | +--ro network-instance? string | |||
| +--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 | |||
| The MPLS-TE YANG model [I-D.ietf-teas-yang-te] is augmented. BFD is | The MPLS-TE YANG model [I-D.ietf-teas-yang-te] is augmented. BFD is | |||
| configured per MPLS-TE tunnel, and BFD session operational data is | configured per MPLS-TE tunnel, and BFD session operational data is | |||
| provided per MPLS-TE LSP. | provided per MPLS-TE LSP. | |||
| module: ietf-bfd-mpls-te | module: ietf-bfd-mpls-te | |||
| augment /bfd:bfd: | augment /bfd:bfd: | |||
| +--rw mpls-te | +--rw mpls-te | |||
| +--rw config | +--rw config | |||
| | +--rw egress | | +--rw egress | |||
| | +--rw local-multiplier? bfd-multiplier | | +--rw local-multiplier? bfd-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-interval) | |||
| | | +--rw min-interval uint32 | | | +--rw min-interval uint32 | |||
| skipping to change at page 19, line 44 ¶ | skipping to change at page 19, line 42 ¶ | |||
| +--ro tunnel-name? string | +--ro tunnel-name? string | |||
| 2.11. Examples | 2.11. Examples | |||
| 2.12. Interaction with other YANG modules | 2.12. Interaction with other YANG modules | |||
| TBD. | TBD. | |||
| 2.13. BFD top-level Yang Module | 2.13. BFD top-level Yang Module | |||
| <CODE BEGINS> file "ietf-bfd@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd@2016-07-04.yang" | |||
| module ietf-bfd { | module ietf-bfd { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd"; | prefix "bfd"; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix "if"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-network-instance { | ||||
| prefix "ni"; | ||||
| } | ||||
| import ietf-key-chain { | import ietf-key-chain { | |||
| prefix "kc"; | prefix "kc"; | |||
| } | } | |||
| 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> | |||
| WG Chair: Jeff Haas | WG Chair: Jeff Haas | |||
| WG Chair: Reshad Rahman | WG Chair: Reshad Rahman | |||
| Editor: Lianshu Zheng and Reshad Rahman"; | Editor: Lianshu Zheng and Reshad Rahman"; | |||
| description | description | |||
| "This module contains the YANG definition for BFD parameters as | "This module contains the YANG definition for BFD parameters as | |||
| per RFC5880."; | per RFC5880."; | |||
| revision 2016-02-17 { | revision 2016-07-04 { | |||
| description | ||||
| "* Split in several modules | ||||
| * This module contains common definitions and | ||||
| summary information."; | ||||
| reference "RFC XXXX: A YANG data model for BFD"; | ||||
| } | ||||
| revision 2015-07-01 { | ||||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD"; | reference "RFC XXXX: A YANG data model for BFD"; | |||
| } | } | |||
| identity bfd { | identity bfd { | |||
| base "rt:routing-protocol"; | base "rt:routing-protocol"; | |||
| description "BFD protocol"; | description "BFD protocol"; | |||
| } | } | |||
| typedef bfd-discriminator { | typedef bfd-discriminator { | |||
| type uint32 { | type uint32 { | |||
| range 1..4294967295; | range 1..4294967295; | |||
| } | } | |||
| description "BFD discriminator"; | description "BFD discriminator"; | |||
| } | } | |||
| typedef bfd-diagnostic { | typedef bfd-diagnostic { | |||
| type enumeration { | type enumeration { | |||
| enum none { | enum none { | |||
| value 0; | value 0; | |||
| description "None"; | description "None"; | |||
| } | } | |||
| enum controlExpiry { | enum controlExpiry { | |||
| value 1; | value 1; | |||
| skipping to change at page 31, line 9 ¶ | skipping to change at page 31, 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 bfd-path-type; | base bfd-path-type; | |||
| } | } | |||
| description "BFD path type"; | description "BFD path type"; | |||
| } | } | |||
| } | } | |||
| augment "/ni:network-instances/ni:network-instance" { | ||||
| augment "/rt:routing/rt:routing-instance/rt:routing-protocols/" | ||||
| + "rt:routing-protocol" { | ||||
| when "rt:type = 'bfd:bfd'" { | ||||
| description | ||||
| "This augment is only valid for a protocol instance | ||||
| of BFD."; | ||||
| } | ||||
| description "BFD augmentation."; | description "BFD augmentation."; | |||
| container bfd { | container bfd { | |||
| presence "BFD"; | presence "BFD"; | |||
| description "BFD top level container"; | description "BFD top level container"; | |||
| container config { | container config { | |||
| description "BFD configuration container"; | description "BFD configuration container"; | |||
| } | } | |||
| container oper { | container oper { | |||
| skipping to change at page 32, line 7 ¶ | skipping to change at page 31, line 41 ¶ | |||
| config "false"; | config "false"; | |||
| description "BFD operational container."; | description "BFD operational container."; | |||
| uses bfd-session-statistics; | uses bfd-session-statistics; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.14. BFD IP single-hop Yang Module | 2.14. BFD IP single-hop Yang Module | |||
| <CODE BEGINS> file "ietf-bfd-ip-sh@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd-ip-sh@2016-07-04.yang" | |||
| module ietf-bfd-ip-sh { | module 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"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-ip-sh"; | prefix "bfd-ip-sh"; | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix "if"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-routing { | import ietf-network-instance { | |||
| prefix "rt"; | prefix "ni"; | |||
| } | } | |||
| 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> | |||
| WG Chair: Jeff Haas | WG Chair: Jeff Haas | |||
| WG Chair: Reshad Rahman | WG Chair: Reshad Rahman | |||
| Editor: Lianshu Zheng and Reshad Rahman"; | Editor: Lianshu Zheng and Reshad Rahman"; | |||
| description | description | |||
| "This module contains the YANG definition for BFD IP single-hop | "This module contains the YANG definition for BFD IP single-hop | |||
| as per RFC5881."; | as per RFC5881."; | |||
| revision 2016-02-17 { | revision 2016-01-04 { | |||
| 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"; | |||
| } | } | |||
| augment "/bfd:bfd" { | augment "/bfd:bfd" { | |||
| description "BFD augmentation for IP single-hop"; | description "BFD augmentation for IP single-hop"; | |||
| container ip-sh { | container ip-sh { | |||
| description "BFD IP single-hop top level container"; | description "BFD IP single-hop top level container"; | |||
| container config { | container config { | |||
| description "BFD IP single-hop configuration container"; | description "BFD IP single-hop configuration container"; | |||
| } | } | |||
| container oper { | container oper { | |||
| config "false"; | config "false"; | |||
| description "BFD IP single-hop operational container"; | description "BFD IP single-hop operational container"; | |||
| uses bfd:bfd-session-statistics; | uses bfd:bfd-session-statistics; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| augment "/rt:routing/rt:routing-instance/rt:routing-protocols/" | augment "/ni:network-instances/ni:network-instance/bfd:bfd" { | |||
| + "rt:routing-protocol/bfd:bfd" { | ||||
| description "BFD augmentation for IP single-hop."; | description "BFD augmentation for IP single-hop."; | |||
| container ip-sh { | container ip-sh { | |||
| description "BFD IP single-hop container"; | description "BFD IP single-hop container"; | |||
| container config { | container config { | |||
| description "BFD configuration"; | description "BFD configuration"; | |||
| container session-cfg { | container session-cfg { | |||
| description "BFD IP single-hop session configuration"; | description "BFD IP single-hop session configuration"; | |||
| list sessions { | list sessions { | |||
| key "interface dest-addr"; | key "interface dest-addr"; | |||
| description "List of IP single-hop sessions"; | description "List of IP single-hop sessions"; | |||
| skipping to change at page 35, line 7 ¶ | skipping to change at page 34, line 41 ¶ | |||
| type boolean; | type boolean; | |||
| description "Was echo enabled for BFD"; | description "Was echo enabled for BFD"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.15. BFD IP multi-hop Yang Module | 2.15. BFD IP multi-hop Yang Module | |||
| <CODE BEGINS> file "ietf-bfd-ip-mh@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd-ip-mh@2016-07-04.yang" | |||
| module ietf-bfd-ip-mh { | module 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"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-ip-mh"; | prefix "bfd-ip-mh"; | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| skipping to change at page 35, line 19 ¶ | skipping to change at page 35, line 4 ¶ | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-ip-mh"; | prefix "bfd-ip-mh"; | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-routing { | import ietf-network-instance { | |||
| prefix "rt"; | prefix "ni"; | |||
| } | } | |||
| 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> | |||
| WG Chair: Jeff Haas | WG Chair: Jeff Haas | |||
| WG Chair: Reshad Rahman | WG Chair: Reshad Rahman | |||
| Editor: Lianshu Zheng and Reshad Rahman"; | Editor: Lianshu Zheng and Reshad Rahman"; | |||
| description | description | |||
| "This module contains the YANG definition for BFD IP multi-hop | "This module contains the YANG definition for BFD IP multi-hop | |||
| asper RFC5883."; | asper RFC5883."; | |||
| revision 2016-02-17 { | revision 2016-07-04 { | |||
| description "Initial revision."; | description "Initial revision."; | |||
| reference "RFC XXXX: A YANG data model for BFD IP multi-hop"; | reference "RFC XXXX: A YANG data model for BFD IP multi-hop"; | |||
| } | } | |||
| augment "/bfd:bfd" { | augment "/bfd:bfd" { | |||
| description "BFD augmentation for IP multi-hop"; | description "BFD augmentation for IP multi-hop"; | |||
| container ip-mh { | container ip-mh { | |||
| description "BFD IP multi-hop top level container"; | description "BFD IP multi-hop top level container"; | |||
| container config { | container config { | |||
| description "BFD IP multi-hop configuration container"; | description "BFD IP multi-hop configuration container"; | |||
| } | } | |||
| container oper { | container oper { | |||
| config "false"; | config "false"; | |||
| description "BFD IP multi-hop operational container"; | description "BFD IP multi-hop operational container"; | |||
| uses bfd:bfd-session-statistics; | uses bfd:bfd-session-statistics; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| augment "/rt:routing/rt:routing-instance/rt:routing-protocols/" | augment "/ni:network-instances/ni:network-instance/bfd:bfd" { | |||
| + "rt:routing-protocol/bfd:bfd" { | ||||
| when "rt:type = 'bfd:bfd'" { | ||||
| description | ||||
| "This augment is only valid for a protocol instance | ||||
| of BFD."; | ||||
| } | ||||
| description "BFD augmentation for IP multi-hop."; | description "BFD augmentation for IP multi-hop."; | |||
| container ip-mh { | container ip-mh { | |||
| description "BFD IP multi-hop container"; | description "BFD IP multi-hop container"; | |||
| container config { | container config { | |||
| description "BFD configuration"; | description "BFD configuration"; | |||
| container session-cfg { | container session-cfg { | |||
| description "BFD IP multi-hop session configuration"; | description "BFD IP multi-hop session configuration"; | |||
| list sessions { | list sessions { | |||
| skipping to change at page 38, line 11 ¶ | skipping to change at page 37, line 39 ¶ | |||
| } | } | |||
| notification bfd-multihop-notification { | notification bfd-multihop-notification { | |||
| description | description | |||
| "Notification for BFD multi-hop session state change. An " + | "Notification for BFD multi-hop 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:bfd-notification-parms; | uses bfd:bfd-notification-parms; | |||
| leaf routing-instance { | leaf network-instance { | |||
| type rt:routing-instance-ref; | type string; | |||
| description "Routing instance"; | description "Network instance"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.16. BFD over LAG Yang Module | 2.16. BFD over LAG Yang Module | |||
| <CODE BEGINS> file "ietf-bfd-lag@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd-lag@2016-02-17.yang" | |||
| module ietf-bfd-lag { | module ietf-bfd-lag { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-lag"; | prefix "bfd-lag"; | |||
| skipping to change at page 41, line 22 ¶ | skipping to change at page 41, line 4 ¶ | |||
| leaf lag-name { | leaf lag-name { | |||
| 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.17. BFD over MPLS Yang Module | 2.17. BFD over MPLS Yang Module | |||
| <CODE BEGINS> file "ietf-bfd-mpls@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd-mpls@2016-07-04.yang" | |||
| module ietf-bfd-mpls { | module ietf-bfd-mpls { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-mpls"; | prefix "bfd-mpls"; | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| } | } | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-routing { | import ietf-network-instance { | |||
| prefix "rt"; | prefix "ni"; | |||
| } | } | |||
| 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> | |||
| WG Chair: Jeff Haas | WG Chair: Jeff Haas | |||
| WG Chair: Reshad Rahman | WG Chair: Reshad Rahman | |||
| Editor: Lianshu Zheng and Reshad Rahman"; | Editor: Lianshu Zheng and Reshad Rahman"; | |||
| description | description | |||
| "This module contains the YANG definition for BFD parameters for | "This module contains the YANG definition for BFD parameters for | |||
| MPLS LSPs as per RFC5884."; | MPLS LSPs as per RFC5884."; | |||
| revision 2016-02-17 { | revision 2016-07-04 { | |||
| 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 bfd-encap-gach { | identity bfd-encap-gach { | |||
| base bfd:bfd-encap-type; | base bfd:bfd-encap-type; | |||
| description | description | |||
| "BFD with G-ACh encapsulation as per RFC5586."; | "BFD with G-ACh encapsulation as per RFC5586."; | |||
| } | } | |||
| skipping to change at page 43, line 27 ¶ | skipping to change at page 43, line 11 ¶ | |||
| } | } | |||
| container oper { | container oper { | |||
| config "false"; | config "false"; | |||
| description "BFD MPLS operational container"; | description "BFD MPLS operational container"; | |||
| uses bfd:bfd-session-statistics; | uses bfd:bfd-session-statistics; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| augment "/rt:routing/rt:routing-instance/rt:routing-protocols/" | augment "/ni:network-instances/ni:network-instance/bfd:bfd" { | |||
| + "rt:routing-protocol/bfd:bfd" { | ||||
| description "BFD augmentation for MPLS."; | description "BFD augmentation for MPLS."; | |||
| container mpls { | container mpls { | |||
| description "BFD MPLS container"; | description "BFD MPLS container"; | |||
| container config { | container config { | |||
| description "BFD MPLS configuration container"; | description "BFD MPLS configuration container"; | |||
| container session-cfg { | container session-cfg { | |||
| description "BFD MPLS session configuration"; | description "BFD MPLS session configuration"; | |||
| skipping to change at page 44, line 42 ¶ | skipping to change at page 44, line 25 ¶ | |||
| } | } | |||
| notification bfd-mpls-notification { | notification bfd-mpls-notification { | |||
| description | description | |||
| "Notification for BFD over MPLS FEC session state change. " + | "Notification for BFD over MPLS FEC 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:bfd-notification-parms; | uses bfd:bfd-notification-parms; | |||
| leaf routing-instance { | leaf network-instance { | |||
| type rt:routing-instance-ref; | type string; | |||
| description "Routing instance"; | description "Network instance"; | |||
| } | } | |||
| leaf mpls-dest-address { | leaf mpls-dest-address { | |||
| type inet:ip-address; | type inet:ip-address; | |||
| description | description | |||
| "Destination address as per RFC5884. | "Destination address as per RFC5884. | |||
| Needed if IP encapsulation is used"; | Needed if IP encapsulation is used"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 2.18. BFD over MPLS-TEYang Module | 2.18. BFD over MPLS-TE Yang Module | |||
| <CODE BEGINS> file "ietf-bfd-mpls-te@2016-02-17.yang" | <CODE BEGINS> file "ietf-bfd-mpls-te@2016-02-04.yang" | |||
| module ietf-bfd-mpls-te { | module ietf-bfd-mpls-te { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te"; | namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te"; | |||
| // replace with IANA namespace when assigned | // replace with IANA namespace when assigned | |||
| prefix "bfd-mpls-te"; | prefix "bfd-mpls-te"; | |||
| import ietf-bfd { | import ietf-bfd { | |||
| prefix "bfd"; | prefix "bfd"; | |||
| } | } | |||
| import ietf-bfd-mpls { | import ietf-bfd-mpls { | |||
| prefix "bfd-mpls"; | prefix "bfd-mpls"; | |||
| } | } | |||
| import ietf-te { | import ietf-te { | |||
| prefix "te"; | prefix "te"; | |||
| } | } | |||
| organization "IETF BFD Working Group"; | organization "IETF BFD Working Group"; | |||
| skipping to change at page 49, line 15 ¶ | skipping to change at page 48, line 45 ¶ | |||
| [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed., | [RFC7130] Bhatia, M., Ed., Chen, M., Ed., Boutros, S., Ed., | |||
| Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional | Binderberger, M., Ed., and J. Haas, Ed., "Bidirectional | |||
| Forwarding Detection (BFD) on Link Aggregation Group (LAG) | Forwarding Detection (BFD) on Link Aggregation Group (LAG) | |||
| Interfaces", RFC 7130, DOI 10.17487/RFC7130, February | Interfaces", RFC 7130, DOI 10.17487/RFC7130, February | |||
| 2014, <http://www.rfc-editor.org/info/rfc7130>. | 2014, <http://www.rfc-editor.org/info/rfc7130>. | |||
| 3.2. Informative References | 3.2. Informative References | |||
| [I-D.ietf-netconf-restconf] | [I-D.ietf-netconf-restconf] | |||
| Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", draft-ietf-netconf-restconf-09 (work in | Protocol", draft-ietf-netconf-restconf-14 (work in | |||
| progress), December 2015. | progress), June 2016. | |||
| [I-D.ietf-netmod-routing-cfg] | [I-D.ietf-netmod-routing-cfg] | |||
| Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | |||
| Management", draft-ietf-netmod-routing-cfg-20 (work in | Management", draft-ietf-netmod-routing-cfg-22 (work in | |||
| progress), October 2015. | progress), July 2016. | |||
| [I-D.ietf-rtgwg-ni-model] | ||||
| Berger, L., Hopps, C., Lindem, A., and D. Bogdanovic, | ||||
| "Network Instance Model", draft-ietf-rtgwg-ni-model-00 | ||||
| (work in progress), June 2016. | ||||
| [I-D.ietf-rtgwg-yang-key-chain] | [I-D.ietf-rtgwg-yang-key-chain] | |||
| Lindem, A., Qu, Y., Yeung, D., Chen, H., Zhang, J., and Y. | Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. | |||
| Yang, "Key Chain YANG Data Model", draft-ietf-rtgwg-yang- | Yang, "Routing Key Chain YANG Data Model", draft-ietf- | |||
| key-chain-01 (work in progress), February 2016. | rtgwg-yang-key-chain-06 (work in progress), June 2016. | |||
| [I-D.ietf-teas-yang-te] | [I-D.ietf-teas-yang-te] | |||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Chen, | Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Chen, | |||
| X., Jones, R., and B. Wen, "A YANG Data Model for Traffic | X., Jones, R., and B. Wen, "A YANG Data Model for Traffic | |||
| Engineering Tunnels and Interfaces", draft-ietf-teas-yang- | Engineering Tunnels and Interfaces", draft-ietf-teas-yang- | |||
| te-02 (work in progress), October 2015. | te-03 (work in progress), March 2016. | |||
| Appendix A. Change log | Appendix A. Change log | |||
| RFC Editor: Remove this section upon publication as an RFC. | RFC Editor: Remove this section upon publication as an RFC. | |||
| A.1. Changes between versions -00 and -01 | A.1. Changes between versions -01 and -02 | |||
| o Replace routing-instance, which has been removed from | ||||
| [I-D.ietf-netmod-routing-cfg], with network-instance from | ||||
| [I-D.ietf-rtgwg-ni-model] | ||||
| A.2. 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 key-chain in | o For BFD authentication we now use key-chain in | |||
| End of changes. 64 change blocks. | ||||
| 101 lines changed or deleted | 91 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/ | ||||