| < draft-ietf-lsr-ospfv3-extended-lsa-yang-04.txt | draft-ietf-lsr-ospfv3-extended-lsa-yang-05.txt > | |||
|---|---|---|---|---|
| Internet A. Lindem | Internet A. Lindem | |||
| Internet-Draft S. Palani | Internet-Draft S. Palani | |||
| Intended status: Standards Track Cisco Systems | Intended status: Standards Track Cisco Systems | |||
| Expires: February 13, 2021 Y. Qu | Expires: April 3, 2021 Y. Qu | |||
| Futurewei | Futurewei | |||
| August 12, 2020 | September 30, 2020 | |||
| YANG Model for OSPFv3 Extended LSAs | YANG Model for OSPFv3 Extended LSAs | |||
| draft-ietf-lsr-ospfv3-extended-lsa-yang-04 | draft-ietf-lsr-ospfv3-extended-lsa-yang-05 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model augmenting the IETF OSPF YANG | This document defines a YANG data model augmenting the IETF OSPF YANG | |||
| model to provide support for OSPFv3 Link State Advertisement (LSA) | model to provide support for OSPFv3 Link State Advertisement (LSA) | |||
| Extensibility as defined in RFC 8362. OSPFv3 Extended LSAs provide | Extensibility as defined in RFC 8362. OSPFv3 Extended LSAs provide | |||
| extensible TLV-based LSAs for the base LSA types defined in RFC 5340. | extensible TLV-based LSAs for the base LSA types defined in RFC 5340. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 35 ¶ | skipping to change at page 1, line 35 ¶ | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 February 13, 2021. | This Internet-Draft will expire on April 3, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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 14 ¶ | skipping to change at page 2, line 14 ¶ | |||
| 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 . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. OSPFv3 Extended LSAs . . . . . . . . . . . . . . . . . . . . 3 | 3. OSPFv3 Extended LSAs . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. OSPFv3 Extended LSA Yang Module . . . . . . . . . . . . . . . 7 | 4. OSPFv3 Extended LSA Yang Module . . . . . . . . . . . . . . . 7 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 8.1. Normative References . . . . . . . . . . . . . . . . . . 24 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 26 | |||
| 8.2. Informative References . . . . . . . . . . . . . . . . . 26 | 8.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 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 3, line 21 ¶ | skipping to change at page 3, line 21 ¶ | |||
| LSA types defined in [RFC5340]. | LSA types defined in [RFC5340]. | |||
| The OSPFv3 Extended LSA YANG module requires support for the OSPF | The OSPFv3 Extended LSA YANG module requires support for the OSPF | |||
| base model[I-D.ietf-ospf-yang] which defines basic OSPF configuration | base model[I-D.ietf-ospf-yang] which defines basic OSPF configuration | |||
| and state. The OSPF YANG model augments the ietf-routing YANG model | and state. The OSPF YANG model augments the ietf-routing YANG model | |||
| defined in [RFC8022]. The augmentations defined in the ietf-ospfv3- | defined in [RFC8022]. The augmentations defined in the ietf-ospfv3- | |||
| extended-lsa YANG model will provide global configuration, area | extended-lsa YANG model will provide global configuration, area | |||
| configuration, and addition of OSPFv3 Extended LSAs to the Link State | configuration, and addition of OSPFv3 Extended LSAs to the Link State | |||
| Database (LSDB) operational state. | Database (LSDB) operational state. | |||
| module: ietf-ospfv3-extended-lsa | module: ietf-ospfv3-extended-lsa | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/ospf:ospf: | /rt:control-plane-protocol/ospf:ospf: | |||
| +--rw extended-lsa-support? boolean | +--rw extended-lsa-support? boolean | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area: | /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area: | |||
| +--rw extended-lsa-support? boolean | +--rw extended-lsa-support? boolean | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area | /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area | |||
| /ospf:interfaces/ospf:interface/ospf:database | /ospf:interfaces/ospf:interface/ospf:database | |||
| /ospf:link-scope-lsa-type/ospf:link-scope-lsas | /ospf:link-scope-lsa-type/ospf:link-scope-lsas | |||
| /ospf:link-scope-lsa/ospf:version/ospf:ospfv3 | /ospf:link-scope-lsa/ospf:version/ospf:ospfv3 | |||
| /ospf:ospfv3/ospf:body: | /ospf:ospfv3/ospf:body: | |||
| +--ro e-link | +--ro e-link | |||
| +--ro rtr-priority? uint8 | +--ro rtr-priority? uint8 | |||
| +--ro lsa-options | +--ro lsa-options | |||
| | +--ro lsa-options* identityref | | +--ro lsa-options* identityref | |||
| +--ro e-link-tlvs* [] | +--ro e-link-tlvs* [] | |||
| +--ro unknown-tlv | +--ro unknown-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro intra-prefix-tlv | +--ro intra-prefix-tlv | |||
| | +--ro intra-prefix-tlv-length? uint16 | | +--ro intra-prefix-tlv-length? uint16 | |||
| | +--ro metric? rt-types:uint24 | | +--ro metric? rt-types:uint24 | |||
| | +--ro prefix? inet:ip-prefix | | +--ro prefix? inet:ip-prefix | |||
| | +--ro prefix-options | | +--ro prefix-options | |||
| | | +--ro prefix-options* identityref | | | +--ro prefix-options* identityref | |||
| | +--ro prefix-length? uint8 | | +--ro prefix-length? uint8 | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro ipv6-link-local-tlv | +--ro ipv6-link-local-tlv | |||
| | +--ro ipv6-link-local-tlv-length? uint16 | | +--ro ipv6-link-local-tlv-length? uint16 | |||
| | +--ro link-local-address? inet:ipv6-address | | +--ro link-local-address? inet:ipv6-address | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro ipv4-link-local-tlv | +--ro ipv4-link-local-tlv | |||
| +--ro ipv4-link-local-tlv-length? uint16 | +--ro ipv4-link-local-tlv-length? uint16 | |||
| +--ro link-local-address? inet:ipv4-address | +--ro link-local-address? inet:ipv4-address | |||
| +--ro sub-tlvs* [] | +--ro sub-tlvs* [] | |||
| +--ro unknown-sub-tlv | +--ro unknown-sub-tlv | |||
| +--ro type? uint16 | +--ro type? uint16 | |||
| +--ro length? uint16 | +--ro length? uint16 | |||
| +--ro value? yang:hex-string | +--ro value? yang:hex-string | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area | /rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area | |||
| /ospf:database/ospf:area-scope-lsa-type/ospf:area-scope-lsas | /ospf:database/ospf:area-scope-lsa-type | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3 | /ospf:area-scope-lsas/ospf:area-scope-lsa | |||
| /ospf:ospfv3/ospf:body: | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body: | |||
| +--ro e-router | +--ro e-router | |||
| | +--ro router-bits | | +--ro router-bits | |||
| | | +--ro rtr-lsa-bits* identityref | | | +--ro rtr-lsa-bits* identityref | |||
| | +--ro lsa-options | | +--ro lsa-options | |||
| | | +--ro lsa-options* identityref | | | +--ro lsa-options* identityref | |||
| | +--ro e-router-tlvs* [] | | +--ro e-router-tlvs* [] | |||
| | +--ro unknown-tlv | | +--ro unknown-tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro link-tlv | | +--ro link-tlv | |||
| | +--ro link-tlv-length? uint16 | | +--ro link-tlv-length? uint16 | |||
| | +--ro interface-id? uint32 | | +--ro interface-id? uint32 | |||
| | +--ro neighbor-interface-id? uint32 | | +--ro neighbor-interface-id? uint32 | |||
| | +--ro neighbor-router-id? rt-types:router-id | | +--ro neighbor-router-id? rt-types:router-id | |||
| | +--ro type? uint8 | | +--ro type? uint8 | |||
| | +--ro metric? uint16 | | +--ro metric? uint16 | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro e-network | +--ro e-network | |||
| | +--ro lsa-options | | +--ro lsa-options | |||
| | | +--ro lsa-options* identityref | | | +--ro lsa-options* identityref | |||
| | +--ro e-network-tlvs* [] | | +--ro e-network-tlvs* [] | |||
| | +--ro unknown--tlv | | +--ro unknown--tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro attached-router-tlv | | +--ro attached-router-tlv | |||
| | +--ro attached-router-tlv-length? uint16 | | +--ro attached-router-tlv-length? uint16 | |||
| | +--ro Adjacent-neighbor-router-id* rt-types:router-id | | +--ro Adjacent-neighbor-router-id* rt-types:router-id | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro e-inter-area-prefix | +--ro e-inter-area-prefix | |||
| | +--ro e-inter-prefix-tlvs* [] | | +--ro e-inter-prefix-tlvs* [] | |||
| | +--ro unknown--tlv | | +--ro unknown--tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro inter-prefix-tlv | | +--ro inter-prefix-tlv | |||
| | +--ro inter-prefix-tlv-length? uint16 | | +--ro inter-prefix-tlv-length? uint16 | |||
| | +--ro metric? rt-types:uint24 | | +--ro metric? rt-types:uint24 | |||
| | +--ro prefix? inet:ip-prefix | | +--ro prefix? inet:ip-prefix | |||
| | +--ro prefix-options | | +--ro prefix-options | |||
| | | +--ro prefix-options* identityref | | | +--ro prefix-options* identityref | |||
| | +--ro prefix-length? uint8 | | +--ro prefix-length? uint8 | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro e-inter-area-router | +--ro e-inter-area-router | |||
| | +--ro e-inter-router-tlvs* [] | | +--ro e-inter-router-tlvs* [] | |||
| | +--ro unknown-tlv | | +--ro unknown-tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro inter-router-tlv | | +--ro inter-router-tlv | |||
| | +--ro inter-router-tlv-length? uint16 | | +--ro inter-router-tlv-length? uint16 | |||
| | +--ro router-bits | | +--ro router-bits | |||
| | | +--ro rtr-lsa-bits* identityref | | | +--ro rtr-lsa-bits* identityref | |||
| | +--ro lsa-options | | +--ro lsa-options | |||
| | | +--ro lsa-options* identityref | | | +--ro lsa-options* identityref | |||
| | +--ro metric? rt-types:uint24 | | +--ro metric? rt-types:uint24 | |||
| | +--ro destination-router-id? rt-types:router-id | | +--ro destination-router-id? rt-types:router-id | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro e-intra-area-prefix | +--ro e-intra-area-prefix | |||
| +--ro referenced-ls-type? uint16 | +--ro referenced-ls-type? uint16 | |||
| +--ro referenced-link-state-id? uint32 | +--ro referenced-link-state-id? uint32 | |||
| +--ro referenced-adv-router? rt-types:router-id | +--ro referenced-adv-router? rt-types:router-id | |||
| +--ro e-intra-prefix-tlvs* [] | +--ro e-intra-prefix-tlvs* [] | |||
| +--ro unknown-tlv | +--ro unknown-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro intra-prefix-tlv | +--ro intra-prefix-tlv | |||
| +--ro intra-prefix-tlv-length? uint16 | +--ro intra-prefix-tlv-length? uint16 | |||
| +--ro metric? rt-types:uint24 | +--ro metric? rt-types:uint24 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro prefix-options | +--ro prefix-options | |||
| | +--ro prefix-options* identityref | | +--ro prefix-options* identityref | |||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro sub-tlvs* [] | +--ro sub-tlvs* [] | |||
| +--ro unknown-sub-tlv | +--ro unknown-sub-tlv | |||
| +--ro type? uint16 | +--ro type? uint16 | |||
| +--ro length? uint16 | +--ro length? uint16 | |||
| +--ro value? yang:hex-string | +--ro value? yang:hex-string | |||
| augment /rt:routing/rt:control-plane-protocols | augment /rt:routing/rt:control-plane-protocols | |||
| /rt:control-plane-protocol/ospf:ospf/ospf:database | /rt:control-plane-protocol/ospf:ospf/ospf:database | |||
| /ospf:as-scope-lsa-type/ospf:as-scope-lsas | /ospf:as-scope-lsa-type/ospf:as-scope-lsas | |||
| /ospf:as-scope-lsa/ospf:version/ospf:ospfv3 | /ospf:as-scope-lsa/ospf:version/ospf:ospfv3 | |||
| /ospf:ospfv3/ospf:body: | /ospf:ospfv3/ospf:body: | |||
| +--ro e-as-external | +--ro e-as-external | |||
| | +--ro e-external-tlvs* [] | | +--ro e-external-tlvs* [] | |||
| | +--ro unknown-tlv | | +--ro unknown-tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro external-prefix-tlv | | +--ro external-prefix-tlv | |||
| | +--ro external-prefix-tlv-length? uint16 | | +--ro external-prefix-tlv-length? uint16 | |||
| | +--ro flags | | +--ro flags | |||
| | | +--ro ospfv3-e-external-prefix-bits* identityref | | | +--ro ospfv3-e-external-prefix-bits* identityref | |||
| | +--ro metric? rt-types:uint24 | | +--ro metric? rt-types:uint24 | |||
| | +--ro prefix? inet:ip-prefix | | +--ro prefix? inet:ip-prefix | |||
| | +--ro prefix-options | | +--ro prefix-options | |||
| | | +--ro prefix-options* identityref | | | +--ro prefix-options* identityref | |||
| | +--ro prefix-length? uint8 | | +--ro prefix-length? uint8 | |||
| | +--ro sub-tlvs* [] | | +--ro sub-tlvs* [] | |||
| | +--ro unknown-sub-tlv | | +--ro unknown-sub-tlv | |||
| | | +--ro type? uint16 | | | +--ro type? uint16 | |||
| | | +--ro length? uint16 | | | +--ro length? uint16 | |||
| | | +--ro value? yang:hex-string | | | +--ro value? yang:hex-string | |||
| | +--ro ipv6-fwd-addr-sub-tlv | | +--ro ipv6-fwd-addr-sub-tlv | |||
| | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 | | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 | |||
| | | +--ro forwarding-address? inet:ipv6-address | | | +--ro forwarding-address? inet:ipv6-address | |||
| | +--ro ipv4-fwd-addr-sub-tlv | | +--ro ipv4-fwd-addr-sub-tlv | |||
| | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 | | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 | |||
| | | +--ro forwarding-address? inet:ipv4-address | | | +--ro forwarding-address? inet:ipv4-address | |||
| | +--ro route-tag-sub-tlv | | +--ro route-tag-sub-tlv | |||
| | +--ro route-tag-sub-tlv-length? uint16 | | +--ro route-tag-sub-tlv-length? uint16 | |||
| | +--ro route-tag? uint32 | | +--ro route-tag? uint32 | |||
| +--ro e-nssa | +--ro e-nssa | |||
| +--ro e-external-tlvs* [] | +--ro e-external-tlvs* [] | |||
| +--ro unknown-tlv | +--ro unknown-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro external-prefix-tlv | +--ro external-prefix-tlv | |||
| +--ro external-prefix-tlv-length? uint16 | +--ro external-prefix-tlv-length? uint16 | |||
| +--ro flags | +--ro flags | |||
| | +--ro ospfv3-e-external-prefix-bits* identityref | | +--ro ospfv3-e-external-prefix-bits* identityref | |||
| +--ro metric? rt-types:uint24 | +--ro metric? rt-types:uint24 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro prefix-options | +--ro prefix-options | |||
| | +--ro prefix-options* identityref | | +--ro prefix-options* identityref | |||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro sub-tlvs* [] | +--ro sub-tlvs* [] | |||
| +--ro unknown-sub-tlv | +--ro unknown-sub-tlv | |||
| | +--ro type? uint16 | | +--ro type? uint16 | |||
| | +--ro length? uint16 | | +--ro length? uint16 | |||
| | +--ro value? yang:hex-string | | +--ro value? yang:hex-string | |||
| +--ro ipv6-fwd-addr-sub-tlv | +--ro ipv6-fwd-addr-sub-tlv | |||
| | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 | | +--ro ipv6-fwd-addr-sub-tlv-length? uint16 | |||
| | +--ro forwarding-address? inet:ipv6-address | | +--ro forwarding-address? inet:ipv6-address | |||
| +--ro ipv4-fwd-addr-sub-tlv | +--ro ipv4-fwd-addr-sub-tlv | |||
| | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 | | +--ro ipv4-fwd-addr-sub-tlv-length? uint16 | |||
| | +--ro forwarding-address? inet:ipv4-address | | +--ro forwarding-address? inet:ipv4-address | |||
| +--ro route-tag-sub-tlv | +--ro route-tag-sub-tlv | |||
| +--ro route-tag-sub-tlv-length? uint16 | +--ro route-tag-sub-tlv-length? uint16 | |||
| +--ro route-tag? uint32 | +--ro route-tag? uint32 | |||
| 4. OSPFv3 Extended LSA Yang Module | 4. OSPFv3 Extended LSA 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-ospfv3-extended-lsa.yang module: | but are referenced in the ietf-ospfv3-extended-lsa.yang module: | |||
| [RFC6991], [RFC8294]. | [RFC6991], [RFC8294]. | |||
| <CODE BEGINS> file "ietf-ospfv3-extended-lsa@2020-08-12.yang" | <CODE BEGINS> file "ietf-ospfv3-extended-lsa@2020-09-30.yang" | |||
| module ietf-ospfv3-extended-lsa { | module ietf-ospfv3-extended-lsa { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa"; | "urn:ietf:params:xml:ns:yang:ietf-ospfv3-extended-lsa"; | |||
| prefix ospfv3-e-lsa; | prefix ospfv3-e-lsa; | |||
| import ietf-routing-types { | import ietf-routing-types { | |||
| prefix "rt-types"; | prefix "rt-types"; | |||
| reference "RFC 8294 - Common YANG Data Types for the | reference "RFC 8294 - Common YANG Data Types for the | |||
| skipping to change at page 8, line 50 ¶ | skipping to change at page 8, line 50 ¶ | |||
| Author: Acee Lindem | Author: Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Author: Sharmila Palani | Author: Sharmila Palani | |||
| <mailto:shpalani@cisco.com> | <mailto:shpalani@cisco.com> | |||
| Author: Yingzhen Qu | Author: Yingzhen Qu | |||
| <mailto:yingzhen.qu@futurewei.com>"; | <mailto:yingzhen.qu@futurewei.com>"; | |||
| description | description | |||
| "This YANG module defines the configuration | "This YANG module defines the configuration | |||
| and operational state for OSPFv3 Extended LSAs, which is | and operational state for OSPFv3 Extended LSAs, which is | |||
| common across all of the vendor implementations. | common across all of the vendor implementations. The | |||
| semantics and encodings for OSPFv3 Extended LSAs is | ||||
| described in RFC 8362. | ||||
| This YANG model conforms to the Network Management | This YANG model conforms to the Network Management | |||
| Datastore Architecture (NMDA) as described in RFC 8242. | Datastore Architecture (NMDA) as described in RFC 8242. | |||
| Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2020 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| 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."; | |||
| reference "RFC XXXX"; | reference "RFC XXXX - YANG Model for OSPFv3 Extended LSAs"; | |||
| revision 2020-08-12 { | revision 2020-09-30 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPFv3 Extended LSAs."; | "RFC XXXX: A YANG Data Model for OSPFv3 Extended LSAs."; | |||
| } | } | |||
| /* | /* | |||
| * OSPFv3 Extend LSA Type Identities | * OSPFv3 Extend LSA Type Identities | |||
| */ | */ | |||
| identity ospfv3-e-router-lsa { | identity ospfv3-e-router-lsa { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Router LSA - Type 0xA021"; | "OSPFv3 Extended Router LSA - Type 0xA021"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.1"; | ||||
| } | } | |||
| identity ospfv3-e-network-lsa { | identity ospfv3-e-network-lsa { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Network LSA - Type 0xA022"; | "OSPFv3 Extended Network LSA - Type 0xA022"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.2"; | ||||
| } | } | |||
| identity ospfv3-e-summary-lsa-type { | identity ospfv3-e-summary-lsa-type { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Summary LSA types"; | "OSPFv3 Extended Summary LSA types"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.3 and Section 4.4"; | ||||
| } | } | |||
| identity ospfv3-e-inter-area-prefix-lsa { | identity ospfv3-e-inter-area-prefix-lsa { | |||
| base ospfv3-e-summary-lsa-type; | base ospfv3-e-summary-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Inter-area Prefix LSA - Type 0xA023"; | "OSPFv3 Extended Inter-area Prefix LSA - Type 0xA023"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.3"; | ||||
| } | } | |||
| identity ospfv3-e-inter-area-router-lsa { | identity ospfv3-e-inter-area-router-lsa { | |||
| base ospfv3-e-summary-lsa-type; | base ospfv3-e-summary-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Inter-area Router LSA - Type 0xA024"; | "OSPFv3 Extended Inter-area Router LSA - Type 0xA024"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.3"; | ||||
| } | } | |||
| identity ospfv3-e-external-lsa-type { | identity ospfv3-e-external-lsa-type { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended External LSA types"; | "OSPFv3 Extended External LSA types"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.5 and Section 4.6"; | ||||
| } | } | |||
| identity ospfv3-e-as-external-lsa { | identity ospfv3-e-as-external-lsa { | |||
| base ospfv3-e-external-lsa-type; | base ospfv3-e-external-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended AS-External LSA - Type 0xC025"; | "OSPFv3 Extended AS-External LSA - Type 0xC025"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.5"; | ||||
| } | } | |||
| identity ospfv3-e-nssa-lsa { | identity ospfv3-e-nssa-lsa { | |||
| base ospfv3-e-external-lsa-type; | base ospfv3-e-external-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Not-So-Stubby-Area (NSSA) LSA - | "OSPFv3 Extended Not-So-Stubby-Area (NSSA) LSA - | |||
| Type 0xA027"; | Type 0xA027"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.6"; | ||||
| } | } | |||
| identity ospfv3-e-link-lsa { | identity ospfv3-e-link-lsa { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Link LSA - Type 0x8028"; | "OSPFv3 Extended Link LSA - Type 0x8028"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.7"; | ||||
| } | } | |||
| identity ospfv3-e-intra-area-prefix-lsa { | identity ospfv3-e-intra-area-prefix-lsa { | |||
| base ospf:ospfv3-lsa-type; | base ospf:ospfv3-lsa-type; | |||
| description | description | |||
| "OSPFv3 Extended Intra-area Prefix LSA - Type 0xA029"; | "OSPFv3 Extended Intra-area Prefix LSA - Type 0xA029"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.8"; | ||||
| } | } | |||
| identity ospfv3-e-prefix-option { | identity ospfv3-e-prefix-option { | |||
| description | description | |||
| "Base identity for OSPFv3 Prefix Options."; | "Base identity for OSPFv3 Prefix Options."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity nu-bit { | identity nu-bit { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| description | description | |||
| "When set, the prefix should be excluded | "When set, the prefix should be excluded | |||
| from IPv6 unicast calculations."; | from IPv6 unicast calculations."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity la-bit { | identity la-bit { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| description | description | |||
| "When set, the prefix is actually an IPv6 interface | "When set, the prefix is actually an IPv6 interface | |||
| address of the Advertising Router."; | address of the Advertising Router."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity p-bit { | identity p-bit { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| description | description | |||
| "When set, the NSSA area prefix should be | "When set, the NSSA area prefix should be | |||
| translated to an AS External LSA and advertised | translated to an AS External LSA and advertised | |||
| by the translating NSSA Border Router."; | by the translating NSSA Border Router."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity dn-bit { | identity dn-bit { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| description | description | |||
| "When set, the inter-area-prefix LSA or | "When set, the inter-area-prefix LSA or | |||
| AS-external LSA prefix has been advertised as an | AS-external LSA prefix has been advertised as an | |||
| L3VPN prefix."; | L3VPN prefix."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity n-bit { | identity n-bit { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| description | description | |||
| "When set, the prefix is a host address that identifies | "When set, the prefix is a host address that identifies | |||
| the advertising router."; | the advertising router."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| identity ospfv3-e-external-prefix-option { | identity ospfv3-e-external-prefix-option { | |||
| description | description | |||
| "Base identity for OSPFv3 External Prefix Options."; | "Base identity for OSPFv3 External Prefix Options."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.6"; | ||||
| } | } | |||
| identity e-bit { | identity e-bit { | |||
| base ospfv3-e-external-prefix-option; | base ospfv3-e-external-prefix-option; | |||
| description | description | |||
| "When set, the metric specified is a Type 2 | "When set, the metric specified is a Type 2 | |||
| external metric."; | external metric."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.6"; | ||||
| } | } | |||
| grouping unknown-sub-tlv { | grouping unknown-sub-tlv { | |||
| description | description | |||
| "Unknown TLV grouping"; | "Unknown TLV grouping"; | |||
| container unknown-sub-tlv { | container unknown-sub-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown External TLV Sub-TLV"; | description "Unknown External TLV Sub-TLV"; | |||
| } | } | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 6.3"; | ||||
| } | } | |||
| grouping ospfv3-lsa-prefix { | grouping ospfv3-lsa-prefix { | |||
| description | description | |||
| "OSPFv3 LSA prefix"; | "OSPFv3 LSA prefix"; | |||
| leaf prefix { | leaf prefix { | |||
| type inet:ip-prefix; | type inet:ip-prefix; | |||
| description | description | |||
| "LSA Prefix"; | "LSA Prefix"; | |||
| } | } | |||
| container prefix-options { | container prefix-options { | |||
| leaf-list prefix-options { | leaf-list prefix-options { | |||
| type identityref { | type identityref { | |||
| base ospfv3-e-prefix-option; | base ospfv3-e-prefix-option; | |||
| } | } | |||
| description | description | |||
| "OSPFv3 prefix option flag list. This list will | "OSPFv3 prefix option flag list. This list will | |||
| contain the identities for the OSPFv3 options | contain the identities for the OSPFv3 options | |||
| that are set for the OSPFv3 prefix."; | that are set for the OSPFv3 prefix."; | |||
| } | } | |||
| description "Prefix options."; | description "Prefix options."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.1"; | ||||
| } | } | |||
| leaf prefix-length { | leaf prefix-length { | |||
| type uint8 { | type uint8 { | |||
| range "0..128"; | range "0..128"; | |||
| } | } | |||
| description "Prefix length."; | description "Prefix length."; | |||
| } | } | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3"; | ||||
| } | } | |||
| grouping ipv6-fwd-addr-sub-tlv { | grouping ipv6-fwd-addr-sub-tlv { | |||
| container ipv6-fwd-addr-sub-tlv { | container ipv6-fwd-addr-sub-tlv { | |||
| description | description | |||
| "IPv6 Forwarding Address Sub-TLV"; | "IPv6 Forwarding Address Sub-TLV"; | |||
| leaf ipv6-fwd-addr-sub-tlv-length { | leaf ipv6-fwd-addr-sub-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "IPv6 Forwarding Addrss Sub-TLV Length - 16 | "IPv6 Forwarding Addrss Sub-TLV Length - 16 | |||
| skipping to change at page 13, line 8 ¶ | skipping to change at page 14, line 4 ¶ | |||
| leaf ipv6-fwd-addr-sub-tlv-length { | leaf ipv6-fwd-addr-sub-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "IPv6 Forwarding Addrss Sub-TLV Length - 16 | "IPv6 Forwarding Addrss Sub-TLV Length - 16 | |||
| for IPv6 address"; | for IPv6 address"; | |||
| } | } | |||
| leaf forwarding-address { | leaf forwarding-address { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "Forwarding address"; | "Forwarding address"; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "IPv6 Forwarding Address Sub-TLV grouping"; | "IPv6 Forwarding Address Sub-TLV grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.10"; | ||||
| } | } | |||
| grouping ipv4-fwd-addr-sub-tlv { | grouping ipv4-fwd-addr-sub-tlv { | |||
| container ipv4-fwd-addr-sub-tlv { | container ipv4-fwd-addr-sub-tlv { | |||
| description | description | |||
| "IPv4 Forwarding Address Sub-TLV"; | "IPv4 Forwarding Address Sub-TLV"; | |||
| leaf ipv4-fwd-addr-sub-tlv-length { | leaf ipv4-fwd-addr-sub-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "IPv4 Forwarding Addrss Sub-TLV Length - 4 | "IPv4 Forwarding Addrss Sub-TLV Length - 4 | |||
| for IPv4 address"; | for IPv4 address"; | |||
| } | } | |||
| leaf forwarding-address { | leaf forwarding-address { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "Forwarding address"; | "Forwarding address"; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "IPv4 Forwarding Address Sub-TLV grouping"; | "IPv4 Forwarding Address Sub-TLV grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.11"; | ||||
| } | } | |||
| grouping route-tag-sub-tlv { | grouping route-tag-sub-tlv { | |||
| container route-tag-sub-tlv { | container route-tag-sub-tlv { | |||
| description | description | |||
| "Route Tag Sub-TLV"; | "Route Tag Sub-TLV"; | |||
| leaf route-tag-sub-tlv-length { | leaf route-tag-sub-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "Route Tag Sub-TLV Length - 4 for 32-bit tag"; | "Route Tag Sub-TLV Length - 4 for 32-bit tag"; | |||
| } | } | |||
| leaf route-tag { | leaf route-tag { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Route Tag"; | "Route Tag"; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Route Tag Sub-TLV grouping"; | "Route Tag Sub-TLV grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.12"; | ||||
| } | } | |||
| grouping external-prefix-tlv { | grouping external-prefix-tlv { | |||
| container external-prefix-tlv { | container external-prefix-tlv { | |||
| description "External Prefix LSA TLV"; | description "External Prefix LSA TLV"; | |||
| leaf external-prefix-tlv-length { | leaf external-prefix-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "External Prefix TLV Length - Variable dependent | "External Prefix TLV Length - Variable dependent | |||
| on sub-TLVs"; | on sub-TLVs"; | |||
| } | } | |||
| container flags { | container flags { | |||
| leaf-list ospfv3-e-external-prefix-bits { | leaf-list ospfv3-e-external-prefix-bits { | |||
| type identityref { | type identityref { | |||
| base ospfv3-e-external-prefix-option; | base ospfv3-e-external-prefix-option; | |||
| } | } | |||
| description "OSPFv3 external-prefix TLV bits list."; | description "OSPFv3 external-prefix TLV bits list."; | |||
| } | } | |||
| description "External Prefix Flags"; | description "External Prefix Flags"; | |||
| } | } | |||
| skipping to change at page 14, line 36 ¶ | skipping to change at page 15, line 39 ¶ | |||
| uses ospfv3-lsa-prefix; | uses ospfv3-lsa-prefix; | |||
| list sub-tlvs { | list sub-tlvs { | |||
| description "External Prefix TLV Sub-TLVs"; | description "External Prefix TLV Sub-TLVs"; | |||
| uses unknown-sub-tlv; | uses unknown-sub-tlv; | |||
| uses ipv6-fwd-addr-sub-tlv; | uses ipv6-fwd-addr-sub-tlv; | |||
| uses ipv4-fwd-addr-sub-tlv; | uses ipv4-fwd-addr-sub-tlv; | |||
| uses route-tag-sub-tlv; | uses route-tag-sub-tlv; | |||
| } | } | |||
| } | } | |||
| description "External Prefix TLV Grouping"; | description "External Prefix TLV Grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.6"; | ||||
| } | } | |||
| grouping intra-area-prefix-tlv { | grouping intra-area-prefix-tlv { | |||
| container intra-prefix-tlv { | container intra-prefix-tlv { | |||
| description "Intra-Area Prefix LSA TLV"; | description "Intra-Area Prefix LSA TLV"; | |||
| leaf intra-prefix-tlv-length { | leaf intra-prefix-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "Intra-Area Prefix TLV Length - Variable dependent | "Intra-Area Prefix TLV Length - Variable dependent | |||
| on sub-TLVs"; | on sub-TLVs"; | |||
| skipping to change at page 15, line 10 ¶ | skipping to change at page 16, line 15 ¶ | |||
| type rt-types:uint24; | type rt-types:uint24; | |||
| description "Intra-Area Prefix Metric"; | description "Intra-Area Prefix Metric"; | |||
| } | } | |||
| uses ospfv3-lsa-prefix; | uses ospfv3-lsa-prefix; | |||
| list sub-tlvs { | list sub-tlvs { | |||
| description "Intra-Area Prefix TLV Sub-TLVs"; | description "Intra-Area Prefix TLV Sub-TLVs"; | |||
| uses unknown-sub-tlv; | uses unknown-sub-tlv; | |||
| } | } | |||
| } | } | |||
| description "Intra-Area Prefix TLV Grouping"; | description "Intra-Area Prefix TLV Grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.4"; | ||||
| } | } | |||
| grouping ipv6-link-local-tlv { | grouping ipv6-link-local-tlv { | |||
| container ipv6-link-local-tlv { | container ipv6-link-local-tlv { | |||
| description "IPv6 Link-Local LSA TLV"; | description "IPv6 Link-Local LSA TLV"; | |||
| leaf ipv6-link-local-tlv-length { | leaf ipv6-link-local-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "IPv6 Link-Local TLV Length - Variable dependent | "IPv6 Link-Local TLV Length - Variable dependent | |||
| on sub-TLVs"; | on sub-TLVs"; | |||
| skipping to change at page 15, line 32 ¶ | skipping to change at page 16, line 39 ¶ | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "IPv6 Link Local address"; | "IPv6 Link Local address"; | |||
| } | } | |||
| list sub-tlvs { | list sub-tlvs { | |||
| description "IPv6 Link Local TLV Sub-TLVs"; | description "IPv6 Link Local TLV Sub-TLVs"; | |||
| uses unknown-sub-tlv; | uses unknown-sub-tlv; | |||
| } | } | |||
| } | } | |||
| description "IPv6 Link-Local TLV Grouping"; | description "IPv6 Link-Local TLV Grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.8"; | ||||
| } | } | |||
| grouping ipv4-link-local-tlv { | grouping ipv4-link-local-tlv { | |||
| container ipv4-link-local-tlv { | container ipv4-link-local-tlv { | |||
| description "IPv4 Link-Local LSA TLV"; | description "IPv4 Link-Local LSA TLV"; | |||
| leaf ipv4-link-local-tlv-length { | leaf ipv4-link-local-tlv-length { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "IPv4 Link-Local TLV Length - Variable dependent | "IPv4 Link-Local TLV Length - Variable dependent | |||
| on sub-TLVs"; | on sub-TLVs"; | |||
| skipping to change at page 16, line 4 ¶ | skipping to change at page 17, line 13 ¶ | |||
| } | } | |||
| leaf link-local-address { | leaf link-local-address { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "IPv4 Link Local address"; | "IPv4 Link Local address"; | |||
| } | } | |||
| list sub-tlvs { | list sub-tlvs { | |||
| description "IPv4 Link Local TLV Sub-TLVs"; | description "IPv4 Link Local TLV Sub-TLVs"; | |||
| uses unknown-sub-tlv; | uses unknown-sub-tlv; | |||
| } | } | |||
| } | } | |||
| description "IPv4 Link-Local TLV Grouping"; | description "IPv4 Link-Local TLV Grouping"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 3.9"; | ||||
| } | } | |||
| grouping ospfv3-e-lsa-area { | grouping ospfv3-e-lsa-area { | |||
| description "Area scope OSPFv3 Extended LSAs."; | description "Area scope OSPFv3 Extended LSAs."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4"; | ||||
| container e-router { | container e-router { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-router-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-router-lsa'" { | |||
| description "Only valid for OSPFv3 Extended-Router LSAs"; | description "Only valid for OSPFv3 Extended-Router LSAs"; | |||
| } | } | |||
| description "OSPv3 Extended Router LSA"; | 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:ospf-router-lsa-bits; | |||
| uses ospf:ospfv3-lsa-options; | uses ospf:ospfv3-lsa-options; | |||
| list e-router-tlvs { | list e-router-tlvs { | |||
| description "E-Router LSA TLVs"; | description "E-Router LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Router TLV"; | description "Unknown E-Router TLV"; | |||
| } | } | |||
| container link-tlv { | container link-tlv { | |||
| skipping to change at page 16, line 47 ¶ | skipping to change at page 18, line 13 ¶ | |||
| } | } | |||
| leaf neighbor-interface-id { | leaf neighbor-interface-id { | |||
| type uint32; | type uint32; | |||
| description "Neighbor's Interface ID for link"; | description "Neighbor's Interface ID for link"; | |||
| } | } | |||
| leaf neighbor-router-id { | leaf neighbor-router-id { | |||
| type rt-types:router-id; | type rt-types:router-id; | |||
| description "Neighbor's Router ID for link"; | description "Neighbor's Router ID for link"; | |||
| } | } | |||
| leaf type { | leaf type { | |||
| type uint8; | type ospf:router-link-type; | |||
| description "Link type: 1 - Point-to-Point Link | description "Link type: 1 - Point-to-Point Link | |||
| 2 - Transit Network Link | 2 - Transit Network Link | |||
| 3 - Stub Network Link Link | 3 - Stub Network Link Link | |||
| 4 - Virtual Link"; | 4 - Virtual Link"; | |||
| } | } | |||
| leaf metric { | leaf metric { | |||
| type uint16; | type uint16; | |||
| description "Link Metric"; | description "Link Metric"; | |||
| } | } | |||
| list sub-tlvs { | list sub-tlvs { | |||
| skipping to change at page 17, line 23 ¶ | skipping to change at page 18, line 38 ¶ | |||
| } | } | |||
| } | } | |||
| container e-network { | container e-network { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-network-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-network-lsa'" { | |||
| description | description | |||
| "Only applies to E-Network LSAs."; | "Only applies to E-Network LSAs."; | |||
| } | } | |||
| description "Extended Network LSA"; | description "Extended Network LSA"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.2"; | ||||
| uses ospf:ospfv3-lsa-options; | uses ospf:ospfv3-lsa-options; | |||
| list e-network-tlvs { | list e-network-tlvs { | |||
| description "E-Network LSA TLVs"; | description "E-Network LSA TLVs"; | |||
| container unknown--tlv { | container unknown--tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Network TLV"; | description "Unknown E-Network TLV"; | |||
| } | } | |||
| container attached-router-tlv { | container attached-router-tlv { | |||
| description "Attached Router TLV"; | description "Attached Router TLV"; | |||
| leaf attached-router-tlv-length { | leaf attached-router-tlv-length { | |||
| skipping to change at page 18, line 9 ¶ | skipping to change at page 19, line 26 ¶ | |||
| } | } | |||
| } | } | |||
| container e-inter-area-prefix { | container e-inter-area-prefix { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-inter-area-prefix-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-inter-area-prefix-lsa'" { | |||
| description | description | |||
| "Only applies to E-Inter-Area-Prefix LSAs."; | "Only applies to E-Inter-Area-Prefix LSAs."; | |||
| } | } | |||
| description "Extended Inter-Area Prefix LSA"; | description "Extended Inter-Area Prefix LSA"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.3"; | ||||
| list e-inter-prefix-tlvs { | list e-inter-prefix-tlvs { | |||
| description "E-Inter-Area-Prefix LSA TLVs"; | description "E-Inter-Area-Prefix LSA TLVs"; | |||
| container unknown--tlv { | container unknown--tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Inter-Area-Prefix TLV"; | description "Unknown E-Inter-Area-Prefix TLV"; | |||
| } | } | |||
| container inter-prefix-tlv { | container inter-prefix-tlv { | |||
| description "Unknown E-Inter-Area-Prefix LSA TLV"; | description "Unknown E-Inter-Area-Prefix LSA TLV"; | |||
| leaf inter-prefix-tlv-length { | leaf inter-prefix-tlv-length { | |||
| type uint16; | type uint16; | |||
| skipping to change at page 18, line 33 ¶ | skipping to change at page 20, line 4 ¶ | |||
| leaf metric { | leaf metric { | |||
| type rt-types:uint24; | type rt-types:uint24; | |||
| description "Inter-Area Prefix Metric"; | description "Inter-Area Prefix Metric"; | |||
| } | } | |||
| uses ospfv3-lsa-prefix; | uses ospfv3-lsa-prefix; | |||
| list sub-tlvs { | list sub-tlvs { | |||
| description "Inter-Area Prefix TLV Sub-TLVs"; | description "Inter-Area Prefix TLV Sub-TLVs"; | |||
| uses unknown-sub-tlv; | uses unknown-sub-tlv; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container e-inter-area-router { | container e-inter-area-router { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-inter-area-router-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-inter-area-router-lsa'" { | |||
| description | description | |||
| "Only applies to E-Inter-Area-Router LSAs."; | "Only applies to E-Inter-Area-Router LSAs."; | |||
| } | } | |||
| description "Extended Inter-Area Router LSA"; | description "Extended Inter-Area Router LSA"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.4"; | ||||
| list e-inter-router-tlvs { | list e-inter-router-tlvs { | |||
| description "E-Inter-Area-Router LSA TLVs"; | description "E-Inter-Area-Router LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Inter-Area-Router TLV"; | description "Unknown E-Inter-Area-Router TLV"; | |||
| } | } | |||
| container inter-router-tlv { | container inter-router-tlv { | |||
| description "Unknown E-Inter-Area-Router LSA TLV"; | description "Unknown E-Inter-Area-Router LSA TLV"; | |||
| leaf inter-router-tlv-length { | leaf inter-router-tlv-length { | |||
| type uint16; | type uint16; | |||
| skipping to change at page 19, line 34 ¶ | skipping to change at page 21, line 7 ¶ | |||
| } | } | |||
| } | } | |||
| container e-intra-area-prefix { | container e-intra-area-prefix { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-intra-area-prefix-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-intra-area-prefix-lsa'" { | |||
| description | description | |||
| "Only applies to E-Intra-Area-Prefix LSAs."; | "Only applies to E-Intra-Area-Prefix LSAs."; | |||
| } | } | |||
| description "E-Intra-Area-Prefix LSA"; | description "E-Intra-Area-Prefix LSA"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.8"; | ||||
| leaf referenced-ls-type { | leaf referenced-ls-type { | |||
| type uint16; | type uint16; | |||
| description "Referenced Link State type"; | description "Referenced Link State type"; | |||
| } | } | |||
| leaf referenced-link-state-id { | leaf referenced-link-state-id { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "Referenced Link State ID"; | "Referenced Link State ID"; | |||
| } | } | |||
| leaf referenced-adv-router { | leaf referenced-adv-router { | |||
| skipping to change at page 20, line 28 ¶ | skipping to change at page 21, line 51 ¶ | |||
| } | } | |||
| list e-external-tlvs { | list e-external-tlvs { | |||
| description "E-External LSA TLVs"; | description "E-External LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-External TLV"; | description "Unknown E-External TLV"; | |||
| } | } | |||
| uses external-prefix-tlv; | uses external-prefix-tlv; | |||
| } | } | |||
| description "E-AS-External LSA."; | description "E-AS-External LSA."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.5"; | ||||
| } | } | |||
| container e-nssa { | container e-nssa { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-nssa-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-nssa-lsa'" { | |||
| description | description | |||
| "Only applies to E-NSSA LSAs."; | "Only applies to E-NSSA LSAs."; | |||
| } | } | |||
| list e-external-tlvs { | list e-external-tlvs { | |||
| description "E-NSSA LSA TLVs"; | description "E-NSSA LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-External TLV"; | description "Unknown E-External TLV"; | |||
| } | } | |||
| uses external-prefix-tlv; | uses external-prefix-tlv; | |||
| } | } | |||
| description "E-NSSA LSA."; | description "E-NSSA LSA."; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.6"; | ||||
| } | } | |||
| } | } | |||
| grouping ospfv3-e-lsa-link { | grouping ospfv3-e-lsa-link { | |||
| description "Link scope OSPFv3 Extended LSAs."; | description "Link scope OSPFv3 Extended LSAs."; | |||
| container e-link { | container e-link { | |||
| when "../../ospf:header/ospf:type = " | when "../../ospf:header/ospf:type = " | |||
| + "'ospfv3-e-lsa:ospfv3-e-link-lsa'" { | + "'ospfv3-e-lsa:ospfv3-e-link-lsa'" { | |||
| description | description | |||
| "Only applies to Extended Link LSAs."; | "Only applies to Extended Link LSAs."; | |||
| } | } | |||
| description "E-Link LSA"; | description "E-Link LSA"; | |||
| reference "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Section 4.7"; | ||||
| leaf rtr-priority { | leaf rtr-priority { | |||
| type uint8; | type uint8; | |||
| description "Router Priority for the interface."; | description "Router Priority for the interface."; | |||
| } | } | |||
| uses ospf:ospfv3-lsa-options; | uses ospf:ospfv3-lsa-options; | |||
| list e-link-tlvs { | list e-link-tlvs { | |||
| description "E-Link LSA TLVs"; | description "E-Link LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Link TLV"; | description "Unknown E-Link TLV"; | |||
| skipping to change at page 21, line 23 ¶ | skipping to change at page 23, line 4 ¶ | |||
| uses ospf:ospfv3-lsa-options; | uses ospf:ospfv3-lsa-options; | |||
| list e-link-tlvs { | list e-link-tlvs { | |||
| description "E-Link LSA TLVs"; | description "E-Link LSA TLVs"; | |||
| container unknown-tlv { | container unknown-tlv { | |||
| uses ospf:tlv; | uses ospf:tlv; | |||
| description "Unknown E-Link TLV"; | description "Unknown E-Link TLV"; | |||
| } | } | |||
| uses intra-area-prefix-tlv; | uses intra-area-prefix-tlv; | |||
| uses ipv6-link-local-tlv; | uses ipv6-link-local-tlv; | |||
| uses ipv4-link-local-tlv; | uses ipv4-link-local-tlv; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| /* Configuration */ | /* Configuration */ | |||
| augment "/rt:routing/rt:control-plane-protocols" | augment "/rt:routing/rt:control-plane-protocols" | |||
| + "/rt:control-plane-protocol/ospf:ospf" { | + "/rt:control-plane-protocol/ospf:ospf" { | |||
| when "../rt:type = 'ospf:ospfv3'" { | when "../rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augments the OSPFv3 routing protocol when used."; | "This augments the OSPFv3 routing protocol when used."; | |||
| } | } | |||
| description | description | |||
| "This augments the OSPFv3 protocol configuration | "This augments the OSPFv3 protocol configuration | |||
| with extended lsa."; | with extended LSA support."; | |||
| leaf extended-lsa-support { | leaf extended-lsa-support { | |||
| type boolean; | type boolean; | |||
| default false; | default false; | |||
| description | description | |||
| "Enable OSPFv3 Extended LSA Support for the OSPFv3 | "Enable OSPFv3 Extended LSA Support for the OSPFv3 | |||
| domain"; | domain"; | |||
| reference | ||||
| "RFC 8362 - OSPFv3 Link State Advertisement (LSA) | ||||
| Extensibility, Appendix B - ExtendedLSASupport"; | ||||
| } | } | |||
| } | } | |||
| augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
| + "rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area" { | + "rt:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area" { | |||
| when "../../../rt:type = 'ospf:ospfv3'" { | when "../../../rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augments the OSPFv3 area configuration | "This augments the OSPFv3 area configuration | |||
| when used."; | when used."; | |||
| } | } | |||
| description | description | |||
| "This augments the OSPFv3 protocol area | "This augments the OSPFv3 protocol area | |||
| configuration with Extend LSA support"; | configuration with extended LSA support."; | |||
| leaf extended-lsa-support { | leaf extended-lsa-support { | |||
| type boolean; | type boolean; | |||
| default false; | must "derived-from(../ospf:area-type,'stub-nssa-area') or " | |||
| + "not(../extended-lsa-support) or " | ||||
| + "../extended-lsa-support = '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."; | ||||
| } | ||||
| description | description | |||
| "Enable OSPFv3 Extended LSA Support for the OSPFv3 area"; | "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 | * Link State Database (LSDB) Augmentations | |||
| */ | */ | |||
| augment "/rt:routing/" | augment "/rt:routing/" | |||
| + "rt:control-plane-protocols/rt:control-plane-protocol/" | + "rt:control-plane-protocols/rt:control-plane-protocol/" | |||
| + "ospf:ospf/ospf:areas/ospf:area/" | + "ospf:ospf/ospf:areas/ospf:area/" | |||
| + "ospf:interfaces/ospf:interface/ospf:database/" | + "ospf:interfaces/ospf:interface/ospf:database/" | |||
| skipping to change at page 23, line 4 ¶ | skipping to change at page 24, line 52 ¶ | |||
| + "ospf:ospfv3/ospf:body" { | + "ospf:ospfv3/ospf:body" { | |||
| when "../../../../../../../../../" | when "../../../../../../../../../" | |||
| + "rt:type = 'ospf:ospfv3'" { | + "rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| description | description | |||
| "OSPFv3 Area-Scoped Extended LSAs"; | "OSPFv3 Area-Scoped Extended LSAs"; | |||
| uses ospfv3-e-lsa-area; | uses ospfv3-e-lsa-area; | |||
| } | } | |||
| augment "/rt:routing/" | augment "/rt:routing/" | |||
| + "rt:control-plane-protocols/rt:control-plane-protocol/" | + "rt:control-plane-protocols/rt:control-plane-protocol/" | |||
| + "ospf:ospf/ospf:database/" | + "ospf:ospf/ospf:database/" | |||
| + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" | + "ospf:as-scope-lsa-type/ospf:as-scope-lsas/" | |||
| + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" | + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" | |||
| + "ospf:ospfv3/ospf:body" { | + "ospf:ospfv3/ospf:body" { | |||
| when "../../../../../../../" | when "../../../../../../../" | |||
| + "rt:type = 'ospf:ospfv3'" { | + "rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| description | description | |||
| "OSPFv3 AS-Scoped Extended LSAs"; | "OSPFv3 AS-Scoped Extended LSAs"; | |||
| uses ospfv3-e-lsa-as; | uses ospfv3-e-lsa-as; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | CODE ENDS> | |||
| 5. Security Considerations | 5. 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 | |||
| [RFC8446]. | [RFC8446]. | |||
| skipping to change at page 24, line 36 ¶ | skipping to change at page 26, line 34 ¶ | |||
| prefix: ospfv3-e-lsa | prefix: ospfv3-e-lsa | |||
| reference: RFC XXXX | reference: RFC XXXX | |||
| 7. Acknowledgements | 7. Acknowledgements | |||
| This document was produced using Marshall Rose's xml2rfc tool. | This document was produced using Marshall Rose's xml2rfc tool. | |||
| The YANG model was developed using the suite of YANG tools written | The YANG model was developed using the suite of YANG tools written | |||
| and maintained by numerous authors. | and maintained by numerous authors. | |||
| Thanks much to Tom Petch for his review and comments. | ||||
| 8. References | 8. References | |||
| 8.1. Normative References | 8.1. Normative References | |||
| [I-D.ietf-ospf-yang] | [I-D.ietf-ospf-yang] | |||
| Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | Yeung, D., Qu, Y., Zhang, Z., Chen, I., and A. Lindem, | |||
| "YANG Data Model for OSPF Protocol", draft-ietf-ospf- | "YANG Data Model for OSPF Protocol", draft-ietf-ospf- | |||
| yang-29 (work in progress), October 2019. | yang-29 (work in progress), October 2019. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| End of changes. 65 change blocks. | ||||
| 241 lines changed or deleted | 338 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||