--- 1/draft-ietf-ospf-yang-18.txt 2018-12-10 08:14:02.210440265 -0800 +++ 2/draft-ietf-ospf-yang-19.txt 2018-12-10 08:14:02.414445164 -0800 @@ -1,25 +1,25 @@ Internet D. Yeung Internet-Draft Arrcus Intended status: Standards Track Y. Qu -Expires: May 31, 2019 Huawei +Expires: June 13, 2019 Huawei J. Zhang Juniper Networks I. Chen The MITRE Corporation A. Lindem Cisco Systems - November 27, 2018 + December 10, 2018 YANG Data Model for OSPF Protocol - draft-ietf-ospf-yang-18 + draft-ietf-ospf-yang-19 Abstract 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 7950 and conforms to the Network Management Datastore Architecture (NDMA) as described in RFC 8342. Status of This Memo @@ -29,21 +29,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference 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 (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -59,31 +59,31 @@ 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 2. Design of Data Model . . . . . . . . . . . . . . . . . . . . 3 2.1. OSPF Operational State . . . . . . . . . . . . . . . . . 3 2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3. OSPFv2 and OSPFv3 . . . . . . . . . . . . . . . . . . . . 5 2.4. Optional Features . . . . . . . . . . . . . . . . . . . . 5 2.5. OSPF Router Configuration/Operational State . . . . . . . 7 2.6. OSPF Area Configuration/Operational State . . . . . . . . 10 2.7. OSPF Interface Configuration/Operational State . . . . . 15 - 2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 17 + 2.8. OSPF notification . . . . . . . . . . . . . . . . . . . . 18 2.9. OSPF RPC Operations . . . . . . . . . . . . . . . . . . . 21 3. OSPF YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 - 4. Security Considerations . . . . . . . . . . . . . . . . . . . 107 - 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 108 - 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 108 - 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 108 - 7.1. Normative References . . . . . . . . . . . . . . . . . . 109 - 7.2. Informative References . . . . . . . . . . . . . . . . . 113 - Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 115 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 115 + 4. Security Considerations . . . . . . . . . . . . . . . . . . . 112 + 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 113 + 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 113 + 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 114 + 7.1. Normative References . . . . . . . . . . . . . . . . . . 114 + 7.2. Informative References . . . . . . . . . . . . . . . . . 119 + Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 120 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 120 1. Overview YANG [RFC6020][RFC7950] is a data definition language used to define the contents of a conceptual data store that allows networked devices to be managed using NETCONF [RFC6241]. YANG is proving relevant beyond its initial confines, as bindings to other interfaces (e.g., ReST) and encodings other than XML (e.g., JSON) are being defined. Furthermore, YANG data models can be used as the basis for implementation of other interfaces, such as CLI and programmatic @@ -275,20 +275,25 @@ [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], [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 vendor-specific augmentations. 2.5. OSPF Router Configuration/Operational State The ospf container is the top level container in this data model. It represents an OSPF protocol engine instance and contains the router level configuration and operational state. The operational state includes the instance statistics, IETF SPF delay statistics, AS- Scoped Link State Database, local RIB, SPF Log, and the LSA log. @@ -637,20 +643,22 @@ | | | | +--rw key-chain? | | | key-chain:key-chain-ref | | | +--:(auth-trailer-key) | | | +--rw key? string | | | +--rw crypto-algorithm? identityref | | +--rw cost? uint16 | | +--rw mtu-ignore? boolean | | {mtu-ignore}? | | +--rw prefix-suppression? boolean | | {prefix-suppression}? + | | +--rw two-part-metric? boolean + | | {two-part-metric}? | | +--ro state? if-state-type | | +--ro hello-timer? uint32 | | +--ro wait-timer? uint32 | | +--ro dr-router-id? rt-types:router-id | | +--ro dr-ip-addr? inet:ip-address | | +--ro bdr-router-id? rt-types:router-id | | +--ro bdr-ip-addr? inet:ip-address | | +--ro statistics | | | +--ro if-event-count? yang:counter32 | | | +--ro link-scope-lsa-count? yang:gauge32 @@ -664,20 +672,21 @@ | | +--ro neighbors | | | +--ro neighbor* [neighbor-router-id] | | | +--ro neighbor-router-id | | | rt-types:router-id | | | +--ro address? inet:ip-address | | | +--ro dr-router-id? rt-types:router-id | | | +--ro dr-ip-addr? inet:ip-address | | | +--ro bdr-router-id? rt-types:router-id | | | +--ro bdr-ip-addr? inet:ip-address | | | +--ro state? nbr-state-type + | | | +--ro cost? uint32 | | | +--ro dead-timer? uint32 | | | +--ro statistics | | | +--ro nbr-event-count? | | | yang:counter32 | | | +--ro nbr-retrans-qlen? | | | yang:gauge32 | | +--ro database | | +--ro link-scope-lsa-type* [lsa-type] | | +--ro lsa-type uint16 | | +--ro link-scope-lsas @@ -998,23 +1007,24 @@ +---x clear-database +---w input +---w routing-protocol-name -> /rt:routing/control-plane-protocols/ control-plane-protocol/name 3. OSPF YANG Module The following RFCs and drafts are not referenced in the document text 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]. - file "ietf-ospf@2018-11-27.yang" + file "ietf-ospf@2018-12-10.yang" module ietf-ospf { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-ospf"; prefix ospf; import ietf-inet-types { prefix "inet"; reference "RFC 6991 - Common YANG Data Types"; } @@ -1099,21 +1108,21 @@ Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info). This version of this YANG module is part of RFC XXXX; see the RFC itself for full legal notices."; - revision 2018-11-27 { + revision 2018-12-10 { description "Initial revision."; reference "RFC XXXX: A YANG Data Model for OSPF."; } feature multi-topology { description "Support Multiple-Topology Routing (MTR)."; reference "RFC 4915 - Multi-Topology Routing"; @@ -1138,29 +1148,34 @@ feature mtu-ignore { description "Disable OSPF Database Description packet MTU mismatch checking."; } feature lls { description "OSPF link-local signaling (LLS) as in RFC 5613."; reference "RFC 5613 - OSPF Link-Local Signaling"; - } feature prefix-suppression { description "OSPF prefix suppression support as in RFC 6860."; 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 { description "OSPF Time to Live (TTL) security check support."; reference "RFC 5082 - The Generalized TTL Security Mechanism (GTSM)"; } feature nsr { description "Non-Stop-Routing (NSR) support."; @@ -1282,20 +1298,28 @@ state IGPs"; } feature bfd { description "Support for BFD detection of OSPF neighbor reachability."; reference "RFC 5880 - Bidirectional Forwarding Detection (BFD) RFC 5881 - Bidirectional Forwarding Detection (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 { base "rt:routing-protocol"; description "Any OSPF protocol version"; } identity ospfv2 { base "ospf"; description "OSPFv2 protocol"; } @@ -1868,20 +1885,159 @@ leaf tag { type uint32; description "Node admin tag value."; } description "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 { leaf flags { type bits { bit V { description "When set, the router is an endpoint of one or more virtual links."; } bit E { description @@ -2078,30 +2235,50 @@ when "derived-from(../../header/type, " + "'ospfv2-opaque-lsa-type')" { description "Only applies to Opaque LSAs."; } description "Opaque LSA."; uses unknown-tlvs; + container router-capabilities-tlv { + description + "Informational and functional router capabilities"; + uses router-capabilities-tlv; + } container node-tag-tlvs { description "All node tag TLVs."; list node-tag-tlv { description "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 { description "Router address TLV."; leaf router-address { type inet:ipv4-address; description "Router address."; } } @@ -2159,27 +2337,34 @@ } description "Priority from 0 to 7."; } leaf unreserved-bandwidth { type rt-types:bandwidth-ieee-float32; description "Unreserved bandwidth."; } description "List of unreserved bandwidths for different priorities."; + } } leaf admin-group { type uint32; description "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; } } container extended-prefix-tlvs { description "All extended prefix TLVs in the LSA."; list extended-prefix-tlv { description "Extended prefix TLV."; leaf route-type { type enumeration { @@ -2226,20 +2410,29 @@ } uses unknown-tlvs; } } container extended-link-tlvs { description "All extended link TLVs in the LSA."; list extended-link-tlv { description "Extended link TLV."; 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; } } } } grouping ospfv3-lsa-options { description "OSPFv3 LSA options"; leaf options { type bits { @@ -2571,34 +2764,48 @@ } } } } container router-information { when "derived-from-or-self(../../header/type, " + "'ospfv3-router-information-lsa')" { description "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 { description "All node tag tlvs."; list node-tag-tlv { description "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."; reference "RFC 7770 -Extensions for Advertising Router Capabilities"; } } + grouping lsa-header { description "Common LSA for OSPFv2 and OSPFv3"; leaf age { type uint16; mandatory true; description "LSA age."; } leaf type { type identityref { @@ -3193,69 +3404,86 @@ "Enable/Disable bypassing the MTU mismatch check in Database Description packets."; } leaf prefix-suppression { if-feature prefix-suppression; type boolean; description "Suppress advertisement of the prefixes associated 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 { description "Common configuration for all types of interfaces, including virtual links and sham links."; leaf hello-interval { type uint16 { range "1..65535"; } 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 { type uint32 { range "1..2147483647"; } units seconds; must "../dead-interval > ../hello-interval" { error-message "The dead interval must be " + "larger than the hello interval"; description "The value MUST be greater than 'hello-internval'."; } description "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 { type uint16 { range "1..3600"; } units seconds; description "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 { type uint16 { range "1..3600"; } units seconds; description "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 { if-feature lls; type boolean; description "Enable/Disable link-local signaling (LLS) support."; } container ttl-security { @@ -3341,20 +3571,25 @@ (NBMA) network."; } enum "point-to-multipoint" { description "Specify OSPF point-to-multipoint network."; } enum "point-to-point" { description "Specify OSPF point-to-point network."; } + enum "hybrid" { + if-feature hybrid-interface; + description + "Specify OSPF hybrid broadcast/P2MP network."; + } } description "Interface type."; } leaf passive { type boolean; description "Enable/Disable passive interface - a passive interface's prefix will be advertised but no neighbor adjacencies @@ -3363,21 +3599,25 @@ leaf demand-circuit { if-feature demand-circuit; type boolean; description "Enable/Disable demand circuit."; } leaf priority { type uint8; 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 { if-feature multi-area-adj; description "Container for multi-area config."; list multi-area { key multi-area-id; description "Configure OSPF multi-area adjacency."; leaf multi-area-id { @@ -3404,31 +3644,37 @@ leaf identifier { type inet:ip-address; description "Neighbor Router ID, IPv4 address, or IPv6 address."; } leaf cost { type uint16 { 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 { type uint16 { range "1..65535"; } units seconds; description "Neighbor poll interval (seconds) for sending OSPF 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 { type uint8 { range "1..255"; } description "Neighbor priority for DR election."; } } } @@ -3489,20 +3735,26 @@ config false; description "Neighbor's Backup Designated Router (BDR) IP Address."; } leaf state { type nbr-state-type; config false; description "OSPF neighbor state."; } + leaf cost { + type uint32; + config false; + description "Cost to reach neighbor for Point-to-Multipoint + and Hybrid networks"; + } leaf dead-timer { type uint32; units "seconds"; config false; description "This timer tracks the remaining time before the neighbor is declared dead."; } container statistics { config false; description "Per-neighbor statistics"; @@ -5260,34 +5520,44 @@ [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250, July 2008, . [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI 10.17487/RFC5286, September 2008, . + [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, . + [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed., "Traffic Engineering Extensions to OSPF Version 3", RFC 5329, DOI 10.17487/RFC5329, September 2008, . [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, . [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. Yeung, "OSPF Link-Local Signaling", RFC 5613, DOI 10.17487/RFC5613, August 2009, . + [RFC5642] Venkata, S., Harwani, S., Pignataro, C., and D. McPherson, + "Dynamic Hostname Exchange Mechanism for OSPF", RFC 5642, + DOI 10.17487/RFC5642, August 2009, . + [RFC5643] Joyal, D., Ed. and V. Manral, Ed., "Management Information Base for OSPFv3", RFC 5643, DOI 10.17487/RFC5643, August 2009, . [RFC5838] Lindem, A., Ed., Mirtorabi, S., Roy, A., Barnes, M., and R. Aggarwal, "Support of Address Families in OSPFv3", RFC 5838, DOI 10.17487/RFC5838, April 2010, . [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection @@ -5311,20 +5581,25 @@ [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, . [RFC6565] Pillay-Esnault, P., Moyer, P., Doyle, J., Ertekin, E., and M. Lundberg, "OSPFv3 as a Provider Edge to Customer Edge (PE-CE) Routing Protocol", RFC 6565, DOI 10.17487/RFC6565, June 2012, . + [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, . + [RFC6860] Yang, Y., Retana, A., and A. Roy, "Hiding Transit-Only Networks in OSPF", RFC 6860, DOI 10.17487/RFC6860, January 2013, . [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, . [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", @@ -5347,20 +5622,24 @@ . [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, August 2016, . [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, . + [RFC8042] Zhang, Z., Wang, L., and A. Lindem, "OSPF Two-Part + Metric", RFC 8042, DOI 10.17487/RFC8042, December 2016, + . + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8177] Lindem, A., Ed., Qu, Y., Yeung, D., Chen, I., and J. Zhang, "YANG Data Model for Key Chains", RFC 8177, DOI 10.17487/RFC8177, June 2017, . [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, @@ -5404,20 +5683,25 @@ 7.2. Informative References [RFC0905] "ISO Transport Protocol specification ISO DP 8073", RFC 905, DOI 10.17487/RFC0905, April 1984, . [RFC1765] Moy, J., "OSPF Database Overflow", RFC 1765, DOI 10.17487/RFC1765, March 1995, . + [RFC4973] Srisuresh, P. and P. Joseph, "OSPF-xTE: Experimental + Extension to OSPF for Traffic Engineering", RFC 4973, + DOI 10.17487/RFC4973, July 2007, . + [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP Synchronization", RFC 5443, DOI 10.17487/RFC5443, March 2009, . [RFC5714] Shand, M. and S. Bryant, "IP Fast Reroute Framework", RFC 5714, DOI 10.17487/RFC5714, January 2010, . [RFC6987] Retana, A., Nguyen, L., Zinin, A., White, R., and D. McPherson, "OSPF Stub Router Advertisement", RFC 6987,