draft-ietf-ospf-yang-18.txt   draft-ietf-ospf-yang-19.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: May 31, 2019 Huawei Expires: June 13, 2019 Huawei
J. Zhang J. Zhang
Juniper Networks Juniper Networks
I. Chen I. Chen
The MITRE Corporation The MITRE Corporation
A. Lindem A. Lindem
Cisco Systems Cisco Systems
November 27, 2018 December 10, 2018
YANG Data Model for OSPF Protocol YANG Data Model for OSPF Protocol
draft-ietf-ospf-yang-18 draft-ietf-ospf-yang-19
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. The model is based on YANG 1.1 as defined in RFC and manage OSPF. The model is based on YANG 1.1 as defined in RFC
7950 and conforms to the Network Management Datastore Architecture 7950 and conforms to the Network Management Datastore Architecture
(NDMA) as described in RFC 8342. (NDMA) as described in RFC 8342.
Status of This Memo Status of This Memo
skipping to change at page 1, line 40 skipping to change at page 1, line 40
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 May 31, 2019. This Internet-Draft will expire on June 13, 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
skipping to change at page 2, line 24 skipping to change at page 2, line 24
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . 4 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 . . . . . . . 7 2.5. OSPF Router Configuration/Operational State . . . . . . . 7
2.6. OSPF Area Configuration/Operational State . . . . . . . . 10 2.6. OSPF Area Configuration/Operational State . . . . . . . . 10
2.7. OSPF Interface Configuration/Operational State . . . . . 15 2.7. OSPF Interface Configuration/Operational State . . . . . 15
2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 17 2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 18
2.9. OSPF RPC Operations . . . . . . . . . . . . . . . . . . . 21 2.9. OSPF RPC Operations . . . . . . . . . . . . . . . . . . . 21
3. OSPF YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 3. OSPF YANG Module . . . . . . . . . . . . . . . . . . . . . . 22
4. Security Considerations . . . . . . . . . . . . . . . . . . . 107 4. Security Considerations . . . . . . . . . . . . . . . . . . . 112
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 108 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 113
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 108 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 113
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 108 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.1. Normative References . . . . . . . . . . . . . . . . . . 109 7.1. Normative References . . . . . . . . . . . . . . . . . . 114
7.2. Informative References . . . . . . . . . . . . . . . . . 113 7.2. Informative References . . . . . . . . . . . . . . . . . 119
Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 115 Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 120
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 115 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 120
1. Overview 1. Overview
YANG [RFC6020][RFC7950] is a data definition language used to define YANG [RFC6020][RFC7950] is a data definition language used to define
the contents of a conceptual data store that allows networked devices the contents of a conceptual data store that allows networked devices
to be managed using NETCONF [RFC6241]. YANG is proving relevant to be managed using NETCONF [RFC6241]. YANG is proving relevant
beyond its initial confines, as bindings to other interfaces (e.g., beyond its initial confines, as bindings to other interfaces (e.g.,
ReST) 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
skipping to change at page 6, line 47 skipping to change at page 6, line 47
[RFC6987]. [RFC6987].
24. pe-ce-protocol: Support OSPF as a PE-CE protocol [RFC4577], 24. pe-ce-protocol: Support OSPF as a PE-CE protocol [RFC4577],
[RFC6565]. [RFC6565].
25. ietf-spf-delay: Support IETF SPF delay algorithm [RFC8405]. 25. ietf-spf-delay: Support IETF SPF delay algorithm [RFC8405].
26. bfd: Support BFD detection of OSPF neighbor reachability 26. bfd: Support BFD detection of OSPF neighbor reachability
[RFC5880], [RFC5881], and [I-D.ietf-bfd-yang]. [RFC5880], [RFC5881], and [I-D.ietf-bfd-yang].
27. hygrid-interface: Support OSPF Hybrid Broadcast and Point-to-
Point Interfaces [RFC6845].
28. two-part-metric: Support OSPF Two-Part Metric [RFC8042].
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 14, line 27 skipping to change at page 14, line 30
| | | | +--rw key-chain? | | | | +--rw key-chain?
| | | key-chain:key-chain-ref | | | key-chain:key-chain-ref
| | | +--:(auth-trailer-key) | | | +--:(auth-trailer-key)
| | | +--rw key? string | | | +--rw key? string
| | | +--rw crypto-algorithm? identityref | | | +--rw crypto-algorithm? identityref
| | +--rw cost? uint16 | | +--rw cost? uint16
| | +--rw mtu-ignore? boolean | | +--rw mtu-ignore? boolean
| | {mtu-ignore}? | | {mtu-ignore}?
| | +--rw prefix-suppression? boolean | | +--rw prefix-suppression? boolean
| | {prefix-suppression}? | | {prefix-suppression}?
| | +--rw two-part-metric? boolean
| | {two-part-metric}?
| | +--ro state? if-state-type | | +--ro state? if-state-type
| | +--ro hello-timer? uint32 | | +--ro hello-timer? uint32
| | +--ro wait-timer? uint32 | | +--ro wait-timer? uint32
| | +--ro dr-router-id? rt-types:router-id | | +--ro dr-router-id? rt-types:router-id
| | +--ro dr-ip-addr? inet:ip-address | | +--ro dr-ip-addr? inet:ip-address
| | +--ro bdr-router-id? rt-types:router-id | | +--ro bdr-router-id? rt-types:router-id
| | +--ro bdr-ip-addr? inet:ip-address | | +--ro bdr-ip-addr? inet:ip-address
| | +--ro statistics | | +--ro statistics
| | | +--ro if-event-count? yang:counter32 | | | +--ro if-event-count? yang:counter32
| | | +--ro link-scope-lsa-count? yang:gauge32 | | | +--ro link-scope-lsa-count? yang:gauge32
skipping to change at page 15, line 6 skipping to change at page 15, line 11
| | +--ro neighbors | | +--ro neighbors
| | | +--ro neighbor* [neighbor-router-id] | | | +--ro neighbor* [neighbor-router-id]
| | | +--ro neighbor-router-id | | | +--ro neighbor-router-id
| | | rt-types:router-id | | | rt-types:router-id
| | | +--ro address? inet:ip-address | | | +--ro address? inet:ip-address
| | | +--ro dr-router-id? rt-types:router-id | | | +--ro dr-router-id? rt-types:router-id
| | | +--ro dr-ip-addr? inet:ip-address | | | +--ro dr-ip-addr? inet:ip-address
| | | +--ro bdr-router-id? rt-types:router-id | | | +--ro bdr-router-id? rt-types:router-id
| | | +--ro bdr-ip-addr? inet:ip-address | | | +--ro bdr-ip-addr? inet:ip-address
| | | +--ro state? nbr-state-type | | | +--ro state? nbr-state-type
| | | +--ro cost? uint32
| | | +--ro dead-timer? uint32 | | | +--ro dead-timer? uint32
| | | +--ro statistics | | | +--ro statistics
| | | +--ro nbr-event-count? | | | +--ro nbr-event-count?
| | | yang:counter32 | | | yang:counter32
| | | +--ro nbr-retrans-qlen? | | | +--ro nbr-retrans-qlen?
| | | yang:gauge32 | | | yang:gauge32
| | +--ro database | | +--ro database
| | +--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
skipping to change at page 22, line 9 skipping to change at page 22, line 22
+---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],
[RFC4576], [RFC5250], [RFC5881], [RFC6991], [RFC7770], and [RFC8294]. [RFC4576], [RFC4973], [RFC5250], [RFC5309], [RFC5642], [RFC5881],
[RFC6991], [RFC7770], and [RFC8294].
<CODE BEGINS> file "ietf-ospf@2018-11-27.yang" <CODE BEGINS> file "ietf-ospf@2018-12-10.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 6991 - Common YANG Data Types"; reference "RFC 6991 - Common YANG Data Types";
} }
skipping to change at page 24, line 13 skipping to change at page 24, line 26
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-11-27 { revision 2018-12-10 {
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-Topology Routing (MTR)."; "Support Multiple-Topology Routing (MTR).";
reference "RFC 4915 - Multi-Topology Routing"; reference "RFC 4915 - Multi-Topology Routing";
skipping to change at page 25, line 4 skipping to change at page 25, line 18
feature mtu-ignore { feature mtu-ignore {
description description
"Disable OSPF Database Description packet MTU "Disable OSPF Database Description packet MTU
mismatch checking."; mismatch checking.";
} }
feature lls { feature lls {
description description
"OSPF link-local signaling (LLS) as in RFC 5613."; "OSPF link-local signaling (LLS) as in RFC 5613.";
reference "RFC 5613 - OSPF Link-Local Signaling"; reference "RFC 5613 - OSPF Link-Local Signaling";
} }
feature prefix-suppression { feature prefix-suppression {
description description
"OSPF prefix suppression support as in RFC 6860."; "OSPF prefix suppression support as in RFC 6860.";
reference "RFC 6860 - Hide Transit-Only Networks in OSPF"; reference "RFC 6860 - Hide Transit-Only Networks in OSPF";
} }
feature two-part-metric {
description
"OSPF 2-part metric support as described in RFC 8042.";
reference "RFC 8042 - OSPF Two-Part Metric";
}
feature ttl-security { feature ttl-security {
description description
"OSPF Time to Live (TTL) security check support."; "OSPF Time to Live (TTL) security check support.";
reference "RFC 5082 - The Generalized TTL Security reference "RFC 5082 - The Generalized TTL Security
Mechanism (GTSM)"; Mechanism (GTSM)";
} }
feature nsr { feature nsr {
description description
"Non-Stop-Routing (NSR) support."; "Non-Stop-Routing (NSR) support.";
skipping to change at page 28, line 4 skipping to change at page 28, line 22
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)";
} }
feature hybrid-interface {
description
"Support for OSPF Hybrid interface type.";
reference "RFC 6845 - OSPF Hybrid Broadcast and
Point-to-Multipoint Interface Type";
}
identity ospf { identity ospf {
base "rt:routing-protocol"; base "rt:routing-protocol";
description "Any OSPF protocol version"; description "Any OSPF protocol version";
} }
identity ospfv2 { identity ospfv2 {
base "ospf"; base "ospf";
description "OSPFv2 protocol"; description "OSPFv2 protocol";
} }
skipping to change at page 40, line 11 skipping to change at page 40, line 35
leaf tag { leaf tag {
type uint32; type uint32;
description description
"Node admin tag value."; "Node admin tag value.";
} }
description description
"List of tags."; "List of tags.";
} }
} }
grouping router-capabilities-tlv {
description "OSPF Router Capabilities TLV grouping.";
reference "RFC 7770 - OSPF Router Capabilities";
leaf informational-flags {
type bits {
bit graceful-restart-capability {
description
"When set, the router is capable of restarting
gracefully.";
reference "RFC 3623 - Graceful OSPF Restart
RFC 5187 - OSPFv3 Graceful Restart";
}
bit graceful-restart-helper {
description
"When set, the router is capable of acting as
a graceful restart helper.";
reference "RFC 3623 - Graceful OSPF Restart
RFC 5187 - OSPFv3 Graceful Restart";
}
bit stub-router {
description
"When set, the router is capable of acting as
an OSPF Stub Router.";
reference "RFC 6987 - OSPF Stub Router Advertisement";
}
bit traffic-engineering {
description
"When set, the router is capable of OSPF traffic
engineering.";
reference "RFC 3630 - Traffic Engineering (TE) Extensions
to OSPF Version 2
RFC 5329 - Traffic Engineering (TE) Extensions
to OSPF Version 3";
}
bit p2p-over-lan {
description
"When set, the router is capable of OSPF Point-to-Point
over LAN.";
reference "RFC 5309 - Point-to-Point Operation over LAN
in Link State Routing Protocols";
}
bit experimental-te {
description
"When set, the router is capable of OSPF experimental
traffic engineering.";
reference
"RFC 4973 - OSPF-xTE OSPF Experimental Traffic
Engineering";
}
bit two-part-metric {
description
"When set, the router is capable of supporting OSPF
2-part metrics.";
reference
"RFC 8042 - OSPF Two-Part Metric";
}
}
description
"OSPF Router Informational Flag Definitions.";
}
list informational-capabilities {
leaf informational-flag {
type uint32;
description
"Informational flag.";
}
description
"List of capabilities.";
}
list functional-capabilities {
leaf informational-flag {
type uint32;
description
"Functional flag.";
}
description
"List of functional capabilities.";
}
}
grouping dynamic-hostname-tlv {
description "Dynamic Hostname TLV";
reference "RFC 5642 - Dynamic Hostnames for OSPF";
leaf hostname {
type string;
description "Dynamic Hostname";
}
}
grouping sbfd-discriminator-tlv {
description "Seamless BFD Descriminator TLV";
reference "RFC 7884 - S-BFD Descriminators in OSPF";
list sbfd-discriminators {
leaf sbfd-discriminator {
type uint32;
description "Individual S-BFD Discriminator.";
}
description
"List of S-BFD Discriminators";
}
}
grouping maximum-sid-depth-tlv {
description "Maximum SID Depth (MSD) TLV";
reference
"RFC 8476 - Signaling Maximum Segment Depth (MSD)
using OSPF";
list msd-type {
leaf msd-type {
type uint8;
description "Maximum Segment Depth (MSD) type";
}
leaf msd-value {
type uint8;
description
"Maximum Segment Depth (MSD) value for the type";
}
description
"List of Maximum Segment Depth (MSD) tuples";
}
}
grouping network-to-router-metric-tlv {
description "Network to Router Metric TLV";
reference
"RFC 8042 - OSPF Two-Part Metric";
leaf mt-id {
type uint8;
description
"The MT-ID for the topology enabled on
the link.";
}
leaf metric {
type uint16;
description "Metric for the topology.";
}
}
grouping ospf-router-lsa-flags { grouping ospf-router-lsa-flags {
leaf flags { leaf flags {
type bits { type bits {
bit V { bit V {
description description
"When set, the router is an endpoint of one or "When set, the router is an endpoint of one or
more virtual links."; more virtual links.";
} }
bit E { bit E {
description description
skipping to change at page 44, line 28 skipping to change at page 47, line 46
when "derived-from(../../header/type, " when "derived-from(../../header/type, "
+ "'ospfv2-opaque-lsa-type')" { + "'ospfv2-opaque-lsa-type')" {
description description
"Only applies to Opaque LSAs."; "Only applies to Opaque LSAs.";
} }
description description
"Opaque LSA."; "Opaque LSA.";
uses unknown-tlvs; uses unknown-tlvs;
container router-capabilities-tlv {
description
"Informational and functional router capabilities";
uses router-capabilities-tlv;
}
container node-tag-tlvs { container node-tag-tlvs {
description description
"All node tag TLVs."; "All node tag TLVs.";
list node-tag-tlv { list node-tag-tlv {
description description
"Node tag TLV."; "Node tag TLV.";
uses node-tag-tlv; uses node-tag-tlv;
} }
} }
container dynamic-hostname-tlv {
description "OSPF Dynamic Hostname";
uses dynamic-hostname-tlv;
}
container sbfd-discriminator-tlv {
description "OSPF S-BFD Discriminators";
uses sbfd-discriminator-tlv;
}
container maximum-sid-depth-tlv {
description "OSPF Maximum SID Depth (MSD) values";
uses maximum-sid-depth-tlv;
}
container router-address-tlv { container router-address-tlv {
description description
"Router address TLV."; "Router address TLV.";
leaf router-address { leaf router-address {
type inet:ipv4-address; type inet:ipv4-address;
description description
"Router address."; "Router address.";
} }
} }
skipping to change at page 46, line 13 skipping to change at page 50, line 4
} }
description "Priority from 0 to 7."; description "Priority from 0 to 7.";
} }
leaf unreserved-bandwidth { leaf unreserved-bandwidth {
type rt-types:bandwidth-ieee-float32; type rt-types:bandwidth-ieee-float32;
description "Unreserved bandwidth."; description "Unreserved bandwidth.";
} }
description description
"List of unreserved bandwidths for different "List of unreserved bandwidths for different
priorities."; priorities.";
} }
} }
leaf admin-group { leaf admin-group {
type uint32; type uint32;
description description
"Administrative group/Resource Class/Color."; "Administrative group/Resource Class/Color.";
} }
leaf network-to-router-te-metric {
type uint32;
description "Network to Router TE metric.";
reference
"RFC 8042 - OSPF Two-Part Metric";
}
uses unknown-tlvs; uses unknown-tlvs;
} }
} }
container extended-prefix-tlvs { container extended-prefix-tlvs {
description "All extended prefix TLVs in the LSA."; description "All extended prefix TLVs in the LSA.";
list extended-prefix-tlv { list extended-prefix-tlv {
description "Extended prefix TLV."; description "Extended prefix TLV.";
leaf route-type { leaf route-type {
type enumeration { type enumeration {
skipping to change at page 47, line 32 skipping to change at page 51, line 28
} }
uses unknown-tlvs; uses unknown-tlvs;
} }
} }
container extended-link-tlvs { container extended-link-tlvs {
description "All extended link TLVs in the LSA."; description "All extended link TLVs in the LSA.";
list extended-link-tlv { list extended-link-tlv {
description "Extended link TLV."; description "Extended link TLV.";
uses ospfv2-router-link; uses ospfv2-router-link;
container maximum-sid-depth-tlv {
description "OSPF Maximum SID Depth (MSD) values";
uses maximum-sid-depth-tlv;
}
container network-to-router-metric-tlv {
description
"OSPF two-part metric network-to-router metric";
uses network-to-router-metric-tlv;
}
uses unknown-tlvs; uses unknown-tlvs;
} }
} }
} }
} }
grouping ospfv3-lsa-options { grouping ospfv3-lsa-options {
description "OSPFv3 LSA options"; description "OSPFv3 LSA options";
leaf options { leaf options {
type bits { type bits {
skipping to change at page 54, line 37 skipping to change at page 58, line 44
} }
} }
} }
} }
container router-information { container router-information {
when "derived-from-or-self(../../header/type, " when "derived-from-or-self(../../header/type, "
+ "'ospfv3-router-information-lsa')" { + "'ospfv3-router-information-lsa')" {
description description
"Only applies to Router Information LSAs (RFC7770)."; "Only applies to Router Information LSAs (RFC7770).";
} }
container router-capabilities-tlv {
description
"Informational and functional router capabilities";
uses router-capabilities-tlv;
}
container node-tag-tlvs { container node-tag-tlvs {
description description
"All node tag tlvs."; "All node tag tlvs.";
list node-tag-tlv { list node-tag-tlv {
description description
"Node tag tlv."; "Node tag tlv.";
uses node-tag-tlv; uses node-tag-tlv;
} }
} }
container dynamic-hostname-tlv {
description "OSPF Dynamic Hostname";
uses dynamic-hostname-tlv;
}
container sbfd-discriminator-tlv {
description "OSPF S-BFD Discriminators";
uses sbfd-discriminator-tlv;
}
description "Router Information LSA."; description "Router Information LSA.";
reference "RFC 7770 -Extensions for Advertising Router reference "RFC 7770 -Extensions for Advertising Router
Capabilities"; Capabilities";
} }
} }
grouping lsa-header { grouping lsa-header {
description description
"Common LSA for OSPFv2 and OSPFv3"; "Common LSA for OSPFv2 and OSPFv3";
leaf age { leaf age {
type uint16; type uint16;
mandatory true; mandatory true;
description "LSA age."; description "LSA age.";
} }
leaf type { leaf type {
type identityref { type identityref {
skipping to change at page 67, line 36 skipping to change at page 72, line 8
"Enable/Disable bypassing the MTU mismatch check in "Enable/Disable bypassing the MTU mismatch check in
Database Description packets."; Database Description packets.";
} }
leaf prefix-suppression { leaf prefix-suppression {
if-feature prefix-suppression; if-feature prefix-suppression;
type boolean; type boolean;
description description
"Suppress advertisement of the prefixes associated "Suppress advertisement of the prefixes associated
with the interface."; with the interface.";
} }
leaf two-part-metric {
if-feature two-part-metric;
type boolean;
description
"Support advertisement and computation of the 2-part
metric.";
}
} }
grouping interface-common-config { grouping interface-common-config {
description description
"Common configuration for all types of interfaces, "Common configuration for all types of interfaces,
including virtual links and sham links."; including virtual links and sham links.";
leaf hello-interval { leaf hello-interval {
type uint16 { type uint16 {
range "1..65535"; range "1..65535";
} }
description description
"Interval between hello packets (seconds)."; "Interval between hello packets (seconds). It must
be the same for all routers on the same network.
Different networks, implementations, and deployments
will use different hello-intervals. A sample value
for a LAN network would be 10 seconds.";
} }
leaf dead-interval { leaf dead-interval {
type uint32 { type uint32 {
range "1..2147483647"; range "1..2147483647";
} }
units seconds; units seconds;
must "../dead-interval > ../hello-interval" { must "../dead-interval > ../hello-interval" {
error-message "The dead interval must be " error-message "The dead interval must be "
+ "larger than the hello interval"; + "larger than the hello interval";
description description
"The value MUST be greater than 'hello-internval'."; "The value MUST be greater than 'hello-internval'.";
} }
description description
"Interval after which a neighbor is declared down "Interval after which a neighbor is declared down
(seconds) if hello packets are not received."; (seconds) if hello packets are not received. It is
typically 3 or 4 times the hello-interval. A typical
value for LAN networks is 40 seconds.";
} }
leaf retransmit-interval { leaf retransmit-interval {
type uint16 { type uint16 {
range "1..3600"; range "1..3600";
} }
units seconds; units seconds;
description description
"Interval between retransmitting unacknowledged Link "Interval between retransmitting unacknowledged Link
State Advertisements (LSAs) (seconds)."; State Advertisements (LSAs) (seconds). This should
be well over the round-trip transmit delay for
any two routers on the network. A sample value
would be 5 seconds.";
} }
leaf transmit-delay { leaf transmit-delay {
type uint16 { type uint16 {
range "1..3600"; range "1..3600";
} }
units seconds; units seconds;
description description
"Estimated time needed to transmit Link State Update "Estimated time needed to transmit Link State Update
(LSU) packets on the interface (seconds)."; (LSU) packets on the interface (seconds). LSAs have
their age incremented by this amount on advertised
on the interface. A sample value would be 1 second.";
} }
leaf lls { leaf lls {
if-feature lls; if-feature lls;
type boolean; type boolean;
description description
"Enable/Disable link-local signaling (LLS) support."; "Enable/Disable link-local signaling (LLS) support.";
} }
container ttl-security { container ttl-security {
skipping to change at page 70, line 40 skipping to change at page 75, line 31
(NBMA) network."; (NBMA) network.";
} }
enum "point-to-multipoint" { enum "point-to-multipoint" {
description description
"Specify OSPF point-to-multipoint network."; "Specify OSPF point-to-multipoint network.";
} }
enum "point-to-point" { enum "point-to-point" {
description description
"Specify OSPF point-to-point network."; "Specify OSPF point-to-point network.";
} }
enum "hybrid" {
if-feature hybrid-interface;
description
"Specify OSPF hybrid broadcast/P2MP network.";
}
} }
description description
"Interface type."; "Interface type.";
} }
leaf passive { leaf passive {
type boolean; type boolean;
description description
"Enable/Disable passive interface - a passive interface's "Enable/Disable passive interface - a passive interface's
prefix will be advertised but no neighbor adjacencies prefix will be advertised but no neighbor adjacencies
skipping to change at page 71, line 14 skipping to change at page 76, line 10
leaf demand-circuit { leaf demand-circuit {
if-feature demand-circuit; if-feature demand-circuit;
type boolean; type boolean;
description description
"Enable/Disable demand circuit."; "Enable/Disable demand circuit.";
} }
leaf priority { leaf priority {
type uint8; type uint8;
description description
"Configure OSPF router priority."; "Configure OSPF router priority. On multi-access network
this value is for Designated Router (DR) election. The
priority is ignored on other interface types. A value
of 0 indicates the router is not eligible to become
Designated Router or Backup Designated Router (BDR).";
} }
container multi-areas { container multi-areas {
if-feature multi-area-adj; if-feature multi-area-adj;
description "Container for multi-area config."; description "Container for multi-area config.";
list multi-area { list multi-area {
key multi-area-id; key multi-area-id;
description description
"Configure OSPF multi-area adjacency."; "Configure OSPF multi-area adjacency.";
leaf multi-area-id { leaf multi-area-id {
skipping to change at page 72, line 7 skipping to change at page 77, line 7
leaf identifier { leaf identifier {
type inet:ip-address; type inet:ip-address;
description description
"Neighbor Router ID, IPv4 address, or IPv6 address."; "Neighbor Router ID, IPv4 address, or IPv6 address.";
} }
leaf cost { leaf cost {
type uint16 { type uint16 {
range "1..65535"; range "1..65535";
} }
description "Neighbor cost."; description
"Neighbor cost. Different implementations have different
default costs with some defaulting to a cost inversely
proportioal to the interface speed. Others will default
to 1 equating the cost to a hop count." ;
} }
leaf poll-interval { leaf poll-interval {
type uint16 { type uint16 {
range "1..65535"; range "1..65535";
} }
units seconds; units seconds;
description description
"Neighbor poll interval (seconds) for sending OSPF "Neighbor poll interval (seconds) for sending OSPF
hello packets to discover the neighbor on NBMA hello packets to discover the neighbor on NBMA
networks."; networks. This interval dictates the granularity for
discovery of new neighbors. A sample would be 2 minutes
for a legacy Packet Data Network (PDN) X.25 network.";
} }
leaf priority { leaf priority {
type uint8 { type uint8 {
range "1..255"; range "1..255";
} }
description "Neighbor priority for DR election."; description "Neighbor priority for DR election.";
} }
} }
} }
skipping to change at page 73, line 45 skipping to change at page 78, line 50
config false; config false;
description description
"Neighbor's Backup Designated Router (BDR) IP Address."; "Neighbor's Backup Designated Router (BDR) IP Address.";
} }
leaf state { leaf state {
type nbr-state-type; type nbr-state-type;
config false; config false;
description description
"OSPF neighbor state."; "OSPF neighbor state.";
} }
leaf cost {
type uint32;
config false;
description "Cost to reach neighbor for Point-to-Multipoint
and Hybrid networks";
}
leaf dead-timer { leaf dead-timer {
type uint32; type uint32;
units "seconds"; units "seconds";
config false; config false;
description "This timer tracks the remaining time before description "This timer tracks the remaining time before
the neighbor is declared dead."; the neighbor is declared dead.";
} }
container statistics { container statistics {
config false; config false;
description "Per-neighbor statistics"; description "Per-neighbor statistics";
skipping to change at page 110, line 43 skipping to change at page 116, line 5
[RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250, OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250,
July 2008, <https://www.rfc-editor.org/info/rfc5250>. July 2008, <https://www.rfc-editor.org/info/rfc5250>.
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
IP Fast Reroute: Loop-Free Alternates", RFC 5286, IP Fast Reroute: Loop-Free Alternates", RFC 5286,
DOI 10.17487/RFC5286, September 2008, <https://www.rfc- DOI 10.17487/RFC5286, September 2008, <https://www.rfc-
editor.org/info/rfc5286>. editor.org/info/rfc5286>.
[RFC5309] Shen, N., Ed. and A. Zinin, Ed., "Point-to-Point Operation
over LAN in Link State Routing Protocols", RFC 5309,
DOI 10.17487/RFC5309, October 2008, <https://www.rfc-
editor.org/info/rfc5309>.
[RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed., [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed.,
"Traffic Engineering Extensions to OSPF Version 3", "Traffic Engineering Extensions to OSPF Version 3",
RFC 5329, DOI 10.17487/RFC5329, September 2008, RFC 5329, DOI 10.17487/RFC5329, September 2008,
<https://www.rfc-editor.org/info/rfc5329>. <https://www.rfc-editor.org/info/rfc5329>.
[RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF
for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008,
<https://www.rfc-editor.org/info/rfc5340>. <https://www.rfc-editor.org/info/rfc5340>.
[RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D.
Yeung, "OSPF Link-Local Signaling", RFC 5613, Yeung, "OSPF Link-Local Signaling", RFC 5613,
DOI 10.17487/RFC5613, August 2009, <https://www.rfc- DOI 10.17487/RFC5613, August 2009, <https://www.rfc-
editor.org/info/rfc5613>. editor.org/info/rfc5613>.
[RFC5642] Venkata, S., Harwani, S., Pignataro, C., and D. McPherson,
"Dynamic Hostname Exchange Mechanism for OSPF", RFC 5642,
DOI 10.17487/RFC5642, August 2009, <https://www.rfc-
editor.org/info/rfc5642>.
[RFC5643] Joyal, D., Ed. and V. Manral, Ed., "Management Information [RFC5643] Joyal, D., Ed. and V. Manral, Ed., "Management Information
Base for OSPFv3", RFC 5643, DOI 10.17487/RFC5643, August Base for OSPFv3", RFC 5643, DOI 10.17487/RFC5643, August
2009, <https://www.rfc-editor.org/info/rfc5643>. 2009, <https://www.rfc-editor.org/info/rfc5643>.
[RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and
R. Aggarwal, "Support of Address Families in OSPFv3", R. Aggarwal, "Support of Address Families in OSPFv3",
RFC 5838, DOI 10.17487/RFC5838, April 2010, RFC 5838, DOI 10.17487/RFC5838, April 2010,
<https://www.rfc-editor.org/info/rfc5838>. <https://www.rfc-editor.org/info/rfc5838>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
skipping to change at page 111, line 47 skipping to change at page 117, line 19
[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>.
[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>.
[RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast
and Point-to-Multipoint Interface Type", RFC 6845,
DOI 10.17487/RFC6845, January 2013, <https://www.rfc-
editor.org/info/rfc6845>.
[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>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013, RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>. <https://www.rfc-editor.org/info/rfc6991>.
[RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
skipping to change at page 112, line 37 skipping to change at page 118, line 13
<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", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>. <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>.
[RFC8042] Zhang, Z., Wang, L., and A. Lindem, "OSPF Two-Part
Metric", RFC 8042, DOI 10.17487/RFC8042, December 2016,
<https://www.rfc-editor.org/info/rfc8042>.
[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,
skipping to change at page 113, line 48 skipping to change at page 119, line 25
7.2. Informative References 7.2. Informative References
[RFC0905] "ISO Transport Protocol specification ISO DP 8073", [RFC0905] "ISO Transport Protocol specification ISO DP 8073",
RFC 905, DOI 10.17487/RFC0905, April 1984, RFC 905, DOI 10.17487/RFC0905, April 1984,
<https://www.rfc-editor.org/info/rfc905>. <https://www.rfc-editor.org/info/rfc905>.
[RFC1765] Moy, J., "OSPF Database Overflow", RFC 1765, [RFC1765] Moy, J., "OSPF Database Overflow", RFC 1765,
DOI 10.17487/RFC1765, March 1995, <https://www.rfc- DOI 10.17487/RFC1765, March 1995, <https://www.rfc-
editor.org/info/rfc1765>. editor.org/info/rfc1765>.
[RFC4973] Srisuresh, P. and P. Joseph, "OSPF-xTE: Experimental
Extension to OSPF for Traffic Engineering", RFC 4973,
DOI 10.17487/RFC4973, July 2007, <https://www.rfc-
editor.org/info/rfc4973>.
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <https://www.rfc-editor.org/info/rfc5443>. 2009, <https://www.rfc-editor.org/info/rfc5443>.
[RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework",
RFC 5714, DOI 10.17487/RFC5714, January 2010, RFC 5714, DOI 10.17487/RFC5714, January 2010,
<https://www.rfc-editor.org/info/rfc5714>. <https://www.rfc-editor.org/info/rfc5714>.
[RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D.
McPherson, "OSPF Stub Router Advertisement", RFC 6987, McPherson, "OSPF Stub Router Advertisement", RFC 6987,
 End of changes. 40 change blocks. 
25 lines changed or deleted 298 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/