draft-ietf-ospf-yang-13.txt | draft-ietf-ospf-yang-14.txt | |||
---|---|---|---|---|
Internet D. Yeung | Internet D. Yeung | |||
Internet-Draft Arrcus | Internet-Draft Arrcus | |||
Intended status: Standards Track Y. Qu | Intended status: Standards Track Y. Qu | |||
Expires: January 27, 2019 Huawei | Expires: March 1, 2019 Huawei | |||
J. Zhang | J. Zhang | |||
Juniper Networks | Juniper Networks | |||
I. Chen | I. Chen | |||
Jabil | Jabil | |||
A. Lindem | A. Lindem | |||
Cisco Systems | Cisco Systems | |||
July 26, 2018 | August 28, 2018 | |||
Yang Data Model for OSPF Protocol | Yang Data Model for OSPF Protocol | |||
draft-ietf-ospf-yang-13 | draft-ietf-ospf-yang-14 | |||
Abstract | Abstract | |||
This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
and manage OSPF. | and manage OSPF. The model is based on YANG 1.1 as defined in RFC | |||
7950 and conforms to the Network Management Datastore Architecture | ||||
(NDMA) as described in RFC 8342. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at 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 January 27, 2019. | This Internet-Draft will expire on March 1, 2019. | |||
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. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
2. Design of Data Model . . . . . . . . . . . . . . . . . . . . 3 | 2. Design of Data Model . . . . . . . . . . . . . . . . . . . . 3 | |||
2.1. OSPF Operational State . . . . . . . . . . . . . . . . . 3 | 2.1. OSPF Operational State . . . . . . . . . . . . . . . . . 3 | |||
2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.3. OSPFv2 and OSPFv3 . . . . . . . . . . . . . . . . . . . . 5 | 2.3. OSPFv2 and OSPFv3 . . . . . . . . . . . . . . . . . . . . 5 | |||
2.4. Optional Features . . . . . . . . . . . . . . . . . . . . 5 | 2.4. Optional Features . . . . . . . . . . . . . . . . . . . . 5 | |||
2.5. OSPF Router Configuration/Operational State . . . . . . . 5 | 2.5. OSPF Router Configuration/Operational State . . . . . . . 7 | |||
2.6. OSPF Area Configuration/Operational State . . . . . . . . 8 | 2.6. OSPF Area Configuration/Operational State . . . . . . . . 10 | |||
2.7. OSPF Interface Configuration/Operational State . . . . . 13 | 2.7. OSPF Interface Configuration/Operational State . . . . . 15 | |||
2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 16 | 2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 17 | |||
2.9. OSPF RPC Operations . . . . . . . . . . . . . . . . . . . 19 | 2.9. OSPF RPC Operations . . . . . . . . . . . . . . . . . . . 21 | |||
3. OSPF Yang Module . . . . . . . . . . . . . . . . . . . . . . 20 | 3. OSPF Yang Module . . . . . . . . . . . . . . . . . . . . . . 22 | |||
4. Security Considerations . . . . . . . . . . . . . . . . . . . 104 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 106 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 105 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 107 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 106 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 107 | |||
7. Normative References . . . . . . . . . . . . . . . . . . . . 106 | 7. Normative References . . . . . . . . . . . . . . . . . . . . 108 | |||
Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 112 | Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 114 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 112 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 114 | |||
1. Overview | 1. Overview | |||
YANG [RFC6020] is a data definition language used to define the | YANG [RFC6020][RFC7950] is a data definition language used to define | |||
contents of a conceptual data store that allows networked devices to | the contents of a conceptual data store that allows networked devices | |||
be managed using NETCONF [RFC6241]. YANG is proving relevant beyond | to be managed using NETCONF [RFC6241]. YANG is proving relevant | |||
its initial confines, as bindings to other interfaces (e.g., ReST) | beyond its initial confines, as bindings to other interfaces (e.g., | |||
and encodings other than XML (e.g., JSON) are being defined. | ReST) and encodings other than XML (e.g., JSON) are being defined. | |||
Furthermore, YANG data models can be used as the basis for | Furthermore, YANG data models can be used as the basis for | |||
implementation of other interfaces, such as CLI and programmatic | implementation of other interfaces, such as CLI and programmatic | |||
APIs. | APIs. | |||
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 OSPF and it is an augmentation to the core routing data | and manage OSPF and it is an augmentation to the core routing data | |||
model. A core routing data model is defined in [RFC8349], and it | model. If fully conforms to the Network Management Datastore | |||
provides the basis for the development of data models for routing | Architecture (NDMA) [RFC8342]. A core routing data model is defined | |||
protocols. The interface data model is defined in [RFC8343] and is | in [RFC8349], and it provides the basis for the development of data | |||
used for referencing interfaces from the routing protocol. The key- | models for routing protocols. The interface data model is defined in | |||
chain data model used for OSPF authentication is defined in [RFC8177] | [RFC8343] and is used for referencing interfaces from the routing | |||
and provides both a reference to configured key-chains and an | protocol. The key-chain data model used for OSPF authentication is | |||
enumeration of cryptographic algorithms. | defined in [RFC8177] and provides both a reference to configured key- | |||
chains and an enumeration of cryptographic algorithms. | ||||
Both OSPFv2 [RFC2328] and OSPFv3 [RFC5340] are supported. In | Both OSPFv2 [RFC2328] and OSPFv3 [RFC5340] are supported. In | |||
addition to the core OSPF protocol, features described in other OSPF | addition to the core OSPF protocol, features described in other OSPF | |||
RFCs are also supported. These includes demand circuit [RFC1793], | RFCs are also supported. These includes demand circuit [RFC1793], | |||
traffic engineering [RFC3630], multiple address family [RFC5838], | traffic engineering [RFC3630], multiple address family [RFC5838], | |||
graceful restart [RFC3623] [RFC5187], NSSA [RFC3101], and OSPF(v3) as | graceful restart [RFC3623] [RFC5187], NSSA [RFC3101], and OSPF(v3) as | |||
a PE-CE Protocol [RFC4577], [RFC6565]. These non-core features are | a PE-CE Protocol [RFC4577], [RFC6565]. These non-core features are | |||
optional in the OSPF data model. | optional in the OSPF data model. | |||
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", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
1.2. Tree Diagrams | ||||
This document uses the graphical representation of data models | ||||
defined in [RFC8340]. | ||||
2. Design of Data Model | 2. Design of Data Model | |||
Although the basis of OSPF configuration elements like routers, | Although the basis of OSPF configuration elements like routers, | |||
areas, and interfaces remains the same, the detailed configuration | areas, and interfaces remains the same, the detailed configuration | |||
model varies among router vendors. Differences are observed in terms | model varies among router vendors. Differences are observed in terms | |||
of how the protocol engine is tied to the routing domain, how | of how the protocol engine is tied to the routing domain, how | |||
multiple protocol engines are be instantiated among others. | multiple protocol engines are be instantiated among others. | |||
The goal of this document is to define a data model that provides a | The goal of this document is to define a data model that provides a | |||
common user interface to the OSPFv2 and OSPFv3 protocols. There is | common user interface to the OSPFv2 and OSPFv3 protocols. There is | |||
skipping to change at page 5, line 19 ¶ | skipping to change at page 5, line 26 ¶ | |||
The field 'version' is used to indicate the OSPF version and is | The field 'version' is used to indicate the OSPF version and is | |||
mandatory. Based on the configured version, the data model varies to | mandatory. Based on the configured version, the data model varies to | |||
accommodate the differences between OSPFv2 and OSPFv3. | accommodate the differences between OSPFv2 and OSPFv3. | |||
2.4. Optional Features | 2.4. Optional Features | |||
Optional features are beyond the basic OSPF configuration and it is | Optional features are beyond the basic OSPF configuration and it is | |||
the responsibility of each vendor to decide whether to support a | the responsibility of each vendor to decide whether to support a | |||
given feature on a particular device. | given feature on a particular device. | |||
This model defines a number of features, such as NSR, max-LSA, etc. | This model defines the following optional features: | |||
1. multi-topology: Support Multiple-Topolgy Routing (MTR) | ||||
[RFC4915]. | ||||
2. multi-area-adj: Support OSPF multi-area adjacency [RFC5185]. | ||||
3. explicit-router-id: Support explicit per-instance Router-ID | ||||
specification. | ||||
4. demand-circuit: Support OSPF demand circuits [RFC1793]. | ||||
5. mtu-ignore: Support disabling OSPF Database Description packet | ||||
MTU mismatch checking. | ||||
6. lls: Support OSPF link-local signaling (LLS) [RFC5613]. | ||||
7. prefix-suppression: Support OSPF prefix advertisement | ||||
suppression [RFC6860]. | ||||
8. ttl-security: Support OSPF Time to Live (TTL) security check | ||||
suppression [RFC5082]. | ||||
9. nsr: Support OSPF Non-Stop Routing (NSR). | ||||
10. graceful-restart: Support Graceful OSPF Restart [RFC3623], | ||||
[RFC5187]. | ||||
11. admin-control> Support Administrative control of the protocol | ||||
state. | ||||
12. auto-cost: Support OSPF interface cost calculation according to | ||||
reference bandwidth [RFC2328]. | ||||
13. max-ecmp: Support configuration of the maximum number of Equal- | ||||
Cost Multi-Path (ECMP) paths. | ||||
14. max-lsa: Support configuration of the maximum number of LSAs the | ||||
OSPF instance will accept [RFC1765]. | ||||
15. te-rid: Support configuration of the Traffic Engineering (TE) | ||||
Router-ID [RFC3630], [RFC5329]. | ||||
16. ldp-igp-sync: Support LDP IGP synchronization [RFC5443]. | ||||
17. ospfv3-authentication-ipsec: Support IPsec for OSPFv3 | ||||
authentication [RFC4552]. | ||||
18. fast-reroute: Support IP Fast Reroute (IP-FRR) [RFC5714]. | ||||
19. node-flag: Support node-flag for OSPF prefixes. [RFC7684]. | ||||
20. node-tag: Support node admin tag for OSPF instances [RFC7777]. | ||||
21. lfa: Support Loop-Free Alternates (LFAs) [RFC5286]. | ||||
22. remote-lfa: Support Remote Loop-Free Alternates (R-LFA) | ||||
[RFC7490]. | ||||
23. stub-router: Support RFC 6987 OSPF Stub Router advertisement | ||||
[RFC6987]. | ||||
24. pe-ce-protocol: Support OSPF as a PE-CE protocol [RFC4577], | ||||
[RFC6565]. | ||||
25. ietf-spf-delay: Support IETF SPF delay algorithm [RFC8405]. | ||||
26. bfd: Support BFD detection of OSPF neighbor reachability | ||||
[RFC5880], xref target="RFC5881"/> | ||||
It is expected that vendors will support additional features through | It is expected that vendors will support additional features through | |||
vendor-specific augmentations. | vendor-specific augmentations. | |||
2.5. OSPF Router Configuration/Operational State | 2.5. OSPF Router Configuration/Operational State | |||
The ospf container is the top level container in this data model. It | The ospf container is the top level container in this data model. It | |||
represents an OSPF protocol engine instance and contains the router | represents an OSPF protocol engine instance and contains the router | |||
level configuration and operational state. The operational state | level configuration and operational state. The operational state | |||
includes the instance statistics, IETF SPF delay statistics, AS- | includes the instance statistics, IETF SPF delay statistics, AS- | |||
Scoped Link State Database, local RIB, SPF Log, and the LSA log. | Scoped Link State Database, local RIB, SPF Log, and the LSA log. | |||
skipping to change at page 8, line 46 ¶ | skipping to change at page 10, line 28 ¶ | |||
| +--ro received-timestamp? yang:timestamp | | +--ro received-timestamp? yang:timestamp | |||
| +--ro reason? identityref | | +--ro reason? identityref | |||
. | . | |||
. | . | |||
2.6. OSPF Area Configuration/Operational State | 2.6. OSPF Area Configuration/Operational State | |||
The area container contains OSPF area configuration and the list of | The area container contains OSPF area configuration and the list of | |||
interface containers representing all the OSPF interfaces in the | interface containers representing all the OSPF interfaces in the | |||
area. The area operational state includes the area statistics and | area. The area operational state includes the area statistics and | |||
the area Link State Database (LSDB). | the Area Link State Database (LSDB). | |||
module: ietf-ospf | module: ietf-ospf | |||
augment /rt:routing/rt:control-plane-protocols/ | augment /rt:routing/rt:control-plane-protocols/ | |||
rt:control-plane-protocol: | rt:control-plane-protocol: | |||
+--rw ospf | +--rw ospf | |||
. | . | |||
. | . | |||
+--rw areas | +--rw areas | |||
| +--rw area* [area-id] | | +--rw area* [area-id] | |||
| +--rw area-id area-id-type | | +--rw area-id area-id-type | |||
skipping to change at page 13, line 41 ¶ | skipping to change at page 15, line 23 ¶ | |||
| | +--ro link-scope-lsa-type* [lsa-type] | | | +--ro link-scope-lsa-type* [lsa-type] | |||
| | +--ro lsa-type uint16 | | | +--ro lsa-type uint16 | |||
| | +--ro link-scope-lsas | | | +--ro link-scope-lsas | |||
. . | . . | |||
. . | . . | |||
2.7. OSPF Interface Configuration/Operational State | 2.7. OSPF Interface Configuration/Operational State | |||
The interface container contains OSPF interface configuration and | The interface container contains OSPF interface configuration and | |||
operational state. The interface operational state includes the | operational state. The interface operational state includes the | |||
statistics, list of neighbors, and link-local Link State database | statistics, list of neighbors, and Link-Local Link State Database | |||
(LSDB). | (LSDB). | |||
module: ietf-ospf | module: ietf-ospf | |||
augment /rt:routing/rt:control-plane-protocols/ | augment /rt:routing/rt:control-plane-protocols/ | |||
rt:control-plane-protocol: | rt:control-plane-protocol: | |||
+--rw ospf | +--rw ospf | |||
. | . | |||
. | . | |||
+--rw areas | +--rw areas | |||
| +--rw area* [area-id] | | +--rw area* [area-id] | |||
skipping to change at page 19, line 48 ¶ | skipping to change at page 21, line 30 ¶ | |||
+ [rt:name=current()/../routing-protocol-name]/ | + [rt:name=current()/../routing-protocol-name]/ | |||
+ ospf:ospf/af | + ospf:ospf/af | |||
+--ro status? restart-status-type | +--ro status? restart-status-type | |||
+--ro restart-interval? uint16 | +--ro restart-interval? uint16 | |||
+--ro exit-reason? restart-exit-reason-type | +--ro exit-reason? restart-exit-reason-type | |||
2.9. OSPF RPC Operations | 2.9. OSPF RPC Operations | |||
The "ietf-ospf" module defines two RPC operations: | The "ietf-ospf" module defines two RPC operations: | |||
o clear-database: reset the content of a particular OSPF database. | o clear-database: reset the content of a particular OSPF Link State | |||
Database. | ||||
o clear-neighbor: restart a particular set of OSPF neighbor. | o clear-neighbor: restart a particular set of OSPF neighbor. | |||
rpcs: | rpcs: | |||
+---x clear-neighbor | +---x clear-neighbor | |||
| +---w input | | +---w input | |||
| +---w routing-protocol-name | | +---w routing-protocol-name | |||
| + -> /rt:routing/control-plane-protocols/ | | + -> /rt:routing/control-plane-protocols/ | |||
| + control-plane-protocol/name | | + control-plane-protocol/name | |||
| +---w interface? if:interface-ref | | +---w interface? if:interface-ref | |||
+---x clear-database | +---x clear-database | |||
+---w input | +---w input | |||
+---w routing-protocol-name | +---w routing-protocol-name | |||
-> /rt:routing/control-plane-protocols/ | -> /rt:routing/control-plane-protocols/ | |||
control-plane-protocol/name | control-plane-protocol/name | |||
3. OSPF Yang Module | 3. OSPF Yang Module | |||
The following RFCs and drafts are not referenced in the document text | The following RFCs and drafts are not referenced in the document text | |||
but are referenced in the ietf-ospf.yang module: [RFC0905], | but are referenced in the ietf-ospf.yang module: [RFC0905], | |||
[RFC1765], [RFC4552], [RFC4576], [RFC4915], [RFC5082], [RFC5185], | [RFC4576], [RFC5250], [RFC5881], [RFC6021], [RFC7770], [RFC8294], and | |||
[RFC5250], [RFC5286], [RFC5329], [RFC5443], [RFC5613], [RFC5714], | [I-D.ietf-bfd-yang]. | |||
[RFC5880], [RFC5881], [RFC6021], [RFC6860], [RFC6987], [RFC7490], | ||||
[RFC7684], [RFC7770], [RFC7777], [RFC8294], [RFC8343], [RFC8349], | ||||
[I-D.ietf-bfd-yang], and [RFC8405]. | ||||
<CODE BEGINS> file "ietf-ospf@2018-07-27.yang" | <CODE BEGINS> file "ietf-ospf@2018-08-28.yang" | |||
module ietf-ospf { | module ietf-ospf { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-ospf"; | namespace "urn:ietf:params:xml:ns:yang:ietf-ospf"; | |||
prefix ospf; | prefix ospf; | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix "inet"; | prefix "inet"; | |||
reference "RFC 6021 - Common YANG Data Types"; | reference "RFC 6021 - Common YANG Data Types"; | |||
} | } | |||
skipping to change at page 21, line 19 ¶ | skipping to change at page 23, line 4 ¶ | |||
prefix "iana-rt-types"; | prefix "iana-rt-types"; | |||
reference "RFC 8294 - Common YANG Data Types for the | reference "RFC 8294 - Common YANG Data Types for the | |||
Routing Area"; | Routing Area"; | |||
} | } | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
reference "RFC 8349 - A YANG Data Model for Routing | reference "RFC 8349 - A YANG Data Model for Routing | |||
Management (NMDA Version)"; | Management (NMDA Version)"; | |||
} | } | |||
import ietf-key-chain { | import ietf-key-chain { | |||
prefix "key-chain"; | prefix "key-chain"; | |||
reference "RFC 8177 - YANG Data Model for Key Chains"; | reference "RFC 8177 - YANG Data Model for Key Chains"; | |||
} | } | |||
import ietf-bfd-types { | import ietf-bfd-types { | |||
prefix "bfd-types"; | prefix "bfd-types"; | |||
reference "RFC XXXX - YANG Data Model for Bidirectional | reference "RFC YYYY - YANG Data Model for Bidirectional | |||
Forwarding Detection (BFD)"; | Forwarding Detection (BFD)"; | |||
} | } | |||
organization | organization | |||
"IETF OSPF - OSPF Working Group"; | "IETF OSPF - OSPF Working Group"; | |||
contact | contact | |||
"WG Web: <http://datatracker.ietf.org/group/ospf/> | "WG Web: <http://datatracker.ietf.org/group/ospf/> | |||
WG List: <mailto:ospf@ietf.org> | WG List: <mailto:ospf@ietf.org> | |||
skipping to change at page 22, line 29 ¶ | skipping to change at page 24, line 13 ¶ | |||
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; | This version of this YANG module is part of RFC XXXX; | |||
see the RFC itself for full legal notices."; | see the RFC itself for full legal notices."; | |||
revision 2018-07-27 { | revision 2018-08-28 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC XXXX: A YANG Data Model for OSPF."; | "RFC XXXX: A YANG Data Model for OSPF."; | |||
} | } | |||
feature multi-topology { | feature multi-topology { | |||
description | description | |||
"Support Multiple-Topolgy Routing (MTR)."; | "Support Multiple-Topolgy Routing (MTR)."; | |||
reference "RFC 4915 - Multi-Topology Routing"; | reference "RFC 4915 - Multi-Topology Routing"; | |||
skipping to change at page 25, line 49 ¶ | skipping to change at page 27, line 35 ¶ | |||
reference "RFC 4577 - OSPF as the Provider/Customer Edge | reference "RFC 4577 - OSPF as the Provider/Customer Edge | |||
Protocol for BGP/MPLS IP Virtual Private | Protocol for BGP/MPLS IP Virtual Private | |||
Networks (VPNs) | Networks (VPNs) | |||
RFC 6565 - OSPFv3 as a Provider Edge to Customer | RFC 6565 - OSPFv3 as a Provider Edge to Customer | |||
Edge (PE-CE) Routing Protocol"; | Edge (PE-CE) Routing Protocol"; | |||
} | } | |||
feature ietf-spf-delay { | feature ietf-spf-delay { | |||
description | description | |||
"Support for IETF SPF delay algorithm."; | "Support for IETF SPF delay algorithm."; | |||
reference "RFC XXXX - SPF Back-off algorithm for link | reference "RFC 8405 - SPF Back-off algorithm for link | |||
state IGPs"; | state IGPs"; | |||
} | } | |||
feature bfd { | feature bfd { | |||
description | description | |||
"Support for BFD detection of OSPF neighbor reachability."; | "Support for BFD detection of OSPF neighbor reachability."; | |||
reference "RFC 5880 - Bidirectional Forwarding Detection (BFD) | reference "RFC 5880 - Bidirectional Forwarding Detection (BFD) | |||
RFC 5881 - Bidirectional Forwarding Detection | RFC 5881 - Bidirectional Forwarding Detection | |||
(BFD) for IPv4 and IPv6 (Single Hop)"; | (BFD) for IPv4 and IPv6 (Single Hop)"; | |||
} | } | |||
identity ospf-protocol { | identity ospf-protocol { | |||
base "rt:routing-protocol"; | base "rt:routing-protocol"; | |||
skipping to change at page 35, line 5 ¶ | skipping to change at page 36, line 39 ¶ | |||
"Describes the outcome of the last attempt at a | "Describes the outcome of the last attempt at a | |||
graceful restart, either by itself or acting | graceful restart, either by itself or acting | |||
as a helper."; | as a helper."; | |||
} | } | |||
typedef packet-type { | typedef packet-type { | |||
type enumeration { | type enumeration { | |||
enum hello { | enum hello { | |||
value "1"; | value "1"; | |||
description | description | |||
"OSPF hello packet."; | "OSPF Hello packet."; | |||
} | } | |||
enum database-descripton { | enum database-descripton { | |||
value "2"; | value "2"; | |||
description | description | |||
"OSPF database description packet."; | "OSPF Database Description packet."; | |||
} | } | |||
enum link-state-request { | enum link-state-request { | |||
value "3"; | value "3"; | |||
description | description | |||
"OSPF link state request packet."; | "OSPF Link State Request packet."; | |||
} | } | |||
enum link-state-update { | enum link-state-update { | |||
value "4"; | value "4"; | |||
description | description | |||
"OSPF link state update packet."; | "OSPF Link State Update packet."; | |||
} | } | |||
enum link-state-ack { | enum link-state-ack { | |||
value "5"; | value "5"; | |||
description | description | |||
"OSPF link state acknowlegement packet."; | "OSPF Link State Acknowlegement packet."; | |||
} | } | |||
} | } | |||
description | description | |||
"OSPF packet type."; | "OSPF packet type."; | |||
} | } | |||
typedef nssa-translator-state-type { | typedef nssa-translator-state-type { | |||
type enumeration { | type enumeration { | |||
enum enabled { | enum enabled { | |||
value "1"; | value "1"; | |||
skipping to change at page 36, line 37 ¶ | skipping to change at page 38, line 24 ¶ | |||
pattern '(0x)?[0-9a-fA-F]{4}'; | pattern '(0x)?[0-9a-fA-F]{4}'; | |||
} | } | |||
description | description | |||
"Fletcher 16-bit checksum in hex-string format 0xXXXX."; | "Fletcher 16-bit checksum in hex-string format 0xXXXX."; | |||
reference "RFC 905 - ISO Transport Protocol specification | reference "RFC 905 - ISO Transport Protocol specification | |||
ISO DP 8073"; | ISO DP 8073"; | |||
} | } | |||
grouping tlv { | grouping tlv { | |||
description | description | |||
"TLV"; | "Type-Length-Value (TLV)"; | |||
leaf type { | leaf type { | |||
type uint16; | type uint16; | |||
description "TLV type."; | description "TLV type."; | |||
} | } | |||
leaf length { | leaf length { | |||
type uint16; | type uint16; | |||
description "TLV length (octets)."; | description "TLV length (octets)."; | |||
} | } | |||
leaf value { | leaf value { | |||
type yang:hex-string; | type yang:hex-string; | |||
skipping to change at page 53, line 16 ¶ | skipping to change at page 55, line 4 ¶ | |||
description "LSA length including the header."; | description "LSA length including the header."; | |||
} | } | |||
} | } | |||
grouping ospfv2-lsa { | grouping ospfv2-lsa { | |||
description | description | |||
"OSPFv2 LSA - LSAs are uniquely identified by | "OSPFv2 LSA - LSAs are uniquely identified by | |||
the <LSA Type, Link-State ID, Advertising Router> | the <LSA Type, Link-State ID, Advertising Router> | |||
tuple with the sequence number differentiating | tuple with the sequence number differentiating | |||
LSA instances."; | LSA instances."; | |||
container header { | container header { | |||
must "(derived-from-or-self(type, " | must "(derived-from(type, " | |||
+ "'ospfv2-opaque-lsa-type') and " | + "'ospfv2-opaque-lsa-type') and " | |||
+ "opaque-id and opaque-type) or " | + "opaque-id and opaque-type) or " | |||
+ "(not(derived-from-or-self(type, " | + "(not(derived-from(type, " | |||
+ "'ospfv2-opaque-lsa-type')) " | + "'ospfv2-opaque-lsa-type')) " | |||
+ "and not(opaque-id) and not(opaque-type))" { | + "and not(opaque-id) and not(opaque-type))" { | |||
description | description | |||
"Opaque type and ID only apply to Opaque LSAs."; | "Opaque type and ID only apply to Opaque LSAs."; | |||
} | } | |||
description | description | |||
"Decoded OSPFv2 LSA header data."; | "Decoded OSPFv2 LSA header data."; | |||
leaf option { | leaf option { | |||
type bits { | type bits { | |||
bit MT { | bit MT { | |||
skipping to change at page 59, line 45 ¶ | skipping to change at page 61, line 31 ¶ | |||
global parameters for Loop-Free Alternatives (LFA). | global parameters for Loop-Free Alternatives (LFA). | |||
Container creation has no effect on LFA activation."; | Container creation has no effect on LFA activation."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping instance-fast-reroute-state { | grouping instance-fast-reroute-state { | |||
description "IPFRR state data grouping"; | description "IPFRR state data grouping"; | |||
container protected-routes { | container protected-routes { | |||
if-feature fast-reroute; | ||||
config false; | config false; | |||
description "Instance protection statistics"; | description "Instance protection statistics"; | |||
list af-stats { | list af-stats { | |||
key "af prefix alternate"; | key "af prefix alternate"; | |||
description "Per AF protected prefix information"; | description "Per AF protected prefix information"; | |||
leaf af { | leaf af { | |||
type iana-rt-types:address-family; | type iana-rt-types:address-family; | |||
description | description | |||
skipping to change at page 62, line 16 ¶ | skipping to change at page 64, line 4 ¶ | |||
description | description | |||
"Metric from PLR to the alternate node"; | "Metric from PLR to the alternate node"; | |||
} | } | |||
leaf alternate-metric3 { | leaf alternate-metric3 { | |||
type uint32; | type uint32; | |||
description | description | |||
"Metric from alternate node to the destination"; | "Metric from alternate node to the destination"; | |||
} | } | |||
} | } | |||
} | } | |||
container unprotected-routes { | container unprotected-routes { | |||
if-feature fast-reroute; | ||||
config false; | config false; | |||
description "List of prefixes that are not protected"; | description "List of prefixes that are not protected"; | |||
list af-stats { | list af-stats { | |||
key "af prefix"; | key "af prefix"; | |||
description "Per AF unprotected prefix statistics."; | description "Per AF unprotected prefix statistics."; | |||
leaf af { | leaf af { | |||
type iana-rt-types:address-family; | type iana-rt-types:address-family; | |||
skipping to change at page 72, line 51 ¶ | skipping to change at page 74, line 42 ¶ | |||
leaf neighbor-router-id { | leaf neighbor-router-id { | |||
type rt-types:router-id; | type rt-types:router-id; | |||
description | description | |||
"Neighbor Router ID."; | "Neighbor Router ID."; | |||
} | } | |||
uses neighbor-state; | uses neighbor-state; | |||
} | } | |||
} | } | |||
container database { | container database { | |||
config false; | config false; | |||
description "Link-scope LSA database."; | description "Link-scope Link State Database."; | |||
list link-scope-lsa-type { | list link-scope-lsa-type { | |||
key "lsa-type"; | key "lsa-type"; | |||
description | description | |||
"List OSPF link-scope LSA databases."; | "List OSPF link-scope LSAs."; | |||
leaf lsa-type { | leaf lsa-type { | |||
type uint16; | type uint16; | |||
description "OSPF link-scope LSA type."; | description "OSPF link-scope LSA type."; | |||
} | } | |||
container link-scope-lsas { | container link-scope-lsas { | |||
description | description | |||
"All link-scope LSAs of this LSA type."; | "All link-scope LSAs of this LSA type."; | |||
list link-scope-lsa { | list link-scope-lsa { | |||
key "lsa-id adv-router"; | key "lsa-id adv-router"; | |||
description "List of OSPF link-scope LSAs"; | description "List of OSPF link-scope LSAs"; | |||
skipping to change at page 76, line 31 ¶ | skipping to change at page 78, line 23 ¶ | |||
"OSPF area operational state."; | "OSPF area operational state."; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
description "Per-area statistics"; | description "Per-area statistics"; | |||
uses area-stat; | uses area-stat; | |||
} | } | |||
container database { | container database { | |||
config false; | config false; | |||
description "Area-scope LSA database."; | description "Area-scope Link State Database."; | |||
list area-scope-lsa-type { | list area-scope-lsa-type { | |||
key "lsa-type"; | key "lsa-type"; | |||
description "List OSPF area-scope LSA databases."; | description "List OSPF area-scope LSAs."; | |||
leaf lsa-type { | leaf lsa-type { | |||
type uint16; | type uint16; | |||
description "OSPF area-scope LSA type."; | description "OSPF area-scope LSA type."; | |||
} | } | |||
container area-scope-lsas { | container area-scope-lsas { | |||
description | description | |||
"All area-scope LSAs of an area-scope | "All area-scope LSAs of an area-scope | |||
LSA type."; | LSA type."; | |||
list area-scope-lsa { | list area-scope-lsa { | |||
key "lsa-id adv-router"; | key "lsa-id adv-router"; | |||
skipping to change at page 82, line 8 ¶ | skipping to change at page 83, line 47 ¶ | |||
description | description | |||
"Enable/Disable NSR."; | "Enable/Disable NSR."; | |||
} | } | |||
} | } | |||
container graceful-restart { | container graceful-restart { | |||
if-feature graceful-restart; | if-feature graceful-restart; | |||
description | description | |||
"Graceful restart config state."; | "Graceful restart config state."; | |||
reference "RFC 3623 - OSPF Graceful Restart | reference "RFC 3623 - OSPF Graceful Restart | |||
RFC 5178 - OSPFv3 Graceful Restart"; | RFC 5187 - OSPFv3 Graceful Restart"; | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
description | description | |||
"Enable/Disable graceful restart as defined in RFC 3623 | "Enable/Disable graceful restart as defined in RFC 3623 | |||
for OSPFv2 and RFC 5187 for OSPFv3."; | for OSPFv2 and RFC 5187 for OSPFv3."; | |||
} | } | |||
leaf helper-enable { | leaf helper-enable { | |||
type boolean; | type boolean; | |||
description | description | |||
"Enable graceful restart helper support for restarting | "Enable graceful restart helper support for restarting | |||
skipping to change at page 85, line 34 ¶ | skipping to change at page 87, line 24 ¶ | |||
uses local-rib; | uses local-rib; | |||
container statistics { | container statistics { | |||
config false; | config false; | |||
description "Per-instance statistics"; | description "Per-instance statistics"; | |||
uses instance-stat; | uses instance-stat; | |||
} | } | |||
container database { | container database { | |||
config false; | config false; | |||
description "AS-scope LSA database."; | description "AS-scope Link State Database."; | |||
list as-scope-lsa-type { | list as-scope-lsa-type { | |||
key "lsa-type"; | key "lsa-type"; | |||
description "List OSPF AS-scope LSA databases."; | description "List OSPF AS-scope LSAs."; | |||
leaf lsa-type { | leaf lsa-type { | |||
type uint16; | type uint16; | |||
description "OSPF AS scope LSA type."; | description "OSPF AS scope LSA type."; | |||
} | } | |||
container as-scope-lsas { | container as-scope-lsas { | |||
description "All AS-scope of LSA of this LSA type."; | description "All AS-scope of LSA of this LSA type."; | |||
list as-scope-lsa { | list as-scope-lsa { | |||
key "lsa-id adv-router"; | key "lsa-id adv-router"; | |||
description "List of OSPF AS-scope LSAs"; | description "List of OSPF AS-scope LSAs"; | |||
uses lsa-key; | uses lsa-key; | |||
skipping to change at page 97, line 27 ¶ | skipping to change at page 99, line 20 ¶ | |||
If the referenced OSPF interface doesn't exist, then | If the referenced OSPF interface doesn't exist, then | |||
this operation SHALL fail with error-tag | this operation SHALL fail with error-tag | |||
'data-missing' and error-app-tag | 'data-missing' and error-app-tag | |||
'ospf-interface-not-found'."; | 'ospf-interface-not-found'."; | |||
} | } | |||
} | } | |||
} | } | |||
rpc clear-database { | rpc clear-database { | |||
description | description | |||
"This RPC request clears a particular OSPF link-state | "This RPC request clears a particular OSPF Link State | |||
database. If the operation fails for OSPF internal reason, | Database. If the operation fails for OSPF internal reason, | |||
then error-tag and error-app-tag should be set to a | then error-tag and error-app-tag should be set to a | |||
meaningful value."; | meaningful value."; | |||
input { | input { | |||
leaf routing-protocol-name { | leaf routing-protocol-name { | |||
type leafref { | type leafref { | |||
path "/rt:routing/rt:control-plane-protocols/" | path "/rt:routing/rt:control-plane-protocols/" | |||
+ "rt:control-plane-protocol/rt:name"; | + "rt:control-plane-protocol/rt:name"; | |||
} | } | |||
mandatory "true"; | mandatory "true"; | |||
description | description | |||
skipping to change at page 102, line 48 ¶ | skipping to change at page 104, line 43 ¶ | |||
cannot be parsed is received on an OSPF interface."; | cannot be parsed is received on an OSPF interface."; | |||
} | } | |||
notification lsdb-approaching-overflow { | notification lsdb-approaching-overflow { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
leaf ext-lsdb-limit { | leaf ext-lsdb-limit { | |||
type uint32; | type uint32; | |||
description | description | |||
"The maximum number of non-default AS-external LSAs | "The maximum number of non-default AS-external LSAs | |||
entries that can be stored in the link state database."; | entries that can be stored in the Link State Database."; | |||
} | } | |||
description | description | |||
"This notification is sent when the number of LSAs | "This notification is sent when the number of LSAs | |||
in the router's link state database has exceeded | in the router's Link State Database has exceeded | |||
ninety percent of the AS-external limit (ext-lsdb-limit)."; | ninety percent of the AS-external limit (ext-lsdb-limit)."; | |||
} | } | |||
notification lsdb-overflow { | notification lsdb-overflow { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
leaf ext-lsdb-limit { | leaf ext-lsdb-limit { | |||
type uint32; | type uint32; | |||
description | description | |||
"The maximum number of non-default AS-external LSAs | "The maximum number of non-default AS-external LSAs | |||
entries that can be stored in the link state database."; | entries that can be stored in the Link State Database."; | |||
} | } | |||
description | description | |||
"This notification is sent when the number of LSAs | "This notification is sent when the number of LSAs | |||
in the router's link state database has exceeded the | in the router's Link State Database has exceeded the | |||
AS-external limit (ext-lsdb-limit)."; | AS-external limit (ext-lsdb-limit)."; | |||
} | } | |||
notification nssa-translator-status-change { | notification nssa-translator-status-change { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
leaf area-id { | leaf area-id { | |||
type area-id-type; | type area-id-type; | |||
description "Area ID."; | description "Area ID."; | |||
} | } | |||
skipping to change at page 104, line 40 ¶ | skipping to change at page 106, line 35 ¶ | |||
4. Security Considerations | 4. Security Considerations | |||
The YANG modules specified in this document define a schema for data | The YANG modules specified in this document define a schema for data | |||
that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
is HTTPS, and the mandatory-to-implement secure transport is TLS | is HTTPS, and the mandatory-to-implement secure transport is TLS | |||
[RFC5246]. | [RFC5246]. | |||
The NETCONF access control model [RFC6536] provides the means to | The NETCONF access control model [RFC8341] provides the means to | |||
restrict access for particular NETCONF or RESTCONF users to a pre- | restrict access for particular NETCONF or RESTCONF users to a pre- | |||
configured subset of all available NETCONF or RESTCONF protocol | configured subset of all available NETCONF or RESTCONF protocol | |||
operations and content. | operations and content. | |||
There are a number of data nodes defined in ietf-ospf.yang module | There are a number of data nodes defined in ietf-ospf.yang module | |||
that are writable/creatable/deletable (i.e., config true, which is | that are writable/creatable/deletable (i.e., config true, which is | |||
the default). These data nodes may be considered sensitive or | the default). These data nodes may be considered sensitive or | |||
vulnerable in some network environments. Write operations (e.g., | vulnerable in some network environments. Write operations (e.g., | |||
edit-config) to these data nodes without proper protection can have a | edit-config) to these data nodes without proper protection can have a | |||
negative effect on network operations. For OSPF, the ability to | negative effect on network operations. For OSPF, the ability to | |||
skipping to change at page 106, line 11 ¶ | skipping to change at page 108, line 5 ¶ | |||
namespace: urn:ietf:params:xml:ns:yang:ietf-ospf | namespace: urn:ietf:params:xml:ns:yang:ietf-ospf | |||
prefix: ospf | prefix: ospf | |||
reference: RFC XXXX | reference: RFC XXXX | |||
6. Acknowledgements | 6. Acknowledgements | |||
The authors wish to thank Yi Yang, Alexander Clemm, Gaurav Gupta, | The authors wish to thank Yi Yang, Alexander Clemm, Gaurav Gupta, | |||
Ladislav Lhotka, Stephane Litkowski, Greg Hankins, Manish Gupta and | Ladislav Lhotka, Stephane Litkowski, Greg Hankins, Manish Gupta and | |||
Alan Davey for their thorough reviews and helpful comments. | Alan Davey for their thorough reviews and helpful comments. | |||
Thanks to Tom Petch for last call review and improvement of the | ||||
document organization. | ||||
This document was produced using Marshall Rose's xml2rfc tool. | This document was produced using Marshall Rose's xml2rfc tool. | |||
7. Normative References | 7. Normative References | |||
[I-D.ietf-bfd-yang] | [I-D.ietf-bfd-yang] | |||
Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and | Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and | |||
G. Mirsky, "YANG Data Model for Bidirectional Forwarding | G. Mirsky, "YANG Data Model for Bidirectional Forwarding | |||
Detection (BFD)", draft-ietf-bfd-yang-16 (work in | Detection (BFD)", draft-ietf-bfd-yang-16 (work in | |||
progress), June 2018. | progress), June 2018. | |||
skipping to change at page 109, line 28 ¶ | skipping to change at page 111, line 23 ¶ | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
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, | |||
<https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6242>. | <https://www.rfc-editor.org/info/rfc6242>. | |||
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | ||||
Protocol (NETCONF) Access Control Model", RFC 6536, | ||||
DOI 10.17487/RFC6536, March 2012, <https://www.rfc- | ||||
editor.org/info/rfc6536>. | ||||
[RFC6565] Pillay-Esnault, P., Moyer, P., Doyle, J., Ertekin, E., and | [RFC6565] Pillay-Esnault, P., Moyer, P., Doyle, J., Ertekin, E., and | |||
M. Lundberg, "OSPFv3 as a Provider Edge to Customer Edge | M. Lundberg, "OSPFv3 as a Provider Edge to Customer Edge | |||
(PE-CE) Routing Protocol", RFC 6565, DOI 10.17487/RFC6565, | (PE-CE) Routing Protocol", RFC 6565, DOI 10.17487/RFC6565, | |||
June 2012, <https://www.rfc-editor.org/info/rfc6565>. | June 2012, <https://www.rfc-editor.org/info/rfc6565>. | |||
[RFC6860] Yang, Y., Retana, A., and A. Roy, "Hiding Transit-Only | [RFC6860] Yang, Y., Retana, A., and A. Roy, "Hiding Transit-Only | |||
Networks in OSPF", RFC 6860, DOI 10.17487/RFC6860, January | Networks in OSPF", RFC 6860, DOI 10.17487/RFC6860, January | |||
2013, <https://www.rfc-editor.org/info/rfc6860>. | 2013, <https://www.rfc-editor.org/info/rfc6860>. | |||
[RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. | [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. | |||
skipping to change at page 110, line 20 ¶ | skipping to change at page 112, line 10 ¶ | |||
[RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | [RFC7770] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and | |||
S. Shaffer, "Extensions to OSPF for Advertising Optional | S. Shaffer, "Extensions to OSPF for Advertising Optional | |||
Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, | |||
February 2016, <https://www.rfc-editor.org/info/rfc7770>. | February 2016, <https://www.rfc-editor.org/info/rfc7770>. | |||
[RFC7777] Hegde, S., Shakir, R., Smirnov, A., Li, Z., and B. | [RFC7777] Hegde, S., Shakir, R., Smirnov, A., Li, Z., and B. | |||
Decraene, "Advertising Node Administrative Tags in OSPF", | Decraene, "Advertising Node Administrative Tags in OSPF", | |||
RFC 7777, DOI 10.17487/RFC7777, March 2016, | RFC 7777, DOI 10.17487/RFC7777, March 2016, | |||
<https://www.rfc-editor.org/info/rfc7777>. | <https://www.rfc-editor.org/info/rfc7777>. | |||
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | ||||
RFC 7950, DOI 10.17487/RFC7950, August 2016, | ||||
<https://www.rfc-editor.org/info/rfc7950>. | ||||
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
<https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
[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>. | |||
[RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, | [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, | |||
"Common YANG Data Types for the Routing Area", RFC 8294, | "Common YANG Data Types for the Routing Area", RFC 8294, | |||
DOI 10.17487/RFC8294, December 2017, <https://www.rfc- | DOI 10.17487/RFC8294, December 2017, <https://www.rfc- | |||
editor.org/info/rfc8294>. | editor.org/info/rfc8294>. | |||
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | ||||
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | ||||
<https://www.rfc-editor.org/info/rfc8340>. | ||||
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | ||||
Access Control Model", STD 91, RFC 8341, | ||||
DOI 10.17487/RFC8341, March 2018, <https://www.rfc- | ||||
editor.org/info/rfc8341>. | ||||
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
(NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8342>. | <https://www.rfc-editor.org/info/rfc8342>. | |||
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface | [RFC8343] Bjorklund, M., "A YANG Data Model for Interface | |||
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8343>. | <https://www.rfc-editor.org/info/rfc8343>. | |||
[RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | |||
End of changes. 52 change blocks. | ||||
73 lines changed or deleted | 161 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |