draft-ietf-bfd-yang-04.txt   draft-ietf-bfd-yang-05.txt 
Network Working Group L. Zheng, Ed. Network Working Group R. Rahman, Ed.
Internet-Draft Huawei Technologies Internet-Draft Cisco Systems
Intended status: Standards Track R. Rahman, Ed. Intended status: Standards Track L. Zheng, Ed.
Expires: July 12, 2017 Cisco Systems Expires: September 11, 2017 Huawei Technologies
S. Pallagatti S. Pallagatti
M. Jethanandani M. Jethanandani
Cisco Systems Cisco Systems
G. Mirsky G. Mirsky
Ericsson ZTE Corporation
January 8, 2017 March 10, 2017
Yang Data Model for Bidirectional Forwarding Detection (BFD) Yang Data Model for Bidirectional Forwarding Detection (BFD)
draft-ietf-bfd-yang-04.txt draft-ietf-bfd-yang-05.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 July 12, 2017. This Internet-Draft will expire on September 11, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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 29 skipping to change at page 2, line 29
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Contributors . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Contributors . . . . . . . . . . . . . . . . . . . . . . 4
2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4
2.1. Design of Configuration Model . . . . . . . . . . . . . . 4 2.1. Design of Configuration Model . . . . . . . . . . . . . . 4
2.1.1. Common BFD configuration parameters . . . . . . . . . 5 2.1.1. Common BFD configuration parameters . . . . . . . . . 5
2.1.2. Single-hop IP . . . . . . . . . . . . . . . . . . . . 6 2.1.2. Single-hop IP . . . . . . . . . . . . . . . . . . . . 6
2.1.3. Multi-hop IP . . . . . . . . . . . . . . . . . . . . 6 2.1.3. Multi-hop IP . . . . . . . . . . . . . . . . . . . . 6
2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 6 2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 7
2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 7 2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 7
2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 7 2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 7
2.2. Design of Operational Model . . . . . . . . . . . . . . . 7 2.2. Design of Operational Model . . . . . . . . . . . . . . . 8
2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 8 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 8
2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 8 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 9
2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 8 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 9
2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 9 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 9
2.7. BFD IP 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.12.1. Module ietf-interfaces . . . . . . . . . . . . . . . 19
2.14. BFD IP single-hop Yang Module . . . . . . . . . . . . . . 31 2.12.2. Module ietf-ip . . . . . . . . . . . . . . . . . . . 19
2.15. BFD IP multi-hop Yang Module . . . . . . . . . . . . . . 34 2.12.3. Module ietf-mpls . . . . . . . . . . . . . . . . . . 20
2.16. BFD over LAG Yang Module . . . . . . . . . . . . . . . . 37 2.12.4. Module ietf-te . . . . . . . . . . . . . . . . . . . 20
2.17. BFD over MPLS Yang Module . . . . . . . . . . . . . . . . 41 2.13. BFD top-level Yang Module . . . . . . . . . . . . . . . . 20
2.18. BFD over MPLS-TE Yang Module . . . . . . . . . . . . . . 44 2.14. BFD IP single-hop Yang Module . . . . . . . . . . . . . . 32
2.19. Security Considerations . . . . . . . . . . . . . . . . . 47 2.15. BFD IP multi-hop Yang Module . . . . . . . . . . . . . . 35
2.20. IANA Considerations . . . . . . . . . . . . . . . . . . . 47 2.16. BFD over LAG Yang Module . . . . . . . . . . . . . . . . 38
2.21. Acknowledgements . . . . . . . . . . . . . . . . . . . . 47 2.17. BFD over MPLS Yang Module . . . . . . . . . . . . . . . . 42
3. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.18. BFD over MPLS-TE Yang Module . . . . . . . . . . . . . . 45
3.1. Normative References . . . . . . . . . . . . . . . . . . 47 2.19. Security Considerations . . . . . . . . . . . . . . . . . 48
3.2. Informative References . . . . . . . . . . . . . . . . . 48 2.20. IANA Considerations . . . . . . . . . . . . . . . . . . . 48
Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 49 2.21. Acknowledgements . . . . . . . . . . . . . . . . . . . . 48
A.1. Changes between versions -03 and -04 . . . . . . . . . . 49 3. References . . . . . . . . . . . . . . . . . . . . . . . . . 49
A.2. Changes between versions -02 and -03 . . . . . . . . . . 49 3.1. Normative References . . . . . . . . . . . . . . . . . . 49
A.3. Changes between versions -01 and -02 . . . . . . . . . . 49 3.2. Informative References . . . . . . . . . . . . . . . . . 50
A.4. Changes between versions -00 and -01 . . . . . . . . . . 50 Appendix A. Change log . . . . . . . . . . . . . . . . . . . . . 51
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 50 A.1. Changes between versions -04 and -05 . . . . . . . . . . 51
A.2. Changes between versions -03 and -04 . . . . . . . . . . 52
A.3. Changes between versions -02 and -03 . . . . . . . . . . 52
A.4. Changes between versions -01 and -02 . . . . . . . . . . 52
A.5. Changes between versions -00 and -01 . . . . . . . . . . 52
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52
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 20 skipping to change at page 4, line 23
paths, there is no uniform key to identify a BFD session. So the BFD paths, there is no uniform key to identify a BFD session. So the BFD
data model is split in multiple YANG modules where each module data model is split in multiple YANG modules where each module
corresponds to one type of forwarding path. For example, BFD for IP corresponds to one type of forwarding path. For example, BFD for IP
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 A new control-plane protocol "bfdv1" is defined and a "bfd" container
modules for their respective specific information. is created under control-plane-protocol as specified in [RFC8022].
This new "bfd" node is augmented by all the YANG modules for their
respective specific information. Each BFD YANG module which augments
the "bfd" node contains a "config" node and an "oper" node.
The "network-instance" data node in [I-D.ietf-rtgwg-ni-model] has BFD can operate in the following contexts:
been augmented with the "bfd" data node. Where appropriate for
specific types of forwarding path, the respective BFD YANG modules
follow a VRF-centric model by augmenting that new "bfd" node under
"network-instance".
Each node in every "bfd" sub-tree has a "config" node and an "oper" 1. Network devices as described in [I-D.ietf-rtgwg-device-model]
node.
2. Logical Network Elements as described in
[I-D.ietf-rtgwg-lne-model]
3. Network instances as described in [I-D.ietf-rtgwg-ni-model]
The approach taken is to do a schema-mount (see
[I-D.ietf-netmod-schema-mount]) of the BFD model in the appropriate
locations. For example, if an implementation supports BFD IP multi-
hop in network instances, the implementation would do schema-mount of
the BFD IP multi-hop model in a mount-point which resides in a
network instance.
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
Some implementations have BFD session configuration under the BFD Some implementations have BFD session configuration under the BFD
clients. For example, BFD session configuration is under routing clients. For example, BFD session configuration is under routing
applications such as OSPF, IS-IS, BGP etc. Other implementations applications such as OSPF, IS-IS, BGP etc. Other implementations
have BFD session configuration centralized under BFD, i.e. outside have BFD session configuration centralized under BFD, i.e. outside
the multiple BFD clients. the multiple BFD clients.
The BFD parameters of interest to a BFD client are mainly the The BFD parameters of interest to a BFD client are mainly the
multiplier and interval(s) since those parameters impact the multiplier and interval(s) since those parameters impact the
convergence time of the BFD clients when a failure occurs. Other convergence time of the BFD clients when a failure occurs. Other
parameters such as BFD authentication are not specific to the parameters such as BFD authentication are not specific to the
skipping to change at page 6, line 7 skipping to change at page 6, line 21
[I-D.ietf-rtgwg-yang-key-chain]. The keys, cryptographic [I-D.ietf-rtgwg-yang-key-chain]. The keys, cryptographic
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 in
"network-instance" in Section 2. We have a list of IP single-hop Section 2. We have a list of IP single-hop sessions where each
sessions where each session is uniquely identified by the interface session is uniquely identified by the interface and destination
and destination address pair. For the configuration parameters we address pair. For the configuration parameters we use what is
use what is defined in Section 2.1.1 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 in
"network-instance" in Section 2. 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]
Since we are following a VRF-centric model we do not need a VRF field
in the key.
For the configuration parameters we use what is defined in For the configuration parameters we use what is defined in
Section 2.1.1 Section 2.1.1
Here are some extra parameters: Here are some extra parameters:
tx-ttl tx-ttl
TTL of outgoing BFD control packets. TTL of outgoing BFD control packets.
rx-ttl rx-ttl
Minimum TTL of incoming BFD control packets. Minimum TTL of incoming BFD control packets.
skipping to change at page 7, line 9 skipping to change at page 7, line 22
of a BFD session failure, these parameters will be defined in the of a BFD session failure, these parameters will be defined in the
YANG model of the MPLS-TE application. YANG model of the MPLS-TE application.
On top of the usual BFD parameters, we have the following per MPLS-TE On top of the usual BFD parameters, we have the following per MPLS-TE
tunnel: tunnel:
encap encap
Encapsulation for the BFD packets: choice between IP, G-ACh Encapsulation for the BFD packets: choice between IP, G-ACh
and IP with G-ACh as per [RFC5586] and IP with G-ACh as per [RFC5586]
For general MPLS-TE data, "mpls-te" data node is added under the top- For general MPLS-TE data, "mpls-te" data node is added under the
level "bfd" node in Section 2. Since some MPLS-TE tunnels are uni- "bfd" node in Section 2. Since some MPLS-TE tunnels are uni-
directional there is no MPLS-TE configuration for these tunnels on directional there is no MPLS-TE configuration for these tunnels on
the egress node (note that this does not apply to bi-directional the egress node (note that this does not apply to bi-directional
MPLS-TP tunnels). The BFD parameters for the egress node are added MPLS-TP tunnels). The BFD parameters for the egress node are added
under "mpls-te". under "mpls-te".
2.1.5. MPLS Label Switched Paths 2.1.5. MPLS Label Switched Paths
Here we address MPLS LSPs whose FEC is an IP address. The top-level Here we address MPLS LSPs whose FEC is an IP address. The "bfd" node
"bfd" node in Section 2 is augmented with "mpls" which contains a in Section 2 is augmented with "mpls" which contains a list of
list of sessions uniquely identified by an IP address. sessions uniquely identified by an IP address.
Since these LSPs are uni-directional there is no LSP configuration on Since these LSPs are uni-directional there is no LSP configuration on
the egress node. The BFD parameters for the egress node are added the egress node. The BFD parameters for the egress node are added
under "mpls". under "mpls".
2.1.6. Link Aggregation Groups 2.1.6. Link Aggregation Groups
Per [RFC7130], configuring BFD on LAG consists of having micro-BFD Per [RFC7130], configuring BFD on LAG consists of having micro-BFD
sessions on each LAG member link. Since the BFD parameters are an sessions on each LAG member link. Since the BFD parameters are an
attribute of the LAG, they should be under the LAG. However there is attribute of the LAG, they should be under the LAG. However there is
no LAG YANG model which we can augment. So a "lag" data node is no LAG YANG model which we can augment. So a "lag" data node is
added to the top-level "bfd" node in Section 2, the configuration is added to the "bfd" node in Section 2, the configuration is per-LAG:
per-LAG: we have a list of LAGs. The destination IP address of the we have a list of LAGs. The destination IP address of the micro-BFD
micro-BFD sessions is configured per-LAG and per address-family (IPv4 sessions is configured per-LAG and per address-family (IPv4 and IPv6)
and IPv6)
2.2. Design of Operational Model 2.2. Design of Operational Model
The operational model contains both the overall statistics of BFD The operational model contains both the overall statistics of BFD
sessions running on the device and the per session operational sessions running on the device and the per session operational
information. information.
The overall statistics of BFD sessions consist of number of BFD The overall statistics of BFD sessions consist of number of BFD
sessions, number of BFD sessions up etc. This information is sessions, number of BFD sessions up etc. This information is
available globally (i.e. for all BFD sessions) under the top level available globally (i.e. for all BFD sessions) under the "bfd" node
"bfd" node in Section 2 and also per type of forwarding path. in Section 2 and also per type of forwarding path.
For each BFD session, mainly three categories of operational items For each BFD session, mainly three categories of operational items
are shown. The fundamental information of a BFD session such as the are shown. The fundamental information of a BFD session such as the
local discriminator, remote discriminator and the capability of local discriminator, remote discriminator and the capability of
supporting demand detect mode are shown in the first category. The supporting demand detect mode are shown in the first category. The
second category includes a BFD session running information, e.g. the second category includes a BFD session running information, e.g. the
remote BFD state and the diagnostic code received. Another example remote BFD state and the diagnostic code received. Another example
is the actual transmit interval between the control packets, which is the actual transmit interval between the control packets, which
may be different from the desired minimum transmit interval may be different from the desired minimum transmit interval
configured, is shown in this category. Similar examples are actual configured, is shown in this category. Similar examples are actual
skipping to change at page 8, line 37 skipping to change at page 9, line 11
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 "bfd" node under control-plane-protocol, there is no
data. The operational data consist of overall BFD session statistics configuration data, only operational data. The operational data
globally and per network-instance consist of overall BFD session statistics, i.e. for BFD on all types
of forwarding paths. The "bfd" node under control-plane-protocol can
be mounted in a network device (top-level), in an LNE or in a network
instance.
module: ietf-bfd module: ietf-bfd
+--rw bfd! augment /rt:routing/rt:control-plane-protocols
+--rw config /rt:control-plane-protocol:
+--ro oper +--rw bfd
+--ro bfd-session-statistics
+--ro session-count? uint32
+--ro session-up-count? uint32
+--ro session-down-count? uint32
+--ro session-admin-down-count? uint32
augment /ni:network-instances/ni:network-instance:
+--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
An "ip-sh" node is added under "bfd" node in control-plane-protocol.
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 network-instance. Overall BFD IP session is under this "ip-sh" node. The "ip-sh" node can be mounted
single-hop session statistics are available per network-instance and in a network device (top-level), in an LNE or in a network instance.
globally (for all network instances).
module: ietf-bfd-ip-sh module: ietf-bfd-ip-sh
augment /bfd:bfd: augment /rt:routing/rt:control-plane-protocols
+--rw ip-sh /rt:control-plane-protocol/bfd:bfd:
+--rw config +--rw ip-sh
+--ro oper +--rw config
+--ro bfd-session-statistics | +--rw session-cfg
+--ro session-count? uint32 | +--rw sessions* [interface dest-addr]
+--ro session-up-count? uint32 | +--rw interface if:interface-ref
+--ro session-down-count? uint32 | +--rw dest-addr inet:ip-address
+--ro session-admin-down-count? uint32 | +--rw source-addr? inet:ip-address
augment /ni:network-instances/ni:network-instance/bfd:bfd: | +--rw local-multiplier? bfd-multiplier
+--rw ip-sh | +--rw (interval-config-type)?
+--rw config | | +--:(tx-rx-intervals)
| +--rw session-cfg | | | +--rw desired-min-tx-interval uint32
| +--rw sessions* [interface dest-addr] | | | +--rw required-min-rx-interval uint32
| +--rw interface if:interface-ref | | +--:(single-interval)
| +--rw dest-addr inet:ip-address | | +--rw min-interval uint32
| +--rw source-addr? inet:ip-address | +--rw demand-enabled? boolean
| +--rw local-multiplier? bfd-multiplier | +--rw admin-down? boolean
| +--rw (interval-config-type)? | +--rw authentication-parms! {bfd-authentication}?
| | +--:(tx-rx-intervals) | | +--rw key-chain? kc:key-chain-ref
| | | +--rw desired-min-tx-interval uint32 | | +--rw replay-protection? identityref
| | | +--rw required-min-rx-interval uint32 | +--rw desired-min-echo-tx-interval? uint32
| | +--:(single-interval) | +--rw required-min-echo-rx-interval? uint32
| | +--rw min-interval uint32 +--ro oper
| +--rw demand-enabled? boolean +--ro bfd-session-statistics
| +--rw admin-down? boolean | +--ro session-count? uint32
| +--rw authentication-parms! {bfd-authentication}? | +--ro session-up-count? uint32
| | +--rw key-chain? kc:key-chain-ref | +--ro session-down-count? uint32
| | +--rw replay-protection? identityref | +--ro session-admin-down-count? uint32
| +--rw desired-min-echo-tx-interval? uint32 +--ro sessions* [interface dest-addr]
| +--rw required-min-echo-rx-interval? uint32 +--ro interface if:interface-ref
+--ro oper +--ro dest-addr inet:ip-address
+--ro bfd-session-statistics +--ro source-addr? inet:ip-address
| +--ro session-count? uint32 +--ro path-type? identityref
| +--ro session-up-count? uint32 +--ro local-discriminator? bfd-discriminator
| +--ro session-down-count? uint32 +--ro remote-discriminator? bfd-discriminator
| +--ro session-admin-down-count? uint32 +--ro remote-multiplier? bfd-multiplier
+--ro sessions* [interface dest-addr] +--ro out-interface? if:interface-ref
+--ro interface if:interface-ref +--ro demand-capability? boolean
+--ro dest-addr inet:ip-address +--ro source-port? inet:port-number
+--ro source-addr? inet:ip-address +--ro dest-port? inet:port-number
+--ro path-type? identityref +--ro session-running
+--ro local-discriminator? bfd-discriminator | +--ro session-index? uint32
+--ro remote-discriminator? bfd-discriminator | +--ro local-state? bfd-state
+--ro remote-multiplier? bfd-multiplier | +--ro remote-state? bfd-state
+--ro out-interface? if:interface-ref | +--ro local-diagnostic? bfd-diagnostic
+--ro demand-capability? boolean | +--ro remote-diagnostic? bfd-diagnostic
+--ro source-port? inet:port-number | +--ro detection-mode? enumeration
+--ro dest-port? inet:port-number | +--ro negotiated-tx-interval? uint32
+--ro session-running | +--ro negotiated-rx-interval? uint32
| +--ro session-index? uint32 | +--ro echo-tx-interval-in-use? uint32
| +--ro local-state? bfd-state | +--ro detection-time? uint32
| +--ro remote-state? bfd-state +--ro sesssion-statistics
| +--ro local-diagnostic? bfd-diagnostic +--ro create-time? yang:date-and-time
| +--ro remote-diagnostic? bfd-diagnostic +--ro last-down-time? yang:date-and-time
| +--ro detection-mode? enumeration +--ro last-up-time? yang:date-and-time
| +--ro negotiated-tx-interval? uint32 +--ro down-count? uint32
| +--ro negotiated-rx-interval? uint32 +--ro admin-down-count? uint32
| +--ro echo-tx-interval-in-use? uint32 +--ro receive-packet-count? uint64
| +--ro detection-time? uint32 +--ro send-packet-count? uint64
+--ro sesssion-statistics +--ro receive-bad-packet? uint64
+--ro create-time? yang:date-and-time +--ro send-failed-packet? uint64
+--ro last-down-time? yang:date-and-time notifications:
+--ro last-up-time? yang:date-and-time
+--ro down-count? uint32 +---n bfd-singlehop-notification
+--ro admin-down-count? uint32 +--ro local-discr? bfd-discriminator
+--ro receive-packet-count? uint64 +--ro remote-discr? bfd-discriminator
+--ro send-packet-count? uint64 +--ro new-state? bfd-state
+--ro receive-bad-packet? uint64 +--ro state-change-reason? string
+--ro send-failed-packet? uint64 +--ro time-in-previous-state? string
notifications: +--ro dest-addr? inet:ip-address
+---n bfd-singlehop-notification +--ro source-addr? inet:ip-address
+--ro local-discr? bfd-discriminator +--ro session-index? uint32
+--ro remote-discr? bfd-discriminator +--ro path-type? identityref
+--ro new-state? bfd-state +--ro interface? if:interface-ref
+--ro state-change-reason? string +--ro echo-enabled? boolean
+--ro time-in-previous-state? string
+--ro dest-addr? inet:ip-address
+--ro source-addr? inet:ip-address
+--ro session-index? uint32
+--ro path-type? identityref
+--ro interface? if:interface-ref
+--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 An "ip-mh" node is added under the "bfd" node in cntrol-plane-
session is under "ip-mh" node under network-instance. In the protocol. The configuration and operational data for each BFD IP
operational model we support multiple BFD multi-hop sessions per multi-hop session is under this "ip-mh" node. In the operational
remote address (ECMP), the local discriminator is used as key. model we support multiple BFD multi-hop sessions per remote address
Overall BFD IP multi-hop session statistics are available per (ECMP), the local discriminator is used as key. The "ip-mh" node can
network-instance and globally (for all network instances). be mounted in a network device (top-level), in an LNE or in a network
instance.
module: ietf-bfd-ip-mh module: ietf-bfd-ip-mh
augment /bfd:bfd: augment /rt:routing/rt:control-plane-protocols
+--rw ip-mh /rt:control-plane-protocol/bfd:bfd:
+--rw config
+--ro oper
+--ro bfd-session-statistics
+--ro session-count? uint32
+--ro session-up-count? uint32
+--ro session-down-count? uint32
+--ro session-admin-down-count? uint32
augment /ni:network-instances/ni:network-instance/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 12, line 13 skipping to change at page 12, line 4
| | +--rw min-interval uint32 | | +--rw min-interval uint32
| +--rw demand-enabled? boolean | +--rw demand-enabled? boolean
| +--rw admin-down? boolean | +--rw admin-down? boolean
| +--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
| +--rw tx-ttl? bfd:ttl | +--rw tx-ttl? bfd:ttl
| +--rw rx-ttl bfd:ttl | +--rw rx-ttl bfd:ttl
+--ro oper +--ro oper
+--ro bfd-session-statistics +--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
+--ro session-group* [source-addr dest-addr] +--ro session-group* [source-addr dest-addr]
+--ro source-addr inet:ip-address +--ro source-addr inet:ip-address
+--ro dest-addr inet:ip-address +--ro dest-addr inet:ip-address
+--ro sessions* [local-discriminator] +--ro sessions* [local-discriminator]
+--ro ttl? bfd:ttl +--ro ttl? bfd:ttl
+--ro path-type? identityref +--ro path-type? identityref
+--ro local-discriminator bfd-discriminator +--ro local-discriminator bfd-discriminator
+--ro remote-discriminator? bfd-discriminator +--ro remote-discriminator? bfd-discriminator
+--ro remote-multiplier? bfd-multiplier +--ro remote-multiplier? bfd-multiplier
+--ro out-interface? if:interface-ref +--ro out-interface? if:interface-ref
skipping to change at page 13, line 16 skipping to change at page 13, line 5
+---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 network-instance? string
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.
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 this "lag" node. The "lag" node can be mounted in a network
globally. device (top-level), in an LNE or in a network instance.
module: ietf-bfd-lag module: ietf-bfd-lag
augment /bfd:bfd: augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/bfd:bfd:
+--rw lag +--rw lag
+--rw config +--rw config
| +--rw session-cfg | +--rw session-cfg
| +--rw sessions* [lag-name] | +--rw sessions* [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? inet:ipv4-address
| +--rw ipv6-dest-addr? inet:ipv6-address | +--rw ipv6-dest-addr? inet:ipv6-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 15, line 43 skipping to change at page 15, line 34
+--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 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 An "mpls" node is added under the "bfd" node in control-plane-
model we support multiple BFD sessions per MPLS FEC (ECMP), the local protocol. The configuration is per MPLS FEC under this "mpls" node.
discriminator is used as key. In the operational model we support multiple BFD sessions per MPLS
FEC (ECMP), the local discriminator is used as key. The "mpls" node
can be mounted in a network device (top-level), in an LNE or in a
network instance.
module: ietf-bfd-mpls
module: ietf-bfd-mpls module: ietf-bfd-mpls
augment /bfd:bfd: augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/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 bfd-session-statistics
+--ro session-count? uint32
+--ro session-up-count? uint32
+--ro session-down-count? uint32
+--ro session-admin-down-count? uint32
augment /ni:network-instances/ni:network-instance/bfd:bfd:
+--rw mpls
+--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
| | +--:(single-interval) | | +--:(single-interval)
| | +--rw min-interval uint32 | | +--rw min-interval uint32
skipping to change at page 17, line 41 skipping to change at page 17, line 26
+---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 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 /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/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 38 skipping to change at page 19, line 23
+--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
+--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. [I-D.ietf-lime-yang-connectionless-oam] describes how the LIME
connectionless OAM model could be extended to support BFD.
Also, the operation of the BFD data model depends on configuration
parameters that are defined in other YANG modules.
2.12.1. Module ietf-interfaces
The following boolean configuration is defined in the "ietf-
interfaces" YANG module [RFC7223]:
/if:interfaces/if:interface/if:enabled
If this configuration is set to "false", no BFD packets can
be transmitted or received on that interface.
2.12.2. Module ietf-ip
The following boolean configuration is defined in the "ietf-ip" YANG
module [RFC7277]:
/if:interfaces/if:interface/ip:ipv4/ip:enabled
If this configuration is set to "false", no BFD IPv4 packets
can be transmitted or received on that interface.
/if:interfaces/if:interface/ip:ipv4/ip:forwarding
If this configuration is set to "false", no BFD IPv4 packets
can be transmitted or received on that interface.
/if:interfaces/if:interface/ip:ipv6/ip:enabled
If this configuration is set to "false", no BFD IPv6 packets
can be transmitted or received on that interface.
/if:interfaces/if:interface/ip:ipv6/ip:forwarding
If this configuration is set to "false", no BFD IPv6 packets
can be transmitted or received on that interface.
2.12.3. Module ietf-mpls
The following boolean configuration is defined in the "ietf-mpls"
YANG module [I-D.ietf-mpls-base-yang]:
/rt:routing/mpls:mpls/mpls:interface/mpls:config/mpls:enabled
If this configuration is set to "false", no BFD MPLS packets
can be transmitted or received on that interface.
2.12.4. Module ietf-te
The following configuration is defined in the "ietf-te" YANG module
[I-D.ietf-teas-yang-te]:
/ietf-te:te/ietf-te:tunnels/ietf-te:tunnel/ietf-te:config/ietf-
te:admin-status
If this configuration is not set to "state-up", no BFD MPLS
packets can be transmitted or received on that tunnel.
2.13. BFD top-level Yang Module 2.13. BFD top-level Yang Module
<CODE BEGINS> file "ietf-bfd@2016-07-04.yang" <CODE BEGINS> file "ietf-bfd@2017-03-07.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";
skipping to change at page 20, line 14 skipping to change at page 21, line 4
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-07-04 { Copyright (c) 2017 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
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 { // RFC Ed.: replace XXXX with actual RFC number and remove this
base "rt:routing-protocol"; // note
description "BFD protocol";
identity bfdv1 {
base "rt:control-plane-protocol";
description "BFD protocol version 1 as per RFC5880.";
} }
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 30, line 49 skipping to change at page 32, line 4
leaf session-index { leaf session-index {
type uint32; type uint32;
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:control-plane-protocols/"
+ "rt:control-plane-protocol" {
when "rt:type = 'bfd:bfdv1'" {
description
"This augmentation is only valid for a control-plane protocol
instance of BFD (type 'bfdv1').";
}
description "BFD augmentation."; description "BFD augmentation.";
container bfd { container 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 {
config "false"; config "false";
description description "BFD operational container.";
"BFD operational container for this routing instance";
uses bfd-session-statistics; uses bfd-session-statistics;
} }
} }
} }
container bfd {
presence "BFD";
description "BFD top level container";
container config {
description "BFD configuration container";
}
container oper {
config "false";
description "BFD operational container.";
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-07-04.yang" <CODE BEGINS> file "ietf-bfd-ip-sh@2017-03-07.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-07-04 { Copyright (c) 2017 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
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" { // RFC Ed.: replace XXXX with actual RFC number and remove this
// note
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-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 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 {
config "false";
description "BFD IP single-hop operational container";
uses bfd:bfd-session-statistics;
}
}
}
augment "/ni:network-instances/ni:network-instance/bfd:bfd" {
description "BFD augmentation for IP single-hop.";
container ip-sh {
description "BFD IP single-hop container";
container config {
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";
leaf interface { leaf interface {
type if:interface-ref; type if:interface-ref;
description description
"Interface on which the BFD session is running."; "Interface on which the BFD session is running.";
} }
leaf dest-addr { leaf dest-addr {
type inet:ip-address; type inet:ip-address;
skipping to change at page 33, line 37 skipping to change at page 34, line 30
uses bfd:bfd-grouping-common-cfg-parms; uses bfd:bfd-grouping-common-cfg-parms;
uses bfd:bfd-grouping-echo-cfg-parms; uses bfd:bfd-grouping-echo-cfg-parms;
} }
} }
} }
container oper { container oper {
config "false"; config "false";
description "BFD operational container"; description "BFD IP single-hop operational container";
uses bfd:bfd-session-statistics; uses bfd:bfd-session-statistics;
list sessions { list sessions {
key "interface dest-addr"; key "interface dest-addr";
description "BFD IP single-hop sessions"; description "BFD IP single-hop sessions";
leaf interface { leaf interface {
type if:interface-ref; type if:interface-ref;
description description
"Interface on which the BFD session is running."; "Interface on which the BFD session is running.";
skipping to change at page 34, line 41 skipping to change at page 35, line 34
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-07-04.yang" <CODE BEGINS> file "ietf-bfd-ip-mh@2017-03-07.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 {
skipping to change at page 35, line 4 skipping to change at page 35, line 46
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-network-instance { import ietf-routing {
prefix "ni"; prefix "rt";
} }
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."; as per RFC5883.
revision 2016-07-04 { Copyright (c) 2017 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
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" { // RFC Ed.: replace XXXX with actual RFC number and remove this
// note
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/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 {
config "false";
description "BFD IP multi-hop operational container";
uses bfd:bfd-session-statistics;
}
}
}
augment "/ni:network-instances/ni:network-instance/bfd:bfd" {
description "BFD augmentation for IP multi-hop.";
container ip-mh {
description "BFD IP multi-hop container";
container config {
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 {
key "source-addr dest-addr"; key "source-addr dest-addr";
description "List of IP multi-hop sessions"; description "List of IP multi-hop sessions";
leaf source-addr { leaf source-addr {
type inet:ip-address; type inet:ip-address;
description description
skipping to change at page 36, line 37 skipping to change at page 37, line 30
leaf rx-ttl { leaf rx-ttl {
type bfd:ttl; type bfd:ttl;
mandatory true; mandatory true;
description description
"Minimum allowed TTL value for incoming BFD control "Minimum allowed TTL value for incoming BFD control
packets"; packets";
} }
} }
} }
} }
container oper { container oper {
config "false"; config "false";
description "BFD operational container";
container bfd-session-statistics { description "BFD IP multi-hop operational container";
description "BFD session counters";
uses bfd:bfd-session-statistics; uses bfd:bfd-session-statistics;
}
list session-group { list session-group {
key "source-addr dest-addr"; key "source-addr dest-addr";
description description
"BFD IP multi-hop group of sessions. A group of " + "BFD IP multi-hop group of sessions. A group of " +
"sessions is between 1 source and 1 destination, " + "sessions is between 1 source and 1 destination, " +
"each session has a different field in UDP/IP hdr for " + "each session has a different field in UDP/IP hdr for " +
"ECMP."; "ECMP.";
leaf source-addr { leaf source-addr {
type inet:ip-address; type inet:ip-address;
skipping to change at page 37, line 38 skipping to change at page 38, line 28
} }
} }
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 network-instance {
type string;
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@2017-01-07.yang" <CODE BEGINS> file "ietf-bfd-lag@2017-03-07.yang"
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";
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 {
prefix "rt";
}
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 over LAG "This module contains the YANG definition for BFD over LAG
interfaces as per RFC7130."; interfaces as per RFC7130.
revision 2017-01-07 { Copyright (c) 2017 IETF Trust and the persons
description identified as authors of the code. All rights reserved.
"* Update author information
* Fixed error with when use-ipv4/use-ipv6 statements
";
reference "RFC XXXX: A YANG data model for BFD over LAG";
}
revision 2016-02-17 { Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
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";
} }
augment "/bfd:bfd" { // RFC Ed.: replace XXXX with actual RFC number and remove this
// note
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for LAG"; description "BFD augmentation for LAG";
container lag { container lag {
description "BFD over LAG top level container"; description "BFD over LAG top level container";
container config { container config {
description "BFD over LAG configuration container"; description "BFD over LAG configuration container";
container session-cfg { container session-cfg {
description "BFD over LAG session configuration"; description "BFD over LAG session configuration";
list sessions { list sessions {
key "lag-name"; key "lag-name";
skipping to change at page 41, line 17 skipping to change at page 42, line 14
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-07-04.yang" <CODE BEGINS> file "ietf-bfd-mpls@2017-03-07.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-network-instance { import ietf-routing {
prefix "ni"; prefix "rt";
} }
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-07-04 { Copyright (c) 2017 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
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";
} }
// RFC Ed.: replace XXXX with actual RFC number and remove this
// note
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.";
} }
identity bfd-encap-ip-gach { identity bfd-encap-ip-gach {
base bfd:bfd-encap-type; base bfd:bfd-encap-type;
description description
"BFD with IP and G-ACh encapsulation as per RFC5586."; "BFD with IP and G-ACh encapsulation as per RFC5586.";
skipping to change at page 42, line 38 skipping to change at page 44, line 4
grouping bfd-mpls-dest-address { grouping bfd-mpls-dest-address {
description "Destination address as per RFC5884"; description "Destination address as per RFC5884";
leaf mpls-dest-address { leaf mpls-dest-address {
type inet:ip-address; type inet:ip-address;
config "false"; config "false";
description description
"Destination address as per RFC5884. "Destination address as per RFC5884.
Needed if IP encapsulation is used"; Needed if IP encapsulation is used";
} }
} }
augment "/bfd:bfd" { augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for MPLS"; description "BFD augmentation for MPLS";
container mpls { container mpls {
description "BFD MPLS top level container"; description "BFD MPLS top level container";
container config { container config {
description "BFD MPLS configuration container"; description "BFD MPLS configuration container";
container egress { container egress {
description "Egress configuration"; description "Egress configuration";
uses bfd:bfd-grouping-base-cfg-parms; uses bfd:bfd-grouping-base-cfg-parms;
uses bfd:bfd-auth-parms; uses bfd:bfd-auth-parms;
} }
}
container oper {
config "false";
description "BFD MPLS operational container";
uses bfd:bfd-session-statistics;
}
}
}
augment "/ni:network-instances/ni:network-instance/bfd:bfd" {
description "BFD augmentation for MPLS.";
container mpls {
description "BFD MPLS container";
container config {
description "BFD MPLS configuration container";
container session-cfg { container session-cfg {
description "BFD MPLS session configuration"; description "BFD MPLS session configuration";
list sessions { list sessions {
key "mpls-fec"; key "mpls-fec";
description "List of BFD MPLS sessions"; description "List of BFD MPLS sessions";
leaf mpls-fec { leaf mpls-fec {
type inet:ip-address; type inet:ip-address;
description "MPLS FEC"; description "MPLS FEC";
} }
skipping to change at page 44, line 32 skipping to change at page 45, line 33
} }
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 network-instance {
type string;
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-TE Yang Module 2.18. BFD over MPLS-TE Yang Module
<CODE BEGINS> file "ietf-bfd-mpls-te@2016-02-04.yang" <CODE BEGINS> file "ietf-bfd-mpls-te@2017-03-07.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";
} }
skipping to change at page 45, line 19 skipping to change at page 46, line 15
} }
import ietf-bfd-mpls { import ietf-bfd-mpls {
prefix "bfd-mpls"; prefix "bfd-mpls";
} }
import ietf-te { import ietf-te {
prefix "te"; prefix "te";
} }
import ietf-routing {
prefix "rt";
}
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 Traffic Engineering as per RFC5884."; MPLS Traffic Engineering as per RFC5884.
revision 2016-02-04 { Copyright (c) 2017 IETF Trust and the persons
identified as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision 2017-03-07 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: A YANG data model for BFD over MPLS-TE"; reference "RFC XXXX: A YANG data model for BFD over MPLS-TE";
} }
augment "/bfd:bfd" { // RFC Ed.: replace XXXX with actual RFC number and remove this
// note
augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for MPLS-TE"; description "BFD augmentation for MPLS-TE";
container mpls-te { container mpls-te {
description "BFD MPLS-TE top level container"; description "BFD MPLS-TE top level container";
container config { container config {
description "BFD MPLS-TE configuration container"; description "BFD MPLS-TE configuration container";
container egress { container egress {
description "Egress configuration"; description "Egress configuration";
skipping to change at page 47, line 33 skipping to change at page 48, line 48
The IANA is requested to as assign a new new namespace URI from the The IANA is requested to as assign a new new namespace URI from the
IETF XML registry. IETF XML registry.
URI:TBD URI:TBD
2.21. Acknowledgements 2.21. Acknowledgements
We would also like to thank Nobo Akiya and Jeff Haas for their We would also like to thank Nobo Akiya and Jeff Haas for their
encouragement on this work. We would also like to thank Rakesh encouragement on this work. We would also like to thank Rakesh
Gandhi and Tarek Saad for their help on the MPLS-TE model. Gandhi and Tarek Saad for their help on the MPLS-TE model. We would
also like to thank Acee Lindem for his guidance.
3. References 3. References
3.1. Normative References 3.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 48, line 46 skipping to change at page 50, line 16
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>. <http://www.rfc-editor.org/info/rfc6241>.
[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>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>.
[RFC7277] Bjorklund, M., "A YANG Data Model for IP Management",
RFC 7277, DOI 10.17487/RFC7277, June 2014,
<http://www.rfc-editor.org/info/rfc7277>.
[RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing
Management", RFC 8022, DOI 10.17487/RFC8022, November
2016, <http://www.rfc-editor.org/info/rfc8022>.
3.2. Informative References 3.2. Informative References
[I-D.ietf-lime-yang-connectionless-oam]
Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan,
"Generic YANG Data Model for Connectionless Operations,
Administration, and Maintenance(OAM) protocols", draft-
ietf-lime-yang-connectionless-oam-04 (work in progress),
February 2017.
[I-D.ietf-mpls-base-yang]
Raza, K., Gandhi, R., Liu, X., Beeram, V., Saad, T.,
Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data
Model for MPLS Base", draft-ietf-mpls-base-yang-02 (work
in progress), March 2017.
[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-18 (work in Protocol", draft-ietf-netconf-restconf-18 (work in
progress), October 2016. progress), October 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-25 (work in Management", draft-ietf-netmod-routing-cfg-25 (work in
progress), November 2016. progress), November 2016.
[I-D.ietf-netmod-schema-mount]
Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft-
ietf-netmod-schema-mount-04 (work in progress), March
2017.
[I-D.ietf-rtgwg-device-model]
Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps,
"Network Device YANG Organizational Models", draft-ietf-
rtgwg-device-model-01 (work in progress), October 2016.
[I-D.ietf-rtgwg-lne-model]
Berger, L., Hopps, C., Lindem, A., and D. Bogdanovic,
"YANG Logical Network Elements", draft-ietf-rtgwg-lne-
model-01 (work in progress), October 2016.
[I-D.ietf-rtgwg-ni-model] [I-D.ietf-rtgwg-ni-model]
Berger, L., Hopps, C., Lindem, A., and D. Bogdanovic, Berger, L., Hopps, C., Lindem, A., and D. Bogdanovic,
"YANG Network Instances", draft-ietf-rtgwg-ni-model-01 "YANG Network Instances", draft-ietf-rtgwg-ni-model-01
(work in progress), October 2016. (work in progress), October 2016.
[I-D.ietf-rtgwg-yang-key-chain] [I-D.ietf-rtgwg-yang-key-chain]
Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y. Lindem, A., Qu, Y., Yeung, D., Chen, I., Zhang, Z., and Y.
Yang, "Routing Key Chain YANG Data Model", draft-ietf- Yang, "Routing Key Chain YANG Data Model", draft-ietf-
rtgwg-yang-key-chain-11 (work in progress), November 2016. rtgwg-yang-key-chain-15 (work in progress), February 2017.
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H.,
Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data Bryskin, I., Chen, X., Jones, R., and B. Wen, "A YANG Data
Model for Traffic Engineering Tunnels and Interfaces", Model for Traffic Engineering Tunnels and Interfaces",
draft-ietf-teas-yang-te-05 (work in progress), October draft-ietf-teas-yang-te-05 (work in progress), October
2016. 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 -03 and -04 A.1. Changes between versions -04 and -05
o "bfd" node in augment of control-plane-protocol as per [RFC8022].
o Removed augment of network-instance. Replaced by schema-mount.
o Added information on interaction with other YANG modules.
A.2. 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.
A.2. Changes between versions -02 and -03 A.3. 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.
A.3. Changes between versions -01 and -02 A.4. Changes between versions -01 and -02
o Replace routing-instance, which has been removed from o Replace routing-instance, which has been removed from
[I-D.ietf-netmod-routing-cfg], with network-instance from [I-D.ietf-netmod-routing-cfg], with network-instance from
[I-D.ietf-rtgwg-ni-model] [I-D.ietf-rtgwg-ni-model]
A.4. Changes between versions -00 and -01 A.5. 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
[I-D.ietf-rtgwg-yang-key-chain] [I-D.ietf-rtgwg-yang-key-chain]
Authors' Addresses Authors' Addresses
Lianshu Zheng (editor)
Huawei Technologies
China
Email: vero.zheng@huawei.com
Reshad Rahman (editor) Reshad Rahman (editor)
Cisco Systems Cisco Systems
Canada Canada
Email: rrahman@cisco.com Email: rrahman@cisco.com
Lianshu Zheng (editor)
Huawei Technologies
China
Email: vero.zheng@huawei.com
Santosh Pallagatti Santosh Pallagatti
India India
Email: santosh.pallagatti@gmail.com Email: santosh.pallagatti@gmail.com
Mahesh Jethanandani Mahesh Jethanandani
Cisco Systems Cisco Systems
Email: mjethanandani@gmail.com Email: mjethanandani@gmail.com
Greg Mirsky Greg Mirsky
Ericsson ZTE Corporation
Email: gregimirsky@gmail.com Email: gregimirsky@gmail.com
 End of changes. 106 change blocks. 
359 lines changed or deleted 473 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/