YANG Model for OSPFv3 Extended LSAs
draft-ietf-lsr-ospfv3-extended-lsa-yang-06
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Active".
|
|
---|---|---|---|
Authors | Acee Lindem , Sharmila Palani , Yingzhen Qu | ||
Last updated | 2020-10-01 | ||
Replaces | draft-acee-lsr-ospfv3-extended-lsa-yang | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Reviews |
YANGDOCTORS Last Call review
(of
-14)
by Mahesh Jethanandani
On the Right Track
|
||
Additional resources | Mailing list discussion | ||
Stream | WG state | WG Document | |
Document shepherd | Christian Hopps | ||
IESG | IESG state | I-D Exists | |
Consensus boilerplate | Unknown | ||
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | Christian Hopps <chopps@chopps.org> |
draft-ietf-lsr-ospfv3-extended-lsa-yang-06
"../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-router-lsa'" { description "Only valid for OSPFv3 Extended-Router LSAs"; } description "OSPv3 Extended Router LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.1"; uses ospf:ospf-router-lsa-bits; uses ospf:ospfv3-lsa-options; list e-router-tlvs { description "E-Router LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-Router TLV"; } container link-tlv { description "E-Router LSA TLV"; leaf link-tlv-length { type uint16; description "Link TLV Length - Variable dependent on sub-TLVs"; } leaf interface-id { type uint32; description "Interface ID for link"; } Lindem, et al. Expires April 4, 2021 [Page 17] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 leaf neighbor-interface-id { type uint32; description "Neighbor's Interface ID for link"; } leaf neighbor-router-id { type rt-types:router-id; description "Neighbor's Router ID for link"; } leaf type { type ospf:router-link-type; description "Link type: 1 - Point-to-Point Link 2 - Transit Network Link 3 - Stub Network Link Link 4 - Virtual Link"; } leaf metric { type uint16; description "Link Metric"; } list sub-tlvs { description "Link TLV Sub-TLVs"; uses unknown-sub-tlv; } } } } container e-network { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-network-lsa'" { description "Only applies to E-Network LSAs."; } description "Extended Network LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.2"; uses ospf:ospfv3-lsa-options; list e-network-tlvs { description "E-Network LSA TLVs"; container unknown--tlv { uses ospf:tlv; description "Unknown E-Network TLV"; } container attached-router-tlv { description "Attached Router TLV"; leaf attached-router-tlv-length { type uint16; description Lindem, et al. Expires April 4, 2021 [Page 18] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 "Attached Router TLV Length - Variable dependent on sub-TLVs"; } leaf-list Adjacent-neighbor-router-id { type rt-types:router-id; description "Adjacent Neighbor's Router ID"; } list sub-tlvs { description "Attached Router TLV Sub-TLVs"; uses unknown-sub-tlv; } } } } container e-inter-area-prefix { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-inter-area-prefix-lsa'" { description "Only applies to E-Inter-Area-Prefix LSAs."; } description "Extended Inter-Area Prefix LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.3"; list e-inter-prefix-tlvs { description "E-Inter-Area-Prefix LSA TLVs"; container unknown--tlv { uses ospf:tlv; description "Unknown E-Inter-Area-Prefix TLV"; } container inter-prefix-tlv { description "Unknown E-Inter-Area-Prefix LSA TLV"; leaf inter-prefix-tlv-length { type uint16; description "Inter-Area-Prefix TLV Length - Variable dependent on sub-TLVs"; } leaf metric { type rt-types:uint24; description "Inter-Area Prefix Metric"; } uses ospfv3-lsa-prefix; list sub-tlvs { description "Inter-Area Prefix TLV Sub-TLVs"; uses unknown-sub-tlv; } } Lindem, et al. Expires April 4, 2021 [Page 19] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 } } container e-inter-area-router { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-inter-area-router-lsa'" { description "Only applies to E-Inter-Area-Router LSAs."; } description "Extended Inter-Area Router LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.4"; list e-inter-router-tlvs { description "E-Inter-Area-Router LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-Inter-Area-Router TLV"; } container inter-router-tlv { description "Unknown E-Inter-Area-Router LSA TLV"; leaf inter-router-tlv-length { type uint16; description "Inter-Area-Router TLV Length - Variable dependent on sub-TLVs"; } uses ospf:ospf-router-lsa-bits; uses ospf:ospfv3-lsa-options; leaf metric { type rt-types:uint24; description "Inter-Area Router Metric"; } leaf destination-router-id { type rt-types:router-id; description "Destination Router ID"; } list sub-tlvs { description "Inter-Area Router TLV Sub-TLVs"; uses unknown-sub-tlv; } } } } container e-intra-area-prefix { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-intra-area-prefix-lsa'" { description Lindem, et al. Expires April 4, 2021 [Page 20] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 "Only applies to E-Intra-Area-Prefix LSAs."; } description "E-Intra-Area-Prefix LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.8"; leaf referenced-ls-type { type uint16; description "Referenced Link State type"; } leaf referenced-link-state-id { type uint32; description "Referenced Link State ID"; } leaf referenced-adv-router { type rt-types:router-id; description "Referenced Advertising Router"; } list e-intra-prefix-tlvs { description "E-Intra-Area-Prefix LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-Intra-Area-Prefix TLV"; } uses intra-area-prefix-tlv; } } } grouping ospfv3-e-lsa-as { description "AS scope OSPFv3 Extended LSAs."; container e-as-external { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-as-external-lsa'" { description "Only applies to E-AS-external LSAs."; } list e-external-tlvs { description "E-External LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-External TLV"; } uses external-prefix-tlv; } description "E-AS-External LSA."; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Lindem, et al. Expires April 4, 2021 [Page 21] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 Extensibility, Section 4.5"; } container e-nssa { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-nssa-lsa'" { description "Only applies to E-NSSA LSAs."; } list e-external-tlvs { description "E-NSSA LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-External TLV"; } uses external-prefix-tlv; } description "E-NSSA LSA."; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.6"; } } grouping ospfv3-e-lsa-link { description "Link scope OSPFv3 Extended LSAs."; container e-link { when "../../ospf:header/ospf:type = " + "'ospfv3-e-lsa:ospfv3-e-link-lsa'" { description "Only applies to Extended Link LSAs."; } description "E-Link LSA"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Section 4.7"; leaf rtr-priority { type uint8; description "Router Priority for the interface."; } uses ospf:ospfv3-lsa-options; list e-link-tlvs { description "E-Link LSA TLVs"; container unknown-tlv { uses ospf:tlv; description "Unknown E-Link TLV"; } uses intra-area-prefix-tlv; uses ipv6-link-local-tlv; uses ipv4-link-local-tlv; Lindem, et al. Expires April 4, 2021 [Page 22] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 } } } /* Configuration */ augment "/rt:routing/rt:control-plane-protocols" + "/rt:control-plane-protocol/ospf:ospf" { when "../rt:type = 'ospf:ospfv3'" { description "This augments the OSPFv3 routing protocol when used."; } description "This augments the OSPFv3 protocol configuration with extended LSA support."; leaf extended-lsa-support { type boolean; default false; description "Enable OSPFv3 Extended LSA Support for the OSPFv3 domain"; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Appendix B - ExtendedLSASupport"; } } augment "/rt:routing/rt:control-plane-protocols/" + "rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area" { when "../../../rt:type = 'ospf:ospfv3'" { description "This augments the OSPFv3 area configuration when used."; } description "This augments the OSPFv3 protocol area configuration with extended LSA support."; leaf extended-lsa-support { type boolean; must "derived-from(../ospf:area-type,'stub-nssa-area') or " + "(current() = 'true') or " + "(../../../extended-lsa-support = 'false')" { description "For regular areas, i.e., areas where AS-scoped LSAs disabling AreaExtendedLSASupport for a regular OSPFv3 area (not a Stub or NSSA area) when ExtendedLSASupport is enabled is contradictory and is prohibited."; } Lindem, et al. Expires April 4, 2021 [Page 23] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 description "Enable OSPFv3 Extended LSA Support for the OSPFv3 area. If not specified, Extended LSA support status is inherited from the instance level configuration."; reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) Extensibility, Appendix B - AreaExtendedLSASupport"; } } /* * Link State Database (LSDB) Augmentations */ augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:areas/ospf:area/" + "ospf:interfaces/ospf:interface/ospf:database/" + "ospf:link-scope-lsa-type/ospf:link-scope-lsas/" + "ospf:link-scope-lsa/ospf:version/ospf:ospfv3/" + "ospf:ospfv3/ospf:body" { when "../../../../../../../../../../../" + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } description "OSPFv3 Link-Scoped Extended LSAs"; uses ospfv3-e-lsa-link; } augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" + "ospf:ospfv3/ospf:body" { when "../../../../../../../../../" + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } description "OSPFv3 Area-Scoped Extended LSAs"; uses ospfv3-e-lsa-area; } Lindem, et al. Expires April 4, 2021 [Page 24] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 augment "/rt:routing/" + "rt:control-plane-protocols/rt:control-plane-protocol/" + "ospf:ospf/ospf:database/" + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" + "ospf:ospfv3/ospf:body" { when "../../../../../../../" + "rt:type = 'ospf:ospfv3'" { description "This augmentation is only valid for OSPFv3."; } description "OSPFv3 AS-Scoped Extended LSAs"; uses ospfv3-e-lsa-as; } } <CODE ENDS> 5. Security Considerations The YANG modules specified in this document define a schema for data that is designed to be accessed via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport layer, and the mandatory-to-implement secure transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS [RFC8446]. The NETCONF access control model [RFC6536] provides the means to restrict access for particular NETCONF or RESTCONF users to a pre- configured subset of all available NETCONF or RESTCONF protocol operations and content. There are a number of data nodes defined in ietf-ospfv3-extended- lsa.yang module that are writable/creatable/deletable (i.e., config true, which is the default). These data nodes may be considered sensitive or vulnerable in some network environments. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. For OSPFv3 Extended LSAs, the ability to disable OSPFv3 Extended LSA support result in a denial of service. Some of the readable data nodes in the ietf-ospfv3-extended-lsa.yang module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. The exposure of the Link State Database (LSDB) will expose the detailed topology Lindem, et al. Expires April 4, 2021 [Page 25] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 of the network. This may be undesirable since both due to the fact that exposure may facilitate other attacks. Additionally, network operators may consider their topologies to be sensitive confidential data. 6. IANA Considerations This document registers a URI in the IETF XML registry [RFC3688]. Following the format in [RFC3688], the following registration is requested to be made: URI: urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa Registrant Contact: The IESG. XML: N/A, the requested URI is an XML namespace. This document registers a YANG module in the YANG Module Names registry [RFC6020]. name: ietf-ospfv3-extended-lsa namespace: urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa prefix: ospfv3-e-lsa reference: RFC XXXX 7. Acknowledgements This document was produced using Marshall Rose's xml2rfc tool. The YANG model was developed using the suite of YANG tools written and maintained by numerous authors. Thanks much to Tom Petch for his review and comments. 8. References 8.1. Normative References [I-D.ietf-ospf-yang] Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, "YANG Data Model for OSPF Protocol", draft-ietf-ospf- yang-29 (work in progress), October 2019. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. Lindem, et al. Expires April 4, 2021 [Page 26] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>. [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, <https://www.rfc-editor.org/info/rfc5340>. [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-editor.org/info/rfc6020>. [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <https://www.rfc-editor.org/info/rfc6241>. [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, <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>. [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013, <https://www.rfc-editor.org/info/rfc6991>. [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>. [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing Management", RFC 8022, DOI 10.17487/RFC8022, November 2016, <https://www.rfc-editor.org/info/rfc8022>. [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <https://www.rfc-editor.org/info/rfc8040>. [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>. Lindem, et al. Expires April 4, 2021 [Page 27] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, "Common YANG Data Types for the Routing Area", RFC 8294, DOI 10.17487/RFC8294, December 2017, <https://www.rfc-editor.org/info/rfc8294>. [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, <https://www.rfc-editor.org/info/rfc8342>. [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10.17487/RFC8349, March 2018, <https://www.rfc-editor.org/info/rfc8349>. [RFC8362] Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, April 2018, <https://www.rfc-editor.org/info/rfc8362>. [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, <https://www.rfc-editor.org/info/rfc8446>. 8.2. Informative References [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>. Authors' Addresses Acee Lindem Cisco Systems 301 Midenhall Way Cary, NC 27513 EMail: acee@cisco.com Sharmila Palani Microsoft 1 Microsoft Way, Redmond, WA 98052170 West Tasman Drive Redmond, WA 98052 EMail: sharmila.palani@microsoft.com Lindem, et al. Expires April 4, 2021 [Page 28] Internet-Draft OSPFv3 Extended LSAs YANG October 2020 Yingzhen Qu Futurewei 2330 Central Expressway Santa Clara, CA 95050 USA EMail: yingzhen.qu@futurewei.com Lindem, et al. Expires April 4, 2021 [Page 29]