draft-ietf-bfd-yang-11.txt   draft-ietf-bfd-yang-12.txt 
Network Working Group R. Rahman, Ed. Network Working Group R. Rahman, Ed.
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Standards Track L. Zheng, Ed. Intended status: Standards Track L. Zheng, Ed.
Expires: September 4, 2018 Huawei Technologies Expires: September 21, 2018 Huawei Technologies
M. Jethanandani, Ed. M. Jethanandani, Ed.
S. Pallagatti S. Pallagatti
G. Mirsky G. Mirsky
ZTE Corporation ZTE Corporation
March 3, 2018 March 20, 2018
YANG Data Model for Bidirectional Forwarding Detection (BFD) YANG Data Model for Bidirectional Forwarding Detection (BFD)
draft-ietf-bfd-yang-11.txt draft-ietf-bfd-yang-12.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).
The YANG modules in this document conform to the Network Management The YANG modules in this document conform to the Network Management
Datastore Architecture (NMDA). Datastore Architecture (NMDA).
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at 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 September 4, 2018. This Internet-Draft will expire on September 21, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4
2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 4
2.1. Design of Configuration Model . . . . . . . . . . . . . . 5 2.1. Design of Configuration Model . . . . . . . . . . . . . . 5
2.1.1. Common BFD configuration parameters . . . . . . . . . 6 2.1.1. Common BFD configuration parameters . . . . . . . . . 6
2.1.2. Single-hop IP . . . . . . . . . . . . . . . . . . . . 7 2.1.2. Single-hop IP . . . . . . . . . . . . . . . . . . . . 7
2.1.3. Multihop IP . . . . . . . . . . . . . . . . . . . . . 7 2.1.3. Multihop IP . . . . . . . . . . . . . . . . . . . . . 7
2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 8 2.1.4. MPLS Traffic Engineering Tunnels . . . . . . . . . . 8
2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 8 2.1.5. MPLS Label Switched Paths . . . . . . . . . . . . . . 9
2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 9 2.1.6. Link Aggregation Groups . . . . . . . . . . . . . . . 9
2.2. Design of Operational State Model . . . . . . . . . . . . 9 2.2. Design of Operational State Model . . . . . . . . . . . . 9
2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 10 2.3. Notifications . . . . . . . . . . . . . . . . . . . . . . 10
2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 10 2.4. RPC Operations . . . . . . . . . . . . . . . . . . . . . 10
2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 10 2.5. BFD top level hierarchy . . . . . . . . . . . . . . . . . 10
2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 10 2.6. BFD IP single-hop hierarchy . . . . . . . . . . . . . . . 10
2.7. BFD IP multihop hierarchy . . . . . . . . . . . . . . . . 12 2.7. BFD IP multihop hierarchy . . . . . . . . . . . . . . . . 12
2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 14 2.8. BFD over LAG hierarchy . . . . . . . . . . . . . . . . . 14
2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 17 2.9. BFD over MPLS LSPs hierarchy . . . . . . . . . . . . . . 17
2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 19 2.10. BFD over MPLS-TE hierarchy . . . . . . . . . . . . . . . 19
2.11. Interaction with other YANG modules . . . . . . . . . . . 21 2.11. Interaction with other YANG modules . . . . . . . . . . . 21
2.11.1. Module ietf-interfaces . . . . . . . . . . . . . . . 21 2.11.1. Module ietf-interfaces . . . . . . . . . . . . . . . 21
2.11.2. Module ietf-ip . . . . . . . . . . . . . . . . . . . 22 2.11.2. Module ietf-ip . . . . . . . . . . . . . . . . . . . 22
2.11.3. Module ietf-mpls . . . . . . . . . . . . . . . . . . 22 2.11.3. Module ietf-mpls . . . . . . . . . . . . . . . . . . 22
2.11.4. Module ietf-te . . . . . . . . . . . . . . . . . . . 22 2.11.4. Module ietf-te . . . . . . . . . . . . . . . . . . . 22
2.12. IANA BFD YANG Module . . . . . . . . . . . . . . . . . . 22 2.12. IANA BFD YANG Module . . . . . . . . . . . . . . . . . . 22
2.13. BFD types YANG Module . . . . . . . . . . . . . . . . . . 25 2.13. BFD types YANG Module . . . . . . . . . . . . . . . . . . 25
2.14. BFD top-level YANG Module . . . . . . . . . . . . . . . . 38 2.14. BFD top-level YANG Module . . . . . . . . . . . . . . . . 38
2.15. BFD IP single-hop YANG Module . . . . . . . . . . . . . . 39 2.15. BFD IP single-hop YANG Module . . . . . . . . . . . . . . 40
2.16. BFD IP multihop YANG Module . . . . . . . . . . . . . . . 43 2.16. BFD IP multihop YANG Module . . . . . . . . . . . . . . . 43
2.17. BFD over LAG YANG Module . . . . . . . . . . . . . . . . 46 2.17. BFD over LAG YANG Module . . . . . . . . . . . . . . . . 46
2.18. BFD over MPLS YANG Module . . . . . . . . . . . . . . . . 50 2.18. BFD over MPLS YANG Module . . . . . . . . . . . . . . . . 50
2.19. BFD over MPLS-TE YANG Module . . . . . . . . . . . . . . 53 2.19. BFD over MPLS-TE YANG Module . . . . . . . . . . . . . . 54
3. Data Model examples . . . . . . . . . . . . . . . . . . . . . 56 3. Data Model examples . . . . . . . . . . . . . . . . . . . . . 57
3.1. IP single-hop . . . . . . . . . . . . . . . . . . . . . . 56 3.1. IP single-hop . . . . . . . . . . . . . . . . . . . . . . 57
3.2. IP multihop . . . . . . . . . . . . . . . . . . . . . . . 57 3.2. IP multihop . . . . . . . . . . . . . . . . . . . . . . . 58
3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.3. LAG . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4. MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4. Security Considerations . . . . . . . . . . . . . . . . . . . 60
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 63 4. Security Considerations . . . . . . . . . . . . . . . . . . . 61
5.1. IANA-Maintained iana-bfd-types module . . . . . . . . . . 64 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 64
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 64 5.1. IANA-Maintained iana-bfd-types module . . . . . . . . . . 65
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 65 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 65
7.1. Normative References . . . . . . . . . . . . . . . . . . 65 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.2. Informative References . . . . . . . . . . . . . . . . . 67 7.1. Normative References . . . . . . . . . . . . . . . . . . 66
Appendix A. Echo function configuration example . . . . . . . . 68 7.2. Informative References . . . . . . . . . . . . . . . . . 68
A.1. Example YANG module for BFD echo function configuration . 68 Appendix A. Echo function configuration example . . . . . . . . 69
Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 70 A.1. Example YANG module for BFD echo function configuration . 69
B.1. Changes between versions -10 and -11 . . . . . . . . . . 70 Appendix B. Change log . . . . . . . . . . . . . . . . . . . . . 71
B.2. Changes between versions -09 and -10 . . . . . . . . . . 70 B.1. Changes between versions -11 and -12 . . . . . . . . . . 71
B.3. Changes between versions -08 and -09 . . . . . . . . . . 70 B.2. Changes between versions -10 and -11 . . . . . . . . . . 71
B.4. Changes between versions -07 and -08 . . . . . . . . . . 71 B.3. Changes between versions -09 and -10 . . . . . . . . . . 71
B.5. Changes between versions -06 and -07 . . . . . . . . . . 71 B.4. Changes between versions -08 and -09 . . . . . . . . . . 71
B.6. Changes between versions -05 and -06 . . . . . . . . . . 71 B.5. Changes between versions -07 and -08 . . . . . . . . . . 72
B.7. Changes between versions -04 and -05 . . . . . . . . . . 71 B.6. Changes between versions -06 and -07 . . . . . . . . . . 72
B.8. Changes between versions -03 and -04 . . . . . . . . . . 71 B.7. Changes between versions -05 and -06 . . . . . . . . . . 72
B.9. Changes between versions -02 and -03 . . . . . . . . . . 72 B.8. Changes between versions -04 and -05 . . . . . . . . . . 72
B.10. Changes between versions -01 and -02 . . . . . . . . . . 72 B.9. Changes between versions -03 and -04 . . . . . . . . . . 72
B.11. Changes between versions -00 and -01 . . . . . . . . . . 72 B.10. Changes between versions -02 and -03 . . . . . . . . . . 73
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 72 B.11. Changes between versions -01 and -02 . . . . . . . . . . 73
B.12. Changes between versions -00 and -01 . . . . . . . . . . 73
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 73
1. Introduction 1. Introduction
This document defines a YANG data model that can be used to configure This document defines a YANG data model that can be used to configure
and manage Bidirectional Forwarding Detection (BFD) [RFC5880]. BFD and manage Bidirectional Forwarding Detection (BFD) [RFC5880]. BFD
is a network protocol which is used for liveness detection of is a network protocol which is used for liveness detection of
arbitrary paths between systems. Some examples of different types of arbitrary paths between systems. Some examples of different types of
paths over which we have BFD: paths over which we have BFD:
1) Two systems directly connected via IP. This is known as BFD over 1) Two systems directly connected via IP. This is known as BFD over
skipping to change at page 4, line 24 skipping to change at page 4, line 27
for configuration and operational state data. for configuration and operational state data.
1.1. Requirements Language 1.1. 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
document are to be interpreted as described in BCP 14 [RFC2119] document are to be interpreted as described in BCP 14 [RFC2119]
[RFC8174] when, and only when, they appear in all capitals, as shown [RFC8174] when, and only when, they appear in all capitals, as shown
here. here.
1.2. Tree Diagrams
This document uses the graphical representation of data models
defined in [I-D.ietf-netmod-yang-tree-diagrams].
2. Design of the Data Model 2. Design of the Data Model
Since BFD is used for liveliness detection of various forwarding Since BFD is used for liveliness detection of various forwarding
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.
A new control-plane protocol "bfdv1" is defined and a "bfd" container A new control-plane protocol "bfdv1" is defined and a "bfd" container
is created under control-plane-protocol as specified in "A YANG Data is created under control-plane-protocol as specified in "A YANG Data
Model for Routing Management (NMDA Version)" Model for Routing Management (NMDA Version)" [RFC8349]. This new
[I-D.ietf-netmod-rfc8022bis]. This new "bfd" container is augmented "bfd" container is augmented by all the YANG modules for their
by all the YANG modules for their respective specific information: respective specific information:
1. ietf-bfd-ip-sh.yang augments "/routing/control-plane-protocols/ 1. ietf-bfd-ip-sh.yang augments "/routing/control-plane-protocols/
control-plane-protocol/bfd/" with the "ip-sh" container for BFD control-plane-protocol/bfd/" with the "ip-sh" container for BFD
sessions over IP single-hop. sessions over IP single-hop.
2. ietf-bfd-ip-mh.yang augments "/routing/control-plane-protocols/ 2. ietf-bfd-ip-mh.yang augments "/routing/control-plane-protocols/
control-plane-protocol/bfd/" with the "ip-mh" container for BFD control-plane-protocol/bfd/" with the "ip-mh" container for BFD
sessions over IP multi-hop. sessions over IP multi-hop.
3. ietf-bfd-lag.yang augments "/routing/control-plane-protocols/ 3. ietf-bfd-lag.yang augments "/routing/control-plane-protocols/
skipping to change at page 5, line 28 skipping to change at page 5, line 36
1. At the network device level 1. At the network device level
2. In Logical Network Elements as described in YANG Logical Network 2. In Logical Network Elements as described in YANG Logical Network
Element [I-D.ietf-rtgwg-lne-model] Element [I-D.ietf-rtgwg-lne-model]
3. In Network Instances as described in YANG Logical Network Element 3. In Network Instances as described in YANG Logical Network Element
[I-D.ietf-rtgwg-ni-model] [I-D.ietf-rtgwg-ni-model]
When used at the network device level, the BFD YANG model is used When used at the network device level, the BFD YANG model is used
"as-is". When the BFD model is to be used in a Logical Network "as-is". When the BFD YANG model is used in a Logical Network
Element or in a Network Instance, the approach taken is to do a Element or in a Network Instance, then the BFD YANG model augments
schema-mount (see Schema Mount [I-D.ietf-netmod-schema-mount]) of the the mounted routing model for the Logical Network Element or the
BFD model in the appropriate location. For example, if an Network Instance.
implementation supports BFD IP multihop in network instances, the
implementation would do schema-mount of the BFD IP multihop 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 BFD [RFC5880]. Some examples are desired minimum transmit in BFD [RFC5880]. Some examples are desired minimum transmit
interval, required minimum receive interval, detection multiplier, interval, required minimum receive interval, detection multiplier,
etc etc
BFD clients are applications that use BFD for fast detection of BFD clients are applications that use BFD for fast detection of
failures. Some implementations have BFD session configuration under failures. Some implementations have BFD session configuration under
skipping to change at page 10, line 25 skipping to change at page 10, line 32
2.4. RPC Operations 2.4. RPC Operations
None. None.
2.5. BFD top level hierarchy 2.5. BFD top level hierarchy
At the "bfd" node under control-plane-protocol, there is no At the "bfd" node under control-plane-protocol, there is no
configuration data, only operational state data. The operational configuration data, only operational state data. The operational
state data consist of overall BFD session statistics, i.e. for BFD on state data consist of overall BFD session statistics, i.e. for BFD on
all types of forwarding paths. The "bfd" node under control-plane- all types of forwarding paths.
protocol can be used in a network device (top-level), or mounted in
an LNE or in a network instance.
module: ietf-bfd module: ietf-bfd
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol: /rt:control-plane-protocol:
+--rw bfd +--rw bfd
+--ro summary +--ro summary
+--ro number-of-sessions? yang:gauge32 +--ro number-of-sessions? yang:gauge32
+--ro number-of-sessions-up? yang:gauge32 +--ro number-of-sessions-up? yang:gauge32
+--ro number-of-sessions-down? yang:gauge32 +--ro number-of-sessions-down? yang:gauge32
+--ro number-of-sessions-admin-down? yang:gauge32 +--ro number-of-sessions-admin-down? yang:gauge32
2.6. BFD IP single-hop hierarchy 2.6. BFD IP single-hop hierarchy
An "ip-sh" node is added under "bfd" node in control-plane-protocol. An "ip-sh" node is added under "bfd" node in control-plane-protocol.
The configuration and operational state data for each BFD IP single- The configuration and operational state data for each BFD IP single-
hop session is under this "ip-sh" node. The "ip-sh" node can be used hop session is under this "ip-sh" node.
in a network device (top-level), or mounted in an LNE or in a network
instance.
module: ietf-bfd-ip-sh module: ietf-bfd-ip-sh
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/bfd:bfd: /rt:control-plane-protocol/bfd:bfd:
+--rw ip-sh +--rw ip-sh
+--ro summary +--ro summary
| +--ro number-of-sessions? yang:gauge32 | +--ro number-of-sessions? yang:gauge32
| +--ro number-of-sessions-up? yang:gauge32 | +--ro number-of-sessions-up? yang:gauge32
| +--ro number-of-sessions-down? yang:gauge32 | +--ro number-of-sessions-down? yang:gauge32
| +--ro number-of-sessions-admin-down? yang:gauge32 | +--ro number-of-sessions-admin-down? yang:gauge32
+--rw sessions +--rw sessions
| +--rw session* [interface dest-addr] | +--rw session* [interface dest-addr]
| +--rw interface if:interface-ref | +--rw interface if:interface-ref
| +--rw dest-addr inet:ip-address | +--rw dest-addr inet:ip-address
skipping to change at page 12, line 38 skipping to change at page 12, line 40
+--ro path-type? identityref +--ro path-type? identityref
+--ro interface? if:interface-ref +--ro interface? if:interface-ref
+--ro echo-enabled? boolean +--ro echo-enabled? boolean
2.7. BFD IP multihop hierarchy 2.7. BFD IP multihop hierarchy
An "ip-mh" node is added under the "bfd" node in cntrol-plane- An "ip-mh" node is added under the "bfd" node in cntrol-plane-
protocol. The configuration and operational state data for each BFD protocol. The configuration and operational state data for each BFD
IP multihop session is under this "ip-mh" node. In the operational IP multihop session is under this "ip-mh" node. In the operational
state model we support multiple BFD multihop sessions per remote state model we support multiple BFD multihop sessions per remote
address (ECMP), the local discriminator is used as key. The "ip-mh" address (ECMP), the local discriminator is used as key.
node can be used in a network device (top-level), or mounted in an
LNE or in a network instance.
module: ietf-bfd-ip-mh module: ietf-bfd-ip-mh
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/bfd:bfd: /rt:control-plane-protocol/bfd:bfd:
+--rw ip-mh +--rw ip-mh
+--ro summary +--ro summary
| +--ro number-of-sessions? yang:gauge32 | +--ro number-of-sessions? yang:gauge32
| +--ro number-of-sessions-up? yang:gauge32 | +--ro number-of-sessions-up? yang:gauge32
| +--ro number-of-sessions-down? yang:gauge32 | +--ro number-of-sessions-down? yang:gauge32
| +--ro number-of-sessions-admin-down? yang:gauge32 | +--ro number-of-sessions-admin-down? yang:gauge32
skipping to change at page 14, line 32 skipping to change at page 14, line 33
+--ro time-of-last-state-change? yang:date-and-time +--ro time-of-last-state-change? yang:date-and-time
+--ro dest-addr? inet:ip-address +--ro dest-addr? inet:ip-address
+--ro source-addr? inet:ip-address +--ro source-addr? inet:ip-address
+--ro session-index? uint32 +--ro session-index? uint32
+--ro path-type? identityref +--ro path-type? identityref
2.8. BFD over LAG hierarchy 2.8. BFD over LAG hierarchy
A "lag" node is added under the "bfd" node in control-plane-protocol. A "lag" node is added under the "bfd" node in control-plane-protocol.
The configuration and operational state data for each BFD LAG session The configuration and operational state data for each BFD LAG session
is under this "lag" node. The "lag" node can be used in a network is under this "lag" node.
device (top-level), or mounted in an LNE or in a network instance.
module: ietf-bfd-lag module: ietf-bfd-lag
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
/rt:control-plane-protocol/bfd:bfd: /rt:control-plane-protocol/bfd:bfd:
+--rw lag +--rw lag
+--rw micro-bfd-ipv4-session-statistics +--rw micro-bfd-ipv4-session-statistics
| +--ro summary | +--ro summary
| +--ro number-of-sessions? yang:gauge32 | +--ro number-of-sessions? yang:gauge32
| +--ro number-of-sessions-up? yang:gauge32 | +--ro number-of-sessions-up? yang:gauge32
| +--ro number-of-sessions-down? yang:gauge32 | +--ro number-of-sessions-down? yang:gauge32
skipping to change at page 21, line 46 skipping to change at page 21, line 46
Generic YANG Data Model for Connectionless OAM protocols Generic YANG Data Model for Connectionless OAM protocols
[I-D.ietf-lime-yang-connectionless-oam] describes how the LIME [I-D.ietf-lime-yang-connectionless-oam] describes how the LIME
connectionless OAM model could be extended to support BFD. connectionless OAM model could be extended to support BFD.
Also, the operation of the BFD data model depends on configuration Also, the operation of the BFD data model depends on configuration
parameters that are defined in other YANG modules. parameters that are defined in other YANG modules.
2.11.1. Module ietf-interfaces 2.11.1. Module ietf-interfaces
The following boolean configuration is defined in A YANG Data Model The following boolean configuration is defined in A YANG Data Model
for Interface Management [I-D.ietf-netmod-rfc7223bis]: for Interface Management [RFC8343]:
/if:interfaces/if:interface/if:enabled /if:interfaces/if:interface/if:enabled
If this configuration is set to "false", no BFD packets can If this configuration is set to "false", no BFD packets can
be transmitted or received on that interface. be transmitted or received on that interface.
2.11.2. Module ietf-ip 2.11.2. Module ietf-ip
The following boolean configuration is defined in A YANG Data Model The following boolean configuration is defined in A YANG Data Model
for IP Management [I-D.ietf-netmod-rfc7277bis]: for IP Management [I-D.ietf-netmod-rfc7277bis]:
skipping to change at page 22, line 47 skipping to change at page 22, line 47
The following configuration is defined in the "ietf-te" YANG module The following configuration is defined in the "ietf-te" YANG module
YANG Data Model for TE Topology [I-D.ietf-teas-yang-te]: YANG Data Model for TE Topology [I-D.ietf-teas-yang-te]:
/ietf-te:te/ietf-te:tunnels/ietf-te:tunnel/ietf-te:config/ietf- /ietf-te:te/ietf-te:tunnels/ietf-te:tunnel/ietf-te:config/ietf-
te:admin-status te:admin-status
If this configuration is not set to "state-up", no BFD MPLS If this configuration is not set to "state-up", no BFD MPLS
packets can be transmitted or received on that tunnel. packets can be transmitted or received on that tunnel.
2.12. IANA BFD YANG Module 2.12. IANA BFD YANG Module
<CODE BEGINS> file "iana-bfd-types@2018-03-03.yang" <CODE BEGINS> file "iana-bfd-types@2018-03-20.yang"
module iana-bfd-types { module iana-bfd-types {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:iana-bfd-types"; namespace "urn:ietf:params:xml:ns:yang:iana-bfd-types";
prefix "iana-bfd-types"; prefix "iana-bfd-types";
organization "IANA"; organization "IANA";
skipping to change at page 23, line 45 skipping to change at page 23, line 45
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove // RFC Ed.: replace XXXX with actual RFC number and remove
// this note // this note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: IANA BFD YANG Data Types."; reference "RFC XXXX: IANA BFD YANG Data Types.";
} }
/* /*
* Type Definitions * Type Definitions
*/ */
typedef diagnostic { typedef diagnostic {
type enumeration { type enumeration {
enum none { enum none {
skipping to change at page 25, line 42 skipping to change at page 25, line 42
"BFD authentication type as defined in RFC 5880, values are "BFD authentication type as defined in RFC 5880, values are
maintained in the 'BFD Authentication Types' IANA registry. maintained in the 'BFD Authentication Types' IANA registry.
Range is 0 to 255."; Range is 0 to 255.";
} }
} }
<CODE ENDS> <CODE ENDS>
2.13. BFD types YANG Module 2.13. BFD types YANG Module
This YANG module imports typedefs from [RFC6991] and the "control- This YANG module imports typedefs from [RFC6991], [RFC8177] and the
plane-protocol" identity from [I-D.ietf-netmod-rfc8022bis]. "control-plane-protocol" identity from [RFC8349].
<CODE BEGINS> file "ietf-bfd-types@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-types@2018-03-20.yang"
module ietf-bfd-types { module ietf-bfd-types {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-types";
prefix "bfd-types"; prefix "bfd-types";
import iana-bfd-types { import iana-bfd-types {
prefix "iana-bfd-types"; prefix "iana-bfd-types";
skipping to change at page 26, line 22 skipping to change at page 26, line 22
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
import ietf-key-chain { import ietf-key-chain {
prefix "kc"; prefix "kc";
reference "RFC 8177: YANG Data Model for Key Chains"; reference "RFC 8177: YANG Data Model for Key Chains";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
skipping to change at page 27, line 18 skipping to change at page 27, line 17
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: YANG Data Model for BFD"; reference "RFC XXXX: YANG Data Model for BFD";
} }
/* /*
* Feature definitions * Feature definitions
*/ */
feature single-minimum-interval { feature single-minimum-interval {
description description
"This feature indicates that the server supports configuration "This feature indicates that the server supports configuration
of one minimum interval value which is used for both transmit and of one minimum interval value which is used for both transmit and
receive minimum intervals."; receive minimum intervals.";
} }
feature authentication { feature authentication {
description description
"This feature indicates that the server supports BFD "This feature indicates that the server supports BFD
authentication as defined in RFC 5880."; authentication.";
reference
"RFC 5880: Bidirectional Forwarding Detection (BFD),
section 6.7.";
} }
feature demand-mode { feature demand-mode {
description description
"This feature indicates that the server supports BFD demand mode "This feature indicates that the server supports BFD demand
as defined in RFC 5880."; mode.";
reference
"RFC 5880: Bidirectional Forwarding Detection (BFD),
section 6.6.";
} }
feature echo-mode { feature echo-mode {
description description
"This feature indicates that the server supports BFD echo mode "This feature indicates that the server supports BFD echo
as defined in RFC 5880."; mode.";
reference
"RFC 5880: Bidirectional Forwarding Detection (BFD),
section 6.4.";
} }
/* /*
* Identity definitions * Identity definitions
*/ */
identity bfdv1 { identity bfdv1 {
base "rt:control-plane-protocol"; base "rt:control-plane-protocol";
description "BFD protocol version 1 as per RFC 5880."; description "BFD protocol version 1.";
reference
"RFC 5880: Bidirectional Forwarding Detection (BFD).";
} }
identity path-type { identity path-type {
description description
"Base identity for BFD path type. The path type indicates "Base identity for BFD path type. The path type indicates
the type of path on which BFD is running."; the type of path on which BFD is running.";
} }
identity path-ip-sh { identity path-ip-sh {
base path-type; base path-type;
description "BFD on IP single hop as described in RFC 5881."; description "BFD on IP single hop.";
reference
"RFC 5881: Bidirectional Forwarding Detection (BFD)
for IPv4 and IPv6 (Single Hop).";
} }
identity path-ip-mh { identity path-ip-mh {
base path-type; base path-type;
description "BFD on IP multihop paths as described in RFC 5883."; description "BFD on IP multihop paths.";
reference
"RFC 5883: Bidirectional Forwarding Detection (BFD) for
Multihop Paths.";
} }
identity path-mpls-te { identity path-mpls-te {
base path-type; base path-type;
description description
"BFD on MPLS Traffic Engineering as described in RFC 5884."; "BFD on MPLS Traffic Engineering.";
reference
"RFC 5884: Bidirectional Forwarding Detection (BFD)
for MPLS Label Switched Paths (LSPs).";
} }
identity path-mpls-lsp { identity path-mpls-lsp {
base path-type; base path-type;
description description
"BFD on MPLS Label Switched Path as described in RFC 5884."; "BFD on MPLS Label Switched Path.";
reference
"RFC 5884: Bidirectional Forwarding Detection (BFD)
for MPLS Label Switched Paths (LSPs).";
} }
identity path-lag { identity path-lag {
base path-type; base path-type;
description description
"Micro-BFD on LAG member links as described in RFC 7130."; "Micro-BFD on LAG member links.";
reference
"RFC 7130: Bidirectional Forwarding Detection (BFD) on
Link Aggregation Group (LAG) Interfaces.";
} }
identity encap-type { identity encap-type {
description description
"Base identity for BFD encapsulation type."; "Base identity for BFD encapsulation type.";
} }
identity encap-ip { identity encap-ip {
base encap-type; base encap-type;
description "BFD with IP encapsulation."; description "BFD with IP encapsulation.";
} }
skipping to change at page 38, line 4 skipping to change at page 38, line 28
leaf path-type { leaf path-type {
type identityref { type identityref {
base path-type; base path-type;
} }
description "BFD path type."; description "BFD path type.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
2.14. BFD top-level YANG Module 2.14. BFD top-level YANG Module
This YANG module imports and augments "/routing/control-plane- This YANG module imports and augments "/routing/control-plane-
protocols/control-plane-protocol" from [I-D.ietf-netmod-rfc8022bis]. protocols/control-plane-protocol" from [RFC8349].
<CODE BEGINS> file "ietf-bfd@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd@2018-03-20.yang"
module ietf-bfd { module ietf-bfd {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd";
prefix "bfd"; prefix "bfd";
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX: YANG Data Model for BFD"; reference "RFC XXXX: YANG Data Model for BFD";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/bfd> "WG Web: <http://tools.ietf.org/wg/bfd>
WG List: <rtg-bfd@ietf.org> WG List: <rtg-bfd@ietf.org>
Editors: Reshad Rahman (rrahman@cisco.com), Editors: Reshad Rahman (rrahman@cisco.com),
Lianshu Zheng (vero.zheng@huawei.com), Lianshu Zheng (vero.zheng@huawei.com),
skipping to change at page 39, line 18 skipping to change at page 39, line 42
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: YANG Data Model for BFD"; reference "RFC XXXX: YANG Data Model for BFD";
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol" { + "rt:control-plane-protocol" {
when "derived-from-or-self(rt:type, 'bfd-types:bfdv1')" { when "derived-from-or-self(rt:type, 'bfd-types:bfdv1')" {
description description
"This augmentation is only valid for a control-plane protocol "This augmentation is only valid for a control-plane protocol
instance of BFD (type 'bfdv1')."; instance of BFD (type 'bfdv1').";
skipping to change at page 39, line 44 skipping to change at page 40, line 20
uses bfd-types:session-statistics-summary; uses bfd-types:session-statistics-summary;
} }
} }
} }
<CODE ENDS> <CODE ENDS>
2.15. BFD IP single-hop YANG Module 2.15. BFD IP single-hop YANG Module
This YANG module imports "interface-ref" from This YANG module imports "interface-ref" from [RFC8343], typedefs
[I-D.ietf-netmod-rfc7223bis]. from [RFC6991] and augments "/routing/control-plane-protocols/
control-plane-protocol" from [RFC8349].
<CODE BEGINS> file "ietf-bfd-ip-sh@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-ip-sh@2018-03-20.yang"
module ietf-bfd-ip-sh { module ietf-bfd-ip-sh {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-sh";
prefix "bfd-ip-sh"; prefix "bfd-ip-sh";
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
} }
import ietf-bfd { import ietf-bfd {
prefix "bfd"; prefix "bfd";
skipping to change at page 40, line 18 skipping to change at page 40, line 44
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
} }
import ietf-bfd { import ietf-bfd {
prefix "bfd"; prefix "bfd";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc7223bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Interface Management"; "RFC 8343: A YANG Data Model for Interface Management";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/bfd> "WG Web: <http://tools.ietf.org/wg/bfd>
WG List: <rtg-bfd@ietf.org> WG List: <rtg-bfd@ietf.org>
Editors: Reshad Rahman (rrahman@cisco.com), Editors: Reshad Rahman (rrahman@cisco.com),
Lianshu Zheng (vero.zheng@huawei.com), Lianshu Zheng (vero.zheng@huawei.com),
skipping to change at page 41, line 21 skipping to change at page 41, line 43
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: A YANG data model for BFD IP single-hop"; reference "RFC XXXX: A YANG data model for BFD IP single-hop";
} }
/* /*
* Augments * Augments
*/ */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" { + "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for IP single-hop"; description "BFD augmentation for IP single-hop";
skipping to change at page 43, line 4 skipping to change at page 43, line 25
description "Interface to which this BFD session belongs to."; description "Interface to which this BFD session belongs to.";
} }
leaf echo-enabled { leaf echo-enabled {
type boolean; type boolean;
description "Was echo enabled for BFD."; description "Was echo enabled for BFD.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
2.16. BFD IP multihop YANG Module 2.16. BFD IP multihop YANG Module
This YANG module imports typedefs from [RFC6991]. This YANG module imports typedefs from [RFC6991] and augments
"/routing/control-plane-protocols/control-plane-protocol" from
[RFC8349].
<CODE BEGINS> file "ietf-bfd-ip-mh@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-ip-mh@2018-03-20.yang"
module ietf-bfd-ip-mh { module ietf-bfd-ip-mh {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-ip-mh";
prefix "bfd-ip-mh"; prefix "bfd-ip-mh";
import ietf-bfd-types { import ietf-bfd-types {
skipping to change at page 43, line 27 skipping to change at page 44, line 4
prefix "bfd-ip-mh"; prefix "bfd-ip-mh";
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
} }
import ietf-bfd { import ietf-bfd {
prefix "bfd"; prefix "bfd";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/bfd> "WG Web: <http://tools.ietf.org/wg/bfd>
WG List: <rtg-bfd@ietf.org> WG List: <rtg-bfd@ietf.org>
Editors: Reshad Rahman (rrahman@cisco.com), Editors: Reshad Rahman (rrahman@cisco.com),
Lianshu Zheng (vero.zheng@huawei.com), Lianshu Zheng (vero.zheng@huawei.com),
skipping to change at page 44, line 25 skipping to change at page 44, line 48
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: A YANG data model for BFD IP multihop."; reference "RFC XXXX: A YANG data model for BFD IP multihop.";
} }
/* /*
* Augments * Augments
*/ */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" { + "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for IP multihop."; description "BFD augmentation for IP multihop.";
container ip-mh { container ip-mh {
description "BFD IP multihop top level container."; description "BFD IP multihop top level container.";
uses bfd-types:session-statistics-summary; uses bfd-types:session-statistics-summary;
skipping to change at page 46, line 4 skipping to change at page 46, line 26
* Notifications * Notifications
*/ */
notification multihop-notification { notification 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-types:notification-parms; uses bfd-types:notification-parms;
} }
} }
<CODE ENDS> <CODE ENDS>
2.17. BFD over LAG YANG Module 2.17. BFD over LAG YANG Module
This YANG module imports "interface-ref" from This YANG module imports "interface-ref" from [RFC8343], typedefs
[I-D.ietf-netmod-rfc7223bis]. from [RFC6991] and augments "/routing/control-plane-protocols/
control-plane-protocol" from [RFC8349].
<CODE BEGINS> file "ietf-bfd-lag@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-lag@2018-03-20.yang"
module ietf-bfd-lag { module ietf-bfd-lag {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag";
prefix "bfd-lag"; prefix "bfd-lag";
import ietf-bfd-types { import ietf-bfd-types {
skipping to change at page 46, line 30 skipping to change at page 47, line 4
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-lag";
prefix "bfd-lag"; prefix "bfd-lag";
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
} }
import ietf-bfd { import ietf-bfd {
prefix "bfd"; prefix "bfd";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc7223bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Interface Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of // RFC Ed.: replace XXXX with actual RFC number of
skipping to change at page 47, line 36 skipping to change at page 48, line 10
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: A YANG data model for BFD over LAG"; reference "RFC XXXX: A YANG data model for BFD over LAG";
} }
/* /*
* Augments * Augments
*/ */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" { + "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for LAG"; description "BFD augmentation for LAG";
skipping to change at page 50, line 7 skipping to change at page 50, line 27
type if:interface-ref; type if:interface-ref;
description "Member link on which BFD is running."; description "Member link on which BFD is running.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
2.18. BFD over MPLS YANG Module 2.18. BFD over MPLS YANG Module
This YANG module imports typedefs from [RFC6991]. This YANG module imports typedefs from [RFC6991] and augments
"/routing/control-plane-protocols/control-plane-protocol" from
[RFC8349].
<CODE BEGINS> file "ietf-bfd-mpls@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-mpls@2018-03-20.yang"
module ietf-bfd-mpls { module ietf-bfd-mpls {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls";
prefix "bfd-mpls"; prefix "bfd-mpls";
import ietf-bfd-types { import ietf-bfd-types {
skipping to change at page 50, line 30 skipping to change at page 51, line 4
prefix "bfd-types"; prefix "bfd-types";
} }
import ietf-bfd { import ietf-bfd {
prefix "bfd"; prefix "bfd";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
reference "RFC 6991: Common YANG Data Types"; reference "RFC 6991: Common YANG Data Types";
} }
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/bfd> "WG Web: <http://tools.ietf.org/wg/bfd>
WG List: <rtg-bfd@ietf.org> WG List: <rtg-bfd@ietf.org>
Editors: Reshad Rahman (rrahman@cisco.com), Editors: Reshad Rahman (rrahman@cisco.com),
Lianshu Zheng (vero.zheng@huawei.com), Lianshu Zheng (vero.zheng@huawei.com),
skipping to change at page 51, line 23 skipping to change at page 51, line 46
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference "RFC XXXX: A YANG data model for BFD over MPLS LSPs"; reference "RFC XXXX: A YANG data model for BFD over MPLS LSPs";
} }
/* /*
* Identity definitions * Identity definitions
*/ */
identity encap-gach { identity encap-gach {
base bfd-types:encap-type; base bfd-types:encap-type;
description description
skipping to change at page 53, line 51 skipping to change at page 54, line 24
} }
} }
<CODE ENDS> <CODE ENDS>
2.19. BFD over MPLS-TE YANG Module 2.19. BFD over MPLS-TE YANG Module
This YANG module imports and augments "/te/tunnels/tunnel" from This YANG module imports and augments "/te/tunnels/tunnel" from
[I-D.ietf-teas-yang-te]. [I-D.ietf-teas-yang-te].
<CODE BEGINS> file "ietf-bfd-mpls-te@2018-03-03.yang" <CODE BEGINS> file "ietf-bfd-mpls-te@2018-03-20.yang"
module ietf-bfd-mpls-te { module ietf-bfd-mpls-te {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te"; namespace "urn:ietf:params:xml:ns:yang:ietf-bfd-mpls-te";
prefix "bfd-mpls-te"; prefix "bfd-mpls-te";
import ietf-bfd-types { import ietf-bfd-types {
prefix "bfd-types"; prefix "bfd-types";
skipping to change at page 54, line 30 skipping to change at page 55, line 4
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 { import ietf-routing {
prefix "rt"; prefix "rt";
// RFC Ed.: replace XXXX with actual RFC number of
// draft-ietf-netmod-rfc8022bis and remove this note.
reference reference
"RFC XXXX: A YANG Data Model for Routing Management"; "RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
} }
organization "IETF BFD Working Group"; organization "IETF BFD Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/bfd> "WG Web: <http://tools.ietf.org/wg/bfd>
WG List: <rtg-bfd@ietf.org> WG List: <rtg-bfd@ietf.org>
Editors: Reshad Rahman (rrahman@cisco.com), Editors: Reshad Rahman (rrahman@cisco.com),
Lianshu Zheng (vero.zheng@huawei.com), Lianshu Zheng (vero.zheng@huawei.com),
skipping to change at page 55, line 20 skipping to change at page 55, line 41
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
reference "RFC XXXX"; reference "RFC XXXX";
revision 2018-03-03 { revision 2018-03-20 {
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";
} }
/* /*
* Augments * Augments
*/ */
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/bfd:bfd" { + "rt:control-plane-protocol/bfd:bfd" {
description "BFD augmentation for MPLS-TE."; description "BFD augmentation for MPLS-TE.";
skipping to change at page 64, line 37 skipping to change at page 65, line 37
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
5.1. IANA-Maintained iana-bfd-types module 5.1. IANA-Maintained iana-bfd-types module
This document defines the initial version of the IANA-maintained This document defines the initial version of the IANA-maintained
iana-bfd-types YANG module. iana-bfd-types YANG module.
The iana-bfd-types YANG module is intended to reflect the "BFD The iana-bfd-types YANG module mirrors the "BFD Diagnostic Codes"
Diagnostic Codes" registry and "BFD Authentication Types" registry at registry and "BFD Authentication Types" registry at
https://www.iana.org/assignments/bfd-parameters/bfd-parameters.xhtml https://www.iana.org/assignments/bfd-parameters/bfd-parameters.xhtml.
Whenever that registry changes, IANA must update the iana-bfd-types
YANG module.
6. Acknowledgements 6. 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. We would Gandhi and Tarek Saad for their help on the MPLS-TE model. We would
also like to thank Acee Lindem for his guidance. also like to thank Acee Lindem for his guidance.
7. References 7. References
7.1. Normative References 7.1. Normative References
[I-D.ietf-mpls-base-yang] [I-D.ietf-mpls-base-yang]
Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A Saad, T., Raza, K., Gandhi, R., Liu, X., and V. Beeram, "A
YANG Data Model for MPLS Base", draft-ietf-mpls-base- YANG Data Model for MPLS Base", draft-ietf-mpls-base-
yang-06 (work in progress), February 2018. yang-06 (work in progress), February 2018.
[I-D.ietf-netmod-rfc7223bis]
Bjorklund, M., "A YANG Data Model for Interface
Management", draft-ietf-netmod-rfc7223bis-03 (work in
progress), January 2018.
[I-D.ietf-netmod-rfc7277bis] [I-D.ietf-netmod-rfc7277bis]
Bjorklund, M., "A YANG Data Model for IP Management", Bjorklund, M., "A YANG Data Model for IP Management",
draft-ietf-netmod-rfc7277bis-03 (work in progress), draft-ietf-netmod-rfc7277bis-03 (work in progress),
January 2018. January 2018.
[I-D.ietf-netmod-rfc8022bis] [I-D.ietf-netmod-yang-tree-diagrams]
Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
Routing Management (NMDA Version)", draft-ietf-netmod- ietf-netmod-yang-tree-diagrams-06 (work in progress),
rfc8022bis-11 (work in progress), January 2018. February 2018.
[I-D.ietf-teas-yang-te] [I-D.ietf-teas-yang-te]
Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and
I. Bryskin, "A YANG Data Model for Traffic Engineering I. Bryskin, "A YANG Data Model for Traffic Engineering
Tunnels and Interfaces", draft-ietf-teas-yang-te-12 (work Tunnels and Interfaces", draft-ietf-teas-yang-te-14 (work
in progress), February 2018. in progress), March 2018.
[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, <https://www.rfc- DOI 10.17487/RFC2119, March 1997, <https://www.rfc-
editor.org/info/rfc2119>. editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, <https://www.rfc- DOI 10.17487/RFC3688, January 2004, <https://www.rfc-
editor.org/info/rfc3688>. editor.org/info/rfc3688>.
skipping to change at page 67, line 24 skipping to change at page 68, line 18
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J.
Zhang, "YANG Data Model for Key Chains", RFC 8177, Zhang, "YANG Data Model for Key Chains", RFC 8177,
DOI 10.17487/RFC8177, June 2017, <https://www.rfc- DOI 10.17487/RFC8177, June 2017, <https://www.rfc-
editor.org/info/rfc8177>. editor.org/info/rfc8177>.
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
<https://www.rfc-editor.org/info/rfc8343>.
[RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for
Routing Management (NMDA Version)", RFC 8349,
DOI 10.17487/RFC8349, March 2018, <https://www.rfc-
editor.org/info/rfc8349>.
7.2. Informative References 7.2. Informative References
[I-D.ietf-lime-yang-connectionless-oam] [I-D.ietf-lime-yang-connectionless-oam]
Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan, Kumar, D., Wang, Z., Wu, Q., Rahman, R., and S. Raghavan,
"Generic YANG Data Model for the Management of Operations, "Generic YANG Data Model for the Management of Operations,
Administration, and Maintenance (OAM) Protocols that use Administration, and Maintenance (OAM) Protocols that use
Connectionless Communications", draft-ietf-lime-yang- Connectionless Communications", draft-ietf-lime-yang-
connectionless-oam-18 (work in progress), November 2017. connectionless-oam-18 (work in progress), November 2017.
[I-D.ietf-netmod-revised-datastores] [I-D.ietf-netmod-revised-datastores]
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
and R. Wilton, "Network Management Datastore and R. Wilton, "Network Management Datastore
Architecture", draft-ietf-netmod-revised-datastores-10 Architecture", draft-ietf-netmod-revised-datastores-10
(work in progress), January 2018. (work in progress), January 2018.
[I-D.ietf-netmod-schema-mount]
Bjorklund, M. and L. Lhotka, "YANG Schema Mount", draft-
ietf-netmod-schema-mount-08 (work in progress), October
2017.
[I-D.ietf-rtgwg-lne-model] [I-D.ietf-rtgwg-lne-model]
Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X.
Liu, "YANG Model for Logical Network Elements", draft- Liu, "YANG Model for Logical Network Elements", draft-
ietf-rtgwg-lne-model-07 (work in progress), February 2018. ietf-rtgwg-lne-model-09 (work in progress), March 2018.
[I-D.ietf-rtgwg-ni-model] [I-D.ietf-rtgwg-ni-model]
Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X. Berger, L., Hopps, C., Lindem, A., Bogdanovic, D., and X.
Liu, "YANG Model for Network Instances", draft-ietf-rtgwg- Liu, "YANG Model for Network Instances", draft-ietf-rtgwg-
ni-model-10 (work in progress), February 2018. ni-model-11 (work in progress), March 2018.
Appendix A. Echo function configuration example Appendix A. Echo function configuration example
As mentioned in Section 2.1.2, the mechanism to start and stop the As mentioned in Section 2.1.2, the mechanism to start and stop the
echo function, as defined in [RFC5880] and [RFC5881], is echo function, as defined in [RFC5880] and [RFC5881], is
implementation specific. In this section we provide an example of implementation specific. In this section we provide an example of
how the echo function can be implemented via configuration. how the echo function can be implemented via configuration.
module: example-bfd-echo module: example-bfd-echo
augment /rt:routing/rt:control-plane-protocols augment /rt:routing/rt:control-plane-protocols
skipping to change at page 69, line 22 skipping to change at page 70, line 22
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices."; the RFC itself for full legal notices.";
revision 2018-03-03 { revision 2018-03-20 {
description "Initial revision."; description "Initial revision.";
reference reference
"RFC XXXX: A YANG data model example augmentation for BFD echo "RFC XXXX: A YANG data model example augmentation for BFD echo
function"; function";
} }
// RFC Ed.: replace XXXX with actual RFC number and remove this // RFC Ed.: replace XXXX with actual RFC number and remove this
// note // note
/* /*
skipping to change at page 70, line 28 skipping to change at page 71, line 28
uses echo-cfg-parms; uses echo-cfg-parms;
} }
} }
} }
Appendix B. Change log Appendix B. Change log
RFC Editor: Remove this section upon publication as an RFC. RFC Editor: Remove this section upon publication as an RFC.
B.1. Changes between versions -10 and -11 B.1. Changes between versions -11 and -12
o Addressed comments from YANG Doctor review of rev11.
B.2. Changes between versions -10 and -11
o Added 2 examples. o Added 2 examples.
o Added a container around some lists. o Added a container around some lists.
o Fixed some indentation nits. o Fixed some indentation nits.
B.2. Changes between versions -09 and -10 B.3. Changes between versions -09 and -10
o Addressed comments from YANG Doctor review. o Addressed comments from YANG Doctor review.
o Addressed comments from WGLC. o Addressed comments from WGLC.
B.3. Changes between versions -08 and -09 B.4. Changes between versions -08 and -09
o Mostly cosmetic changes to abide by draft-ietf-netmod-rfc6087bis. o Mostly cosmetic changes to abide by draft-ietf-netmod-rfc6087bis.
o Specified yang-version 1.1. o Specified yang-version 1.1.
o Added data model examples. o Added data model examples.
o Some minor changes. o Some minor changes.
B.4. Changes between versions -07 and -08 B.5. Changes between versions -07 and -08
o Timer intervals in client-cfg-parms are not mandatory anymore. o Timer intervals in client-cfg-parms are not mandatory anymore.
o Added list of interfaces under "ip-sh" node for authentication o Added list of interfaces under "ip-sh" node for authentication
parameters. parameters.
o Renamed replay-protection to meticulous. o Renamed replay-protection to meticulous.
B.5. Changes between versions -06 and -07 B.6. Changes between versions -06 and -07
o New ietf-bfd-types module. o New ietf-bfd-types module.
o Grouping for BFD clients to have BFD multiplier and interval o Grouping for BFD clients to have BFD multiplier and interval
values. values.
o Change in ietf-bfd-mpls-te since MPLS-TE model changed. o Change in ietf-bfd-mpls-te since MPLS-TE model changed.
o Removed bfd- prefix from many names. o Removed bfd- prefix from many names.
B.6. Changes between versions -05 and -06 B.7. Changes between versions -05 and -06
o Adhere to NMDA-guidelines. o Adhere to NMDA-guidelines.
o Echo function config moved to appendix as example. o Echo function config moved to appendix as example.
o Added IANA YANG modules. o Added IANA YANG modules.
o Addressed various comments. o Addressed various comments.
B.7. Changes between versions -04 and -05 B.8. Changes between versions -04 and -05
o "bfd" node in augment of control-plane-protocol. o "bfd" node in augment of control-plane-protocol.
o Removed augment of network-instance. Replaced by schema-mount. o Removed augment of network-instance. Replaced by schema-mount.
o Added information on interaction with other YANG modules. o Added information on interaction with other YANG modules.
B.8. Changes between versions -03 and -04 B.9. Changes between versions -03 and -04
o Updated author information. o Updated author information.
o Fixed YANG compile error in ietf-bfd-lag.yang which was due to o Fixed YANG compile error in ietf-bfd-lag.yang which was due to
incorrect when statement. incorrect when statement.
B.9. Changes between versions -02 and -03 B.10. Changes between versions -02 and -03
o Fixed YANG compilation warning due to incorrect revision date in o Fixed YANG compilation warning due to incorrect revision date in
ietf-bfd-ip-sh module. ietf-bfd-ip-sh module.
B.10. Changes between versions -01 and -02 B.11. Changes between versions -01 and -02
o Replace routing-instance with network-instance from YANG Network o Replace routing-instance with network-instance from YANG Network
Instances [I-D.ietf-rtgwg-ni-model] Instances [I-D.ietf-rtgwg-ni-model]
B.11. Changes between versions -00 and -01 B.12. Changes between versions -00 and -01
o Remove BFD configuration parameters from BFD clients, all BFD o Remove BFD configuration parameters from BFD clients, all BFD
configuration parameters in BFD configuration parameters in BFD
o YANG module split in multiple YANG modules (one per type of o YANG module split in multiple YANG modules (one per type of
forwarding path) forwarding path)
o For BFD over MPLS-TE we augment MPLS-TE model o For BFD over MPLS-TE we augment MPLS-TE model
o For BFD authentication we now use YANG Data Model for Key Chains o For BFD authentication we now use YANG Data Model for Key Chains
 End of changes. 93 change blocks. 
153 lines changed or deleted 183 lines changed or added

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