| < draft-acee-lsr-ospfv3-sr-yang-02.txt | draft-acee-lsr-ospfv3-sr-yang-03.txt > | |||
|---|---|---|---|---|
| Internet A. Lindem | Internet A. Lindem | |||
| Internet-Draft Cisco Systems | Internet-Draft Cisco Systems | |||
| Intended status: Informational Y. Qu | Intended status: Informational Y. Qu | |||
| Expires: February 3, 2021 Futurewei | Expires: April 30, 2021 Futurewei | |||
| August 2, 2020 | October 27, 2020 | |||
| YANG Data Model for OSPFv3 Segment Routing | YANG Data Model for OSPFv3 Segment Routing | |||
| draft-acee-lsr-ospfv3-sr-yang-02 | draft-acee-lsr-ospfv3-sr-yang-03 | |||
| Abstract | Abstract | |||
| This document defines a YANG data module augmenting the IETF OSPF | This document defines a YANG data module augmenting the IETF OSPF | |||
| Segment Routing (SR) YANG model to support OSPFv3 extensions for SR. | Segment Routing (SR) YANG model to support OSPFv3 extensions for SR. | |||
| It can be used to configure and manage OSPFv3 Segment Routing in MPLS | It can be used to configure and manage OSPFv3 Segment Routing in MPLS | |||
| dataplane. | data plane. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at 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 3, 2021. | This Internet-Draft will expire on April 30, 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 11 ¶ | skipping to change at page 2, line 11 ¶ | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 3. OSPFv3 Extensions for Segment Routing . . . . . . . . . . . . 2 | 3. OSPFv3 Extensions for Segment Routing . . . . . . . . . . . . 2 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 25 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 25 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 18 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 26 | 7.2. Informative References . . . . . . . . . . . . . . . . . 19 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 26 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 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 14 ¶ | skipping to change at page 3, line 14 ¶ | |||
| module: ietf-ospfv3-sr | module: ietf-ospfv3-sr | |||
| 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 | /ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa | |||
| /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | |||
| /ospf:router-information: | /ospf:router-information: | |||
| +--ro sr-algorithm-tlv | +--ro sr-algorithm-tlv | |||
| | +--ro sr-algorithm* uint8 | | +--ro sr-algorithm* uint8 | |||
| +--ro sid-range-tlvs | +--ro sid-range-tlvs | |||
| | +--ro sid-range-tlv* | | +--ro sid-range-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro local-block-tlvs | +--ro local-block-tlvs | |||
| | +--ro local-block-tlv* | | +--ro local-block-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro srms-preference-tlv | +--ro srms-preference-tlv | |||
| +--ro preference? uint8 | +--ro preference? uint8 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospf:router-information: | /ospf:body/ospf:router-information: | |||
| +--ro sr-algorithm-tlv | +--ro sr-algorithm-tlv | |||
| | +--ro sr-algorithm* uint8 | | +--ro sr-algorithm* uint8 | |||
| +--ro sid-range-tlvs | +--ro sid-range-tlvs | |||
| | +--ro sid-range-tlv* | | +--ro sid-range-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro local-block-tlvs | +--ro local-block-tlvs | |||
| | +--ro local-block-tlv* | | +--ro local-block-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro srms-preference-tlv | +--ro srms-preference-tlv | |||
| +--ro preference? uint8 | +--ro preference? uint8 | |||
| 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:ospfv3 | /ospf:link-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospf:router-information: | /ospf:body/ospf:router-information: | |||
| +--ro sr-algorithm-tlv | +--ro sr-algorithm-tlv | |||
| | +--ro sr-algorithm* uint8 | | +--ro sr-algorithm* uint8 | |||
| +--ro sid-range-tlvs | +--ro sid-range-tlvs | |||
| | +--ro sid-range-tlv* | | +--ro sid-range-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro local-block-tlvs | +--ro local-block-tlvs | |||
| | +--ro local-block-tlv* | | +--ro local-block-tlv* [] | |||
| | +--ro range-size? uint24 | | +--ro range-size? uint24 | |||
| | +--ro sid-sub-tlv | | +--ro sid-sub-tlv | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro srms-preference-tlv | +--ro srms-preference-tlv | |||
| +--ro preference? uint8 | +--ro preference? uint8 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospfv3-e-lsa:e-intra-area-prefix: | /ospf:body/ospfv3-e-lsa:e-intra-area-prefix: | |||
| +--ro ospfv3-extended-prefix-range-tlvs | +--ro ospfv3-extended-prefix-range-tlvs | |||
| +--ro extended-prefix-range-tlv* | +--ro extended-prefix-range-tlv* [] | |||
| +--ro prefix-length? uint8 | ||||
| +--ro af? uint8 | ||||
| +--ro range-size? uint16 | ||||
| +--ro prefix? inet:ip-prefix | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| | +--ro prefix-sid-sub-tlv* | ||||
| | +--ro ospfv3-prefix-sid-flags | ||||
| | | +--ro bits* identityref | ||||
| | +--ro algorithm? uint8 | ||||
| | +--ro sid? uint32 | ||||
| +--ro unknown-tlvs | ||||
| +--ro unknown-tlv* | ||||
| +--ro type? uint16 | ||||
| +--ro length? uint16 | ||||
| +--ro value? yang:hex-string | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-intra-area-prefix: | ||||
| +--ro ospfv3-extended-prefix-range-tlvs | ||||
| +--ro extended-prefix-range-tlv* | ||||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro af? uint8 | +--ro af? uint8 | |||
| +--ro range-size? uint16 | +--ro range-size? uint16 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| | +--ro prefix-sid-sub-tlv* | | +--ro prefix-sid-sub-tlv* [] | |||
| | +--ro ospfv3-prefix-sid-flags | | +--ro ospfv3-prefix-sid-flags | |||
| | | +--ro bits* identityref | | | +--ro bits* identityref | |||
| | +--ro algorithm? uint8 | | +--ro algorithm? uint8 | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro unknown-tlvs | +--ro unknown-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 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospfv3-e-lsa:e-inter-area-prefix: | /ospf:body/ospfv3-e-lsa:e-inter-area-prefix: | |||
| +--ro ospfv3-extended-prefix-range-tlvs | +--ro ospfv3-extended-prefix-range-tlvs | |||
| +--ro extended-prefix-range-tlv* | +--ro extended-prefix-range-tlv* [] | |||
| +--ro prefix-length? uint8 | ||||
| +--ro af? uint8 | ||||
| +--ro range-size? uint16 | ||||
| +--ro prefix? inet:ip-prefix | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| | +--ro prefix-sid-sub-tlv* | ||||
| | +--ro ospfv3-prefix-sid-flags | ||||
| | | +--ro bits* identityref | ||||
| | +--ro algorithm? uint8 | ||||
| | +--ro sid? uint32 | ||||
| +--ro unknown-tlvs | ||||
| +--ro unknown-tlv* | ||||
| +--ro type? uint16 | ||||
| +--ro length? uint16 | ||||
| +--ro value? yang:hex-string | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-inter-area-prefix: | ||||
| +--ro ospfv3-extended-prefix-range-tlvs | ||||
| +--ro extended-prefix-range-tlv* | ||||
| +--ro prefix-length? uint8 | ||||
| +--ro af? uint8 | ||||
| +--ro range-size? uint16 | ||||
| +--ro prefix? inet:ip-prefix | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| | +--ro prefix-sid-sub-tlv* | ||||
| | +--ro ospfv3-prefix-sid-flags | ||||
| | | +--ro bits* identityref | ||||
| | +--ro algorithm? uint8 | ||||
| | +--ro sid? uint32 | ||||
| +--ro unknown-tlvs | ||||
| +--ro unknown-tlv* | ||||
| +--ro type? uint16 | ||||
| +--ro length? uint16 | ||||
| +--ro value? yang:hex-string | ||||
| 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/ospfv3-e-lsa:e-as-external: | ||||
| +--ro ospfv3-extended-prefix-range-tlvs | ||||
| +--ro extended-prefix-range-tlv* | ||||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro af? uint8 | +--ro af? uint8 | |||
| +--ro range-size? uint16 | +--ro range-size? uint16 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| | +--ro prefix-sid-sub-tlv* | | +--ro prefix-sid-sub-tlv* [] | |||
| | +--ro ospfv3-prefix-sid-flags | | +--ro ospfv3-prefix-sid-flags | |||
| | | +--ro bits* identityref | | | +--ro bits* identityref | |||
| | +--ro algorithm? uint8 | | +--ro algorithm? uint8 | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro unknown-tlvs | +--ro unknown-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 | |||
| 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 | /ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa | |||
| /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | |||
| /ospfv3-e-lsa:e-as-external: | /ospfv3-e-lsa:e-as-external: | |||
| +--ro ospfv3-extended-prefix-range-tlvs | +--ro ospfv3-extended-prefix-range-tlvs | |||
| +--ro extended-prefix-range-tlv* | +--ro extended-prefix-range-tlv* [] | |||
| +--ro prefix-length? uint8 | ||||
| +--ro af? uint8 | ||||
| +--ro range-size? uint16 | ||||
| +--ro prefix? inet:ip-prefix | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| | +--ro prefix-sid-sub-tlv* | ||||
| | +--ro ospfv3-prefix-sid-flags | ||||
| | | +--ro bits* identityref | ||||
| | +--ro algorithm? uint8 | ||||
| | +--ro sid? uint32 | ||||
| +--ro unknown-tlvs | ||||
| +--ro unknown-tlv* | ||||
| +--ro type? uint16 | ||||
| +--ro length? uint16 | ||||
| +--ro value? yang:hex-string | ||||
| 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/ospfv3-e-lsa:e-nssa: | ||||
| +--ro ospfv3-extended-prefix-range-tlvs | ||||
| +--ro extended-prefix-range-tlv* | ||||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro af? uint8 | +--ro af? uint8 | |||
| +--ro range-size? uint16 | +--ro range-size? uint16 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| | +--ro prefix-sid-sub-tlv* | | +--ro prefix-sid-sub-tlv* [] | |||
| | +--ro ospfv3-prefix-sid-flags | | +--ro ospfv3-prefix-sid-flags | |||
| | | +--ro bits* identityref | | | +--ro bits* identityref | |||
| | +--ro algorithm? uint8 | | +--ro algorithm? uint8 | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro unknown-tlvs | +--ro unknown-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 | |||
| 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 | /ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa | |||
| /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | |||
| /ospfv3-e-lsa:e-nssa: | /ospfv3-e-lsa:e-nssa: | |||
| +--ro ospfv3-extended-prefix-range-tlvs | +--ro ospfv3-extended-prefix-range-tlvs | |||
| +--ro extended-prefix-range-tlv* | +--ro extended-prefix-range-tlv* [] | |||
| +--ro prefix-length? uint8 | +--ro prefix-length? uint8 | |||
| +--ro af? uint8 | +--ro af? uint8 | |||
| +--ro range-size? uint16 | +--ro range-size? uint16 | |||
| +--ro prefix? inet:ip-prefix | +--ro prefix? inet:ip-prefix | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| | +--ro prefix-sid-sub-tlv* | | +--ro prefix-sid-sub-tlv* [] | |||
| | +--ro ospfv3-prefix-sid-flags | | +--ro ospfv3-prefix-sid-flags | |||
| | | +--ro bits* identityref | | | +--ro bits* identityref | |||
| | +--ro algorithm? uint8 | | +--ro algorithm? uint8 | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro unknown-tlvs | +--ro unknown-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 | |||
| 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:interfaces/ospf:interface/ospf:database | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:link-scope-lsa-type/ospf:link-scope-lsas | |||
| /ospf:link-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | ||||
| /ospf:body/ospfv3-e-lsa:e-link/ospfv3-e-lsa:e-link-tlvs | /ospf:body/ospfv3-e-lsa:e-link/ospfv3-e-lsa:e-link-tlvs | |||
| /ospfv3-e-lsa:intra-prefix-tlv: | /ospfv3-e-lsa:intra-prefix-tlv: | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| +--ro prefix-sid-sub-tlv* | +--ro prefix-sid-sub-tlv* [] | |||
| +--ro ospfv3-prefix-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro algorithm? uint8 | ||||
| +--ro sid? uint32 | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-link/ospfv3-e-lsa:e-link-tlvs | ||||
| /ospfv3-e-lsa:intra-prefix-tlv: | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| +--ro prefix-sid-sub-tlv* | ||||
| +--ro ospfv3-prefix-sid-flags | +--ro ospfv3-prefix-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospfv3-e-lsa:e-intra-area-prefix | /ospf:body/ospfv3-e-lsa:e-intra-area-prefix | |||
| /ospfv3-e-lsa:e-intra-prefix-tlvs | /ospfv3-e-lsa:e-intra-prefix-tlvs | |||
| /ospfv3-e-lsa:intra-prefix-tlv: | /ospfv3-e-lsa:intra-prefix-tlv: | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| +--ro prefix-sid-sub-tlv* | +--ro prefix-sid-sub-tlv* [] | |||
| +--ro ospfv3-prefix-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro algorithm? uint8 | ||||
| +--ro sid? uint32 | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-intra-area-prefix | ||||
| /ospfv3-e-lsa:e-intra-prefix-tlvs | ||||
| /ospfv3-e-lsa:intra-prefix-tlv: | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| +--ro prefix-sid-sub-tlv* | ||||
| +--ro ospfv3-prefix-sid-flags | +--ro ospfv3-prefix-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospfv3-e-lsa:e-inter-area-prefix | /ospf:body/ospfv3-e-lsa:e-inter-area-prefix | |||
| /ospfv3-e-lsa:e-inter-prefix-tlvs | /ospfv3-e-lsa:e-inter-prefix-tlvs | |||
| /ospfv3-e-lsa:inter-prefix-tlv: | /ospfv3-e-lsa:inter-prefix-tlv: | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| +--ro prefix-sid-sub-tlv* | +--ro prefix-sid-sub-tlv* [] | |||
| +--ro ospfv3-prefix-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro algorithm? uint8 | ||||
| +--ro sid? uint32 | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-inter-area-prefix | ||||
| /ospfv3-e-lsa:e-inter-prefix-tlvs | ||||
| /ospfv3-e-lsa:inter-prefix-tlv: | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| +--ro prefix-sid-sub-tlv* | ||||
| +--ro ospfv3-prefix-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro algorithm? uint8 | ||||
| +--ro sid? uint32 | ||||
| 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/ospfv3-e-lsa:e-as-external | ||||
| /ospfv3-e-lsa:e-external-tlvs | ||||
| /ospfv3-e-lsa:external-prefix-tlv: | ||||
| +--ro perfix-sid-sub-tlvs | ||||
| +--ro prefix-sid-sub-tlv* | ||||
| +--ro ospfv3-prefix-sid-flags | +--ro ospfv3-prefix-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| 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 | /ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa | |||
| /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | |||
| /ospfv3-e-lsa:e-as-external/ospfv3-e-lsa:e-external-tlvs | /ospfv3-e-lsa:e-as-external/ospfv3-e-lsa:e-external-tlvs | |||
| /ospfv3-e-lsa:external-prefix-tlv: | /ospfv3-e-lsa:external-prefix-tlv: | |||
| +--ro perfix-sid-sub-tlvs | ||||
| +--ro prefix-sid-sub-tlv* | ||||
| +--ro ospfv3-prefix-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro algorithm? uint8 | ||||
| +--ro sid? uint32 | ||||
| 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/ospfv3-e-lsa:e-nssa/ospfv3-e-lsa:e-external-tlvs | ||||
| /ospfv3-e-lsa:external-prefix-tlv: | ||||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| +--ro prefix-sid-sub-tlv* | +--ro prefix-sid-sub-tlv* [] | |||
| +--ro ospfv3-prefix-sid-flags | +--ro ospfv3-prefix-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| 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 | /ospf:as-scope-lsa-type/ospf:as-scope-lsas/ospf:as-scope-lsa | |||
| /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | /ospf:version/ospf:ospfv3/ospf:ospfv3/ospf:body | |||
| /ospfv3-e-lsa:e-nssa/ospfv3-e-lsa:e-external-tlvs | /ospfv3-e-lsa:e-nssa/ospfv3-e-lsa:e-external-tlvs | |||
| /ospfv3-e-lsa:external-prefix-tlv: | /ospfv3-e-lsa:external-prefix-tlv: | |||
| +--ro perfix-sid-sub-tlvs | +--ro perfix-sid-sub-tlvs | |||
| +--ro prefix-sid-sub-tlv* | +--ro prefix-sid-sub-tlv* [] | |||
| +--ro ospfv3-prefix-sid-flags | +--ro ospfv3-prefix-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro algorithm? uint8 | +--ro algorithm? uint8 | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| 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-lsas | |||
| /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | /ospf:area-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3 | |||
| /ospf:body/ospfv3-e-lsa:e-router/ospfv3-e-lsa:e-router-tlvs | /ospf:body/ospfv3-e-lsa:e-router/ospfv3-e-lsa:e-router-tlvs | |||
| /ospfv3-e-lsa:link-tlv: | /ospfv3-e-lsa:link-tlv: | |||
| +--ro adj-sid-sub-tlvs | +--ro adj-sid-sub-tlvs | |||
| | +--ro adj-sid-sub-tlv* | | +--ro adj-sid-sub-tlv* [] | |||
| | +--ro adj-sid-flags | ||||
| | | +--ro bits* identityref | ||||
| | +--ro weight? uint8 | ||||
| | +--ro sid? uint32 | ||||
| +--ro lan-adj-sid-sub-tlvs | ||||
| +--ro lan-adj-sid-sub-tlv* | ||||
| +--ro lan-adj-sid-flags | ||||
| | +--ro bits* identityref | ||||
| +--ro weight? uint8 | ||||
| +--ro neighbor-router-id? yang:dotted-quad | ||||
| +--ro sid? uint32 | ||||
| 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 | ||||
| /ospfv3-e-lsa:e-router/ospfv3-e-lsa:e-router-tlvs | ||||
| /ospfv3-e-lsa:link-tlv: | ||||
| +--ro adj-sid-sub-tlvs | ||||
| | +--ro adj-sid-sub-tlv* | ||||
| | +--ro adj-sid-flags | | +--ro adj-sid-flags | |||
| | | +--ro bits* identityref | | | +--ro bits* identityref | |||
| | +--ro weight? uint8 | | +--ro weight? uint8 | |||
| | +--ro sid? uint32 | | +--ro sid? uint32 | |||
| +--ro lan-adj-sid-sub-tlvs | +--ro lan-adj-sid-sub-tlvs | |||
| +--ro lan-adj-sid-sub-tlv* | +--ro lan-adj-sid-sub-tlv* [] | |||
| +--ro lan-adj-sid-flags | +--ro lan-adj-sid-flags | |||
| | +--ro bits* identityref | | +--ro bits* identityref | |||
| +--ro weight? uint8 | +--ro weight? uint8 | |||
| +--ro neighbor-router-id? yang:dotted-quad | +--ro neighbor-router-id? yang:dotted-quad | |||
| +--ro sid? uint32 | +--ro sid? uint32 | |||
| <CODE BEGINS> file "ietf-ospfv3-sr@2020-08-02.yang" | <CODE BEGINS> file "ietf-ospfv3-sr@2020-10-27.yang" | |||
| module ietf-ospfv3-sr { | module ietf-ospfv3-sr { | |||
| yang-version 1.1; | ||||
| namespace "urn:ietf:params:xml:ns:yang:ietf-ospfv3-sr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-ospfv3-sr"; | |||
| prefix ospfv3-sr; | prefix ospfv3-sr; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-ospf { | import ietf-ospf { | |||
| prefix "ospf"; | prefix "ospf"; | |||
| skipping to change at page 12, line 46 ¶ | skipping to change at page 9, line 20 ¶ | |||
| see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
| they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
| reference "RFC XXXX"; | reference "RFC XXXX"; | |||
| revision 2020-08-02 { | revision 2020-10-27 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPFv3 Segment Routing."; | "RFC XXXX: A YANG Data Model for OSPFv3 Segment Routing."; | |||
| } | } | |||
| /* groupings */ | /* groupings */ | |||
| grouping ospfv3-prefix-sid-sub-tlvs { | grouping ospfv3-prefix-sid-sub-tlvs { | |||
| description "Prefix Segment ID (SID) sub-TLVs."; | description "Prefix Segment ID (SID) sub-TLVs."; | |||
| container perfix-sid-sub-tlvs{ | container perfix-sid-sub-tlvs{ | |||
| description "Prefix SID sub-TLV."; | description "Prefix SID sub-TLV."; | |||
| list prefix-sid-sub-tlv { | list prefix-sid-sub-tlv { | |||
| description "Prefix SID sub-TLV."; | description "Prefix SID sub-TLV."; | |||
| container ospfv3-prefix-sid-flags { | container ospfv3-prefix-sid-flags { | |||
| leaf-list bits { | leaf-list bits { | |||
| type identityref { | type identityref { | |||
| skipping to change at page 17, line 16 ¶ | skipping to change at page 13, line 40 ¶ | |||
| "This augmentation is only valid for OSPFv3 | "This augmentation is only valid for OSPFv3 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-extended-prefix-range-tlvs; | uses ospfv3-extended-prefix-range-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped E-Intra-Area-Prefix LSA."; | "OSPFv3 Area-Scoped E-Intra-Area-Prefix LSA."; | |||
| } | } | |||
| 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:as-scope-lsa-type/ospf:as-scope-lsas/" | ||||
| + "ospf:as-scope-lsa/ospf:version/ospf:ospfv3/" | ||||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-extended-prefix-range-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped E-Intra-Area-Prefix LSA."; | ||||
| } | ||||
| augment "/rt:routing/" | ||||
| + "rt:control-plane-protocols/rt:control-plane-protocol/" | ||||
| + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" | + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" | |||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | |||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | |||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix" { | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix" { | |||
| 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 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-extended-prefix-range-tlvs; | uses ospfv3-extended-prefix-range-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped E-Inter-Area-Prefix LSA."; | "OSPFv3 Area-Scoped E-Inter-Area-Prefix LSA."; | |||
| } | ||||
| 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/ospfv3-e-lsa:e-inter-area-prefix" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-extended-prefix-range-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped E-Inter-Area-Prefix LSA."; | ||||
| } | ||||
| 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/ospfv3-e-lsa:e-as-external" { | ||||
| when "../../../../../../../../../../" | ||||
| + "rt:type = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3 | ||||
| E-Router LSAs"; | ||||
| } | ||||
| uses ospfv3-extended-prefix-range-tlvs; | ||||
| description | ||||
| "OSPFv3 Area-Scoped E-AS-External LSA."; | ||||
| } | } | |||
| 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/ospfv3-e-lsa:e-as-external" { | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external" { | |||
| when "'ospf:../../../../../../../../../" | when "'ospf:../../../../../../../../../" | |||
| + "rt:type' = 'ospf:ospfv3'" { | + "rt:type' = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| uses ospfv3-extended-prefix-range-tlvs; | uses ospfv3-extended-prefix-range-tlvs; | |||
| description | description | |||
| "OSPFv3 AS-Scoped E-AS-External LSA."; | "OSPFv3 AS-Scoped E-AS-External LSA."; | |||
| } | } | |||
| 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/ospfv3-e-lsa:e-nssa" { | ||||
| when "../../../../../../../../../../" | ||||
| + "rt:type = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3 | ||||
| E-Router LSAs"; | ||||
| } | ||||
| uses ospfv3-extended-prefix-range-tlvs; | ||||
| description | ||||
| "OSPFv3 Area-Scoped E-NSSA LSA."; | ||||
| } | ||||
| 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/ospfv3-e-lsa:e-nssa" { | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa" { | |||
| when "'ospf:../../../../../../../../../" | when "'ospf:../../../../../../../../../" | |||
| + "rt:type' = 'ospf:ospfv3'" { | + "rt:type' = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| uses ospfv3-extended-prefix-range-tlvs; | uses ospfv3-extended-prefix-range-tlvs; | |||
| description | description | |||
| "OSPFv3 AS-Scoped E-NSSA LSA."; | "OSPFv3 AS-Scoped E-NSSA LSA."; | |||
| } | } | |||
| /* Prefix SID Sub-TLV in Intra-Area Prefix TLV */ | /* Prefix SID Sub-TLV in Intra-Area Prefix TLV */ | |||
| 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:database/" | + "ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/" | |||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | + "ospf:database/ospf:link-scope-lsa-type/ospf:link-scope-lsas/" | |||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | + "ospf:link-scope-lsa/ospf:version/ospf:ospfv3/ospf:ospfv3/" | |||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-link/" | + "ospf:body/ospfv3-e-lsa:e-link/" | |||
| + "ospfv3-e-lsa:e-link-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | + "ospfv3-e-lsa:e-link-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | |||
| 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 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-prefix-sid-sub-tlvs; | uses ospfv3-prefix-sid-sub-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped Intra-Area Prefix TLV."; | "OSPFv3 Link-Scoped Intra-Area Prefix TLV."; | |||
| } | ||||
| 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/ospfv3-e-lsa:e-link/" | ||||
| + "ospfv3-e-lsa:e-link-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-prefix-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped Intra-Area Prefix TLV."; | ||||
| } | } | |||
| 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:database/" | + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" | |||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | |||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | |||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix/" | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-intra-area-prefix/" | |||
| + "ospfv3-e-lsa:e-intra-prefix-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | + "ospfv3-e-lsa:e-intra-prefix-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | |||
| 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 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-prefix-sid-sub-tlvs; | uses ospfv3-prefix-sid-sub-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped Intra-Area Prefix TLV."; | "OSPFv3 Area-Scoped Intra-Area Prefix TLV."; | |||
| } | } | |||
| 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/ospfv3-e-lsa:e-intra-area-prefix/" | ||||
| + "ospfv3-e-lsa:e-intra-prefix-tlvs/ospfv3-e-lsa:intra-prefix-tlv" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-prefix-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped Intra-Area Prefix TLV."; | ||||
| } | ||||
| /* Prefix SID Sub-TLV in Inter-Area Prefix TLV */ | /* Prefix SID Sub-TLV in Inter-Area Prefix TLV */ | |||
| 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:database/" | + "ospf:ospf/ospf:areas/ospf:area/ospf:database/" | |||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | |||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | |||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix/" | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-inter-area-prefix/" | |||
| + "ospfv3-e-lsa:e-inter-prefix-tlvs/ospfv3-e-lsa:inter-prefix-tlv" { | + "ospfv3-e-lsa:e-inter-prefix-tlvs/ospfv3-e-lsa:inter-prefix-tlv" { | |||
| 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 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-prefix-sid-sub-tlvs; | uses ospfv3-prefix-sid-sub-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped Inter-Area Prefix TLV."; | "OSPFv3 Area-Scoped Inter-Area Prefix TLV."; | |||
| } | } | |||
| 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/ospfv3-e-lsa:e-inter-area-prefix/" | ||||
| + "ospfv3-e-lsa:e-inter-prefix-tlvs/ospfv3-e-lsa:inter-prefix-tlv" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-prefix-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped Inter-Area Prefix TLV."; | ||||
| } | ||||
| /* Prefix SID Sub-TLV in External Prefix TLV */ | /* Prefix SID Sub-TLV in External Prefix TLV */ | |||
| 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:database/" | ||||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | ||||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | ||||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external/" | ||||
| + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | ||||
| when "../../../../../../../../../../../../" | ||||
| + "rt:type = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3 | ||||
| E-Router LSAs"; | ||||
| } | ||||
| uses ospfv3-prefix-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 Area-Scoped External Prefix TLV."; | ||||
| } | ||||
| augment "/rt:routing/" | ||||
| + "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/ospfv3-e-lsa:e-as-external/" | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-as-external/" | |||
| + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | |||
| when "'ospf:../../../../../../../../../" | when "'ospf:../../../../../../../../../" | |||
| + "rt:type' = 'ospf:ospfv3'" { | + "rt:type' = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| uses ospfv3-prefix-sid-sub-tlvs; | uses ospfv3-prefix-sid-sub-tlvs; | |||
| description | description | |||
| "OSPFv3 AS-Scoped External Prefix TLV."; | "OSPFv3 AS-Scoped External Prefix TLV."; | |||
| } | } | |||
| 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:database/" | ||||
| + "ospf:area-scope-lsa-type/ospf:area-scope-lsas/" | ||||
| + "ospf:area-scope-lsa/ospf:version/ospf:ospfv3/" | ||||
| + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa/" | ||||
| + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | ||||
| when "../../../../../../../../../../../../" | ||||
| + "rt:type = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3 | ||||
| E-Router LSAs"; | ||||
| } | ||||
| uses ospfv3-prefix-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 Area-Scoped External Prefix TLV."; | ||||
| } | ||||
| augment "/rt:routing/" | ||||
| + "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/ospfv3-e-lsa:e-nssa/" | + "ospf:ospfv3/ospf:body/ospfv3-e-lsa:e-nssa/" | |||
| + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | + "ospfv3-e-lsa:e-external-tlvs/ospfv3-e-lsa:external-prefix-tlv" { | |||
| when "'ospf:../../../../../../../../../" | when "'ospf:../../../../../../../../../" | |||
| + "rt:type' = 'ospf:ospfv3'" { | + "rt:type' = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augmentation is only valid for OSPFv3."; | "This augmentation is only valid for OSPFv3."; | |||
| } | } | |||
| skipping to change at page 23, line 37 ¶ | skipping to change at page 17, line 4 ¶ | |||
| 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 | |||
| E-Router LSAs"; | E-Router LSAs"; | |||
| } | } | |||
| uses ospfv3-adj-sid-sub-tlvs; | uses ospfv3-adj-sid-sub-tlvs; | |||
| uses ospfv3-lan-adj-sid-sub-tlvs; | uses ospfv3-lan-adj-sid-sub-tlvs; | |||
| description | description | |||
| "OSPFv3 Area-Scoped Adj-SID Sub-TLV."; | "OSPFv3 Area-Scoped Adj-SID Sub-TLV."; | |||
| } | ||||
| 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/ospfv3-e-lsa:e-router/" | ||||
| + "ospfv3-e-lsa:e-router-tlvs/ospfv3-e-lsa:link-tlv" { | ||||
| when "'ospf:../../../../../../../../../" | ||||
| + "rt:type' = 'ospf:ospfv3'" { | ||||
| description | ||||
| "This augmentation is only valid for OSPFv3."; | ||||
| } | ||||
| uses ospfv3-adj-sid-sub-tlvs; | ||||
| uses ospfv3-lan-adj-sid-sub-tlvs; | ||||
| description | ||||
| "OSPFv3 AS-Scoped Adj-SID Sub-TLV."; | ||||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. Security Considerations | 4. Security Considerations | |||
| The YANG modules specified in this document define a schema for data | The YANG modules specified in this document define a schema for data | |||
| that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
| as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
| is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
| transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
| End of changes. 54 change blocks. | ||||
| 389 lines changed or deleted | 52 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/ | ||||