| < draft-ietf-ospf-sr-yang-05.txt | draft-ietf-ospf-sr-yang-06.txt > | |||
|---|---|---|---|---|
| Internet D. Yeung | Internet D. Yeung | |||
| Internet-Draft Arrcus | Internet-Draft Arrcus | |||
| Intended status: Informational Y. Qu | Intended status: Informational Y. Qu | |||
| Expires: January 2, 2019 Huawei | Expires: September 7, 2019 Huawei | |||
| J. Zhang | J. Zhang | |||
| Juniper Networks | Juniper Networks | |||
| I. Chen | I. Chen | |||
| Jabil Circuit | The MITRE Corporation | |||
| A. Lindem | A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| July 1, 2018 | March 6, 2019 | |||
| Yang Data Model for OSPF SR (Segment Routing) Protocol | YANG Data Model for OSPF SR (Segment Routing) Protocol | |||
| draft-ietf-ospf-sr-yang-05 | draft-ietf-ospf-sr-yang-06 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage OSPF Segment Routing. | and manage OSPF Segment Routing. The model is based on YANG 1.1 as | |||
| defined in RFC 7950 and conforms to the Network Management Datastore | ||||
| Architecture (NDMA) as described in RFC 8342. | ||||
| Status of This Memo | 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 January 2, 2019. | This Internet-Draft will expire on September 7, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| 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. OSPF Segment Routing . . . . . . . . . . . . . . . . . . . . 2 | 2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. OSPF Segment Routing Yang Module . . . . . . . . . . . . . . 7 | 3. OSPF Segment Routing . . . . . . . . . . . . . . . . . . . . 3 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | 4. OSPF Segment Routing YANG Module . . . . . . . . . . . . . . 7 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . 20 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . 22 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
| Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 23 | 7.2. Informative References . . . . . . . . . . . . . . . . . 22 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | Appendix A. Contributors' Addreses . . . . . . . . . . . . . . . 24 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | ||||
| 1. Overview | 1. Overview | |||
| YANG [RFC6020] [RFC7950] is a data definition language used to | YANG [RFC6020] [RFC7950] is a data definition language used to define | |||
| define the contents of a conceptual data store that allows networked | the contents of a conceptual data store that allows networked devices | |||
| devices to be managed using NETCONF [RFC6241]. YANG is proving | to be managed using NETCONF [RFC6241]. YANG is proving relevant | |||
| relevant beyond its initial confines, as bindings to other interfaces | beyond its initial confines, as bindings to other interfaces (e.g., | |||
| (e.g., ReST) and encodings other than XML (e.g., JSON) are being | ReST) and encodings other than XML (e.g., JSON) are being defined. | |||
| 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 | |||
| APIs. | APIs. | |||
| This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
| and manage OSPF Segment Routing and it is an augmentation to the OSPF | and manage OSPF Segment Routing and it is an augmentation to the OSPF | |||
| YANG data model. | YANG data model. | |||
| The YANG modules in this document conform to the Network Management | ||||
| Datastore Architecture (NMDA) [RFC8342]. | ||||
| 1.1. Requirements Language | 1.1. Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 2. OSPF Segment Routing | 2. Tree Diagrams | |||
| This document uses the graphical representation of data models | ||||
| defined in [RFC8340]. | ||||
| 3. OSPF Segment Routing | ||||
| This document defines a model for OSPF Segment Routing feature [I-D.i | This document defines a model for OSPF Segment Routing feature [I-D.i | |||
| etf-ospf-segment-routing-extensions][I-D.ietf-ospf-ospfv3-segment-rou | etf-ospf-segment-routing-extensions][I-D.ietf-ospf-ospfv3-segment-rou | |||
| ting-extensions]. It is an augmentation of the OSPF base model. | ting-extensions]. It is an augmentation of the OSPF base model. | |||
| The OSPF SR YANG module requires support for the base segment routing | The OSPF SR YANG module requires support for the base segment routing | |||
| module [I-D.ietf-spring-sr-yang], which defines the global segment | module [I-D.ietf-spring-sr-yang], which defines the global segment | |||
| routing configuration independent of any specific routing protocol | routing configuration independent of any specific routing protocol | |||
| configuration, and support of OSPF base model[I-D.ietf-ospf-yang] | configuration, and support of OSPF base model[I-D.ietf-ospf-yang] | |||
| which defines basic OSPF configuration and state. | which defines basic OSPF configuration and state. | |||
| skipping to change at page 5, line 21 ¶ | skipping to change at page 5, line 34 ¶ | |||
| | | +--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 | |||
| +--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? ospf: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? ospf: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 | /rt:control-plane-protocol/ospf:ospf | |||
| /ospf:areas/ospf:area/ospf:database/ospf:area-scope-lsa-type | /ospf:areas/ospf:area/ospf:database/ospf:area-scope-lsa-type | |||
| /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version | /ospf:area-scope-lsas/ospf:area-scope-lsa/ospf:version | |||
| /ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque: | /ospf:ospfv2/ospf:ospfv2/ospf:body/ospf:opaque: | |||
| +--ro extended-prefix-range-tlvs | +--ro extended-prefix-range-tlvs | |||
| skipping to change at page 6, line 8 ¶ | skipping to change at page 6, line 21 ¶ | |||
| | | +--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 | |||
| +--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? ospf: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? ospf: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 | /rt:control-plane-protocol/ospf:ospf | |||
| /ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas | /ospf:database/ospf:as-scope-lsa-type/ospf:as-scope-lsas | |||
| /ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2 | /ospf:as-scope-lsa/ospf:version/ospf:ospfv2/ospf:ospfv2 | |||
| /ospf:body/ospf:opaque: | /ospf:body/ospf:opaque: | |||
| +--ro extended-prefix-range-tlvs | +--ro extended-prefix-range-tlvs | |||
| skipping to change at page 6, line 43 ¶ | skipping to change at page 7, line 8 ¶ | |||
| | | +--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 | |||
| +--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? ospf: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? ospf: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 | |||
| 3. OSPF Segment Routing Yang Module | 4. OSPF Segment Routing YANG Module | |||
| <CODE BEGINS> file "ietf-ospf-sr@2018-06-25.yang" | <CODE BEGINS> file "ietf-ospf-sr@2019-03-05.yang" | |||
| module ietf-ospf-sr { | module ietf-ospf-sr { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-sr"; | namespace "urn:ietf:params:xml:ns:yang:ietf-ospf-sr"; | |||
| prefix ospf-sr; | prefix ospf-sr; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| skipping to change at page 8, line 4 ¶ | skipping to change at page 8, line 17 ¶ | |||
| Editor: Derek Yeung | Editor: Derek Yeung | |||
| <mailto:derek@arrcus.com> | <mailto:derek@arrcus.com> | |||
| Author: Derek Yeung | Author: Derek Yeung | |||
| <mailto:derek@arrcus.com> | <mailto:derek@arrcus.com> | |||
| Author: Yingzhen Qu | Author: Yingzhen Qu | |||
| <mailto:yingzhen.qu@huawei.com> | <mailto:yingzhen.qu@huawei.com> | |||
| Author: Acee Lindem | Author: Acee Lindem | |||
| <mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
| Author: Jeffrey Zhang | Author: Jeffrey Zhang | |||
| <mailto:zzhang@juniper.net> | <mailto:zzhang@juniper.net> | |||
| Author: Ing-Wher Chen | Author: Ing-Wher Chen | |||
| <mailto:ing-wher_chen@jabil.com> | <mailto:ingwherchen@mitre.org> | |||
| Author: Greg Hankins | Author: Greg Hankins | |||
| <mailto:greg.hankins@alcatel-lucent.com>"; | <mailto:greg.hankins@alcatel-lucent.com>"; | |||
| description | description | |||
| "This YANG module defines the generic configuration | "This YANG module defines the generic configuration | |||
| and operational state for OSPF Segment Routing, which is | and operational state for OSPF Segment Routing, which is | |||
| common across all of the vendor implementations. It is | common across all of the vendor implementations. It is | |||
| intended that the module will be extended by vendors to | intended that the module will be extended by vendors to | |||
| define vendor-specific OSPF Segment Routing configuration | define vendor-specific OSPF Segment Routing configuration | |||
| and operational parameters and policies. | and operational parameters and policies. | |||
| skipping to change at page 8, line 33 ¶ | skipping to change at page 8, line 45 ¶ | |||
| 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"; | |||
| revision 2019-03-05 { | ||||
| description | ||||
| ""; | ||||
| reference | ||||
| "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | ||||
| } | ||||
| revision 2018-06-25 { | revision 2018-06-25 { | |||
| description | description | |||
| ""; | ""; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | |||
| } | } | |||
| revision 2018-03-03 { | revision 2018-03-03 { | |||
| description | description | |||
| "* Remove OSPF instance."; | "* Remove OSPF instance."; | |||
| skipping to change at page 10, line 4 ¶ | skipping to change at page 10, line 25 ¶ | |||
| description | description | |||
| "* Add per-protocol SRGB support. | "* Add per-protocol SRGB support. | |||
| * Editorial changes."; | * Editorial changes."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | |||
| } | } | |||
| revision 2015-09-02 { | revision 2015-09-02 { | |||
| description | description | |||
| "* Author list update. | "* Author list update. | |||
| * Editorial changes."; | * Editorial changes."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | |||
| } | } | |||
| revision 2015-07-06 { | revision 2015-07-06 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | "RFC XXXX: A YANG Data Model for OSPF Segment Routing."; | |||
| } | } | |||
| feature ti-lfa { | feature ti-lfa { | |||
| description | description | |||
| "Topology-Independent Loop-Free Alternate (TI-LFA) | "Topology-Independent Loop-Free Alternate (TI-LFA) | |||
| computation using segment routing."; | computation using segment routing."; | |||
| } | } | |||
| typedef uint24 { | ||||
| type uint32 { | ||||
| range "0 .. 16777215"; | ||||
| } | ||||
| description | ||||
| "24-bit unsigned integer."; | ||||
| } | ||||
| /* Groupings */ | /* Groupings */ | |||
| grouping sid-sub-tlv { | grouping sid-sub-tlv { | |||
| description "SID/Label sub-TLV grouping."; | description "SID/Label sub-TLV grouping."; | |||
| container sid-sub-tlv { | container sid-sub-tlv { | |||
| description | description | |||
| "Used to advertise the SID/Label associated with a | "Used to advertise the SID/Label associated with a | |||
| prefix or adjacency."; | prefix or adjacency."; | |||
| leaf sid { | leaf sid { | |||
| type uint32; | type uint32; | |||
| description | description | |||
| skipping to change at page 11, line 50 ¶ | skipping to change at page 12, line 32 ¶ | |||
| } | } | |||
| } | } | |||
| grouping extended-prefix-range-tlvs { | grouping extended-prefix-range-tlvs { | |||
| description "Extended prefix range TLV grouping."; | description "Extended prefix range TLV grouping."; | |||
| container extended-prefix-range-tlvs { | container extended-prefix-range-tlvs { | |||
| description "The list of range of prefixes."; | description "The list of range of prefixes."; | |||
| list extended-prefix-range-tlv { //type=2? | list extended-prefix-range-tlv { //type=2? | |||
| description "The range of prefixes."; | description "The range of prefixes."; | |||
| leaf prefix-length { | ||||
| type uint8; | ||||
| description "Length of prefix in bits."; | ||||
| } | ||||
| leaf af { | ||||
| type uint8; | ||||
| description "Address family for the prefix."; | ||||
| } | ||||
| leaf range-size { | leaf range-size { | |||
| type uint16; | type uint16; | |||
| description "The number of prefixes covered by the | description "The number of prefixes covered by the | |||
| advertisement."; | advertisement."; | |||
| } | } | |||
| leaf flags { | leaf flags { | |||
| type bits { | type bits { | |||
| bit IA { | bit IA { | |||
| position 0; | position 0; | |||
| description | description | |||
| skipping to change at page 12, line 47 ¶ | skipping to change at page 13, line 36 ¶ | |||
| } | } | |||
| } | } | |||
| grouping sid-range-tlvs { | grouping sid-range-tlvs { | |||
| description "SID Range TLV grouping."; | description "SID Range TLV grouping."; | |||
| container sid-range-tlvs { | container sid-range-tlvs { | |||
| description "List of SID range TLVs."; | description "List of SID range TLVs."; | |||
| list sid-range-tlv { | list sid-range-tlv { | |||
| description "SID range TLV."; | description "SID range TLV."; | |||
| leaf range-size { | leaf range-size { | |||
| type ospf:uint24; | type uint24; | |||
| description "The SID range."; | description "The SID range."; | |||
| } | } | |||
| uses sid-sub-tlv; | uses sid-sub-tlv; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping local-block-tlvs { | grouping local-block-tlvs { | |||
| description "The SR local block TLV contains the | description "The SR local block TLV contains the | |||
| range of labels reserved for local SIDs."; | range of labels reserved for local SIDs."; | |||
| container local-block-tlvs { | container local-block-tlvs { | |||
| description "List of SRLB TLVs."; | description "List of SRLB TLVs."; | |||
| list local-block-tlv { | list local-block-tlv { | |||
| description "SRLB TLV."; | description "SRLB TLV."; | |||
| leaf range-size { | leaf range-size { | |||
| type ospf:uint24; | type uint24; | |||
| description "The SID range."; | description "The SID range."; | |||
| } | } | |||
| uses sid-sub-tlv; | uses sid-sub-tlv; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping srms-preference-tlv { | grouping srms-preference-tlv { | |||
| description "The SRMS preference TLV is used to advertise | description "The SRMS preference TLV is used to advertise | |||
| a preference associated with the node that acts | a preference associated with the node that acts | |||
| skipping to change at page 13, line 50 ¶ | skipping to change at page 14, line 38 ¶ | |||
| 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:ospfv2' or " | when "../rt:type = 'ospf:ospfv2' or " | |||
| + "../rt:type = 'ospf:ospfv3'" { | + "../rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augments the OSPF routing protocol when used."; | "This augments the OSPF routing protocol when used."; | |||
| } | } | |||
| description | description | |||
| "This augments the OSPF protocol configuration | "This augments the OSPF protocol configuration | |||
| with segment routing."; | with segment routing."; | |||
| uses sr:controlplane-cfg; | uses sr:sr-controlplane; | |||
| container protocol-srgb { | container protocol-srgb { | |||
| if-feature sr:protocol-srgb; | if-feature sr:protocol-srgb; | |||
| uses sr-cmn:srgb-cfg; | uses sr-cmn:srgb; | |||
| description | description | |||
| "Per-protocol SRGB."; | "Per-protocol SRGB."; | |||
| } | } | |||
| } | } | |||
| 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/" | |||
| + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface" { | + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface" { | |||
| when "../../../../../rt:type = 'ospf:ospfv2' or " | when "../../../../../rt:type = 'ospf:ospfv2' or " | |||
| + "../../../../../rt:type = 'ospf:ospfv3'" { | + "../../../../../rt:type = 'ospf:ospfv3'" { | |||
| skipping to change at page 14, line 15 ¶ | skipping to change at page 15, line 4 ¶ | |||
| description | description | |||
| "Per-protocol SRGB."; | "Per-protocol SRGB."; | |||
| } | } | |||
| } | } | |||
| 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/" | |||
| + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface" { | + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface" { | |||
| when "../../../../../rt:type = 'ospf:ospfv2' or " | when "../../../../../rt:type = 'ospf:ospfv2' or " | |||
| + "../../../../../rt:type = 'ospf:ospfv3'" { | + "../../../../../rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augments the OSPF interface configuration | "This augments the OSPF interface configuration | |||
| when used."; | when used."; | |||
| } | } | |||
| description | description | |||
| "This augments the OSPF protocol interface | "This augments the OSPF protocol interface | |||
| configuration with segment routing."; | configuration with segment routing."; | |||
| uses sr:igp-interface-cfg; | uses sr:igp-interface; | |||
| } | } | |||
| 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/" | |||
| + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface/" | + "ospf:areas/ospf:area/ospf:interfaces/ospf:interface/" | |||
| + "ospf:fast-reroute" { | + "ospf:fast-reroute" { | |||
| when "../../../../../../rt:type = 'ospf:ospfv2' or " | when "../../../../../../rt:type = 'ospf:ospfv2' or " | |||
| + "../../../../../../rt:type = 'ospf:ospfv3'" { | + "../../../../../../rt:type = 'ospf:ospfv3'" { | |||
| description | description | |||
| "This augments the OSPF routing protocol when used."; | "This augments the OSPF routing protocol when used."; | |||
| skipping to change at page 20, line 9 ¶ | skipping to change at page 20, line 46 ¶ | |||
| uses extended-prefix-range-tlvs; | uses extended-prefix-range-tlvs; | |||
| uses sr-algorithm-tlv; | uses sr-algorithm-tlv; | |||
| uses sid-range-tlvs; | uses sid-range-tlvs; | |||
| uses local-block-tlvs; | uses local-block-tlvs; | |||
| uses srms-preference-tlv; | uses srms-preference-tlv; | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. Security Considerations | 5. Security Considerations | |||
| The data model defined does not create any security implications. | The data model defined does not create any security implications. | |||
| This draft does not change any underlying security issues inherent in | This draft does not change any underlying security issues inherent in | |||
| [I-D.ietf-netmod-routing-cfg]. | [I-D.ietf-netmod-routing-cfg]. | |||
| 5. Acknowledgements | 6. Acknowledgements | |||
| The authors wish to thank Yi Yang, Alexander Clemm, Gaurav Gupta, | The authors wish to thank Yi Yang, Alexander Clemm, Gaurav Gupta, | |||
| Ladislav Lhotka, Stephane Litkowski, Greg Hankins, Manish Gupta and | Ladislav Lhotka, Stephane Litkowski, Greg Hankins, Manish Gupta and | |||
| Alan Davey for their thorough reviews and helpful comments. | Alan Davey for their thorough reviews and helpful comments. | |||
| This document was produced using Marshall Rose's xml2rfc tool. | This document was produced using Marshall Rose's xml2rfc tool. | |||
| 6. References | Author affiliation with The MITRE Corporation is provided for | |||
| identification purposes only, and is not intended to convey or imply | ||||
| MITRE's concurrence with, or support for, the positions, opinions or | ||||
| viewpoints expressed. MITRE has approved this document for Public | ||||
| Release, Distribution Unlimited, with Public Release Case Number | ||||
| 18-3281. | ||||
| 6.1. Normative References | 7. References | |||
| 7.1. Normative References | ||||
| [I-D.ietf-ospf-ospfv3-segment-routing-extensions] | [I-D.ietf-ospf-ospfv3-segment-routing-extensions] | |||
| Psenak, P., Filsfils, C., Previdi, S., Gredler, H., | Psenak, P. and S. Previdi, "OSPFv3 Extensions for Segment | |||
| Shakir, R., Henderickx, W., and J. Tantsura, "OSPFv3 | Routing", draft-ietf-ospf-ospfv3-segment-routing- | |||
| Extensions for Segment Routing", draft-ietf-ospf-ospfv3- | extensions-23 (work in progress), January 2019. | |||
| segment-routing-extensions-13 (work in progress), May | ||||
| 2018. | ||||
| [I-D.ietf-ospf-segment-routing-extensions] | [I-D.ietf-ospf-segment-routing-extensions] | |||
| Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | Psenak, P., Previdi, S., Filsfils, C., Gredler, H., | |||
| Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | Shakir, R., Henderickx, W., and J. Tantsura, "OSPF | |||
| Extensions for Segment Routing", draft-ietf-ospf-segment- | Extensions for Segment Routing", draft-ietf-ospf-segment- | |||
| routing-extensions-25 (work in progress), April 2018. | routing-extensions-27 (work in progress), December 2018. | |||
| [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-11 (work in progress), April 2018. | yang-21 (work in progress), January 2019. | |||
| [I-D.ietf-spring-sr-yang] | [I-D.ietf-spring-sr-yang] | |||
| Litkowski, S., Qu, Y., Sarkar, P., and J. Tantsura, "YANG | Litkowski, S., Qu, Y., Lindem, A., Sarkar, P., and J. | |||
| Data Model for Segment Routing", draft-ietf-spring-sr- | Tantsura, "YANG Data Model for Segment Routing", draft- | |||
| yang-09 (work in progress), June 2018. | ietf-spring-sr-yang-12 (work in progress), February 2019. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, | |||
| DOI 10.17487/RFC2328, April 1998, | DOI 10.17487/RFC2328, April 1998, | |||
| <https://www.rfc-editor.org/info/rfc2328>. | <https://www.rfc-editor.org/info/rfc2328>. | |||
| skipping to change at page 22, line 5 ¶ | skipping to change at page 22, line 41 ¶ | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | |||
| Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, | Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, | |||
| <https://www.rfc-editor.org/info/rfc7223>. | <https://www.rfc-editor.org/info/rfc7223>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
| <https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
| 6.2. Informative References | 7.2. Informative References | |||
| [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | [RFC8022] Lhotka, L. and A. Lindem, "A YANG Data Model for Routing | |||
| Management", RFC 8022, DOI 10.17487/RFC8022, November | Management", RFC 8022, DOI 10.17487/RFC8022, November | |||
| 2016, <https://www.rfc-editor.org/info/rfc8022>. | 2016, <https://www.rfc-editor.org/info/rfc8022>. | |||
| [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | ||||
| BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8340>. | ||||
| [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | ||||
| and R. Wilton, "Network Management Datastore Architecture | ||||
| (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8342>. | ||||
| Appendix A. Contributors' Addreses | Appendix A. Contributors' Addreses | |||
| Dean Bogdanovic | Dean Bogdanovic | |||
| Volta Networks, Inc. | Volta Networks, Inc. | |||
| EMail: dean@voltanet.io | EMail: dean@voltanet.io | |||
| Kiran Koushik Agrahara Sreenivasa | Kiran Koushik Agrahara Sreenivasa | |||
| Cisco Systems | Cisco Systems | |||
| 12515 Research Blvd, Bldg 4 | 12515 Research Blvd, Bldg 4 | |||
| skipping to change at page 23, line 44 ¶ | skipping to change at page 24, line 44 ¶ | |||
| Jeffrey Zhang | Jeffrey Zhang | |||
| Juniper Networks | Juniper Networks | |||
| 10 Technology Park Drive | 10 Technology Park Drive | |||
| Westford, MA 01886 | Westford, MA 01886 | |||
| USA | USA | |||
| EMail: zzhang@juniper.net | EMail: zzhang@juniper.net | |||
| Ing-Wher Chen | Ing-Wher Chen | |||
| Jabil Circuit | The MITRE Corporation | |||
| EMail: Ing-Wher_chen@jabil.com | EMail: ingwherchen@mitre.org | |||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| 301 Midenhall Way | 301 Midenhall Way | |||
| Cary, NC 27513 | Cary, NC 27513 | |||
| EMail: acee@cisco.com | EMail: acee@cisco.com | |||
| End of changes. 44 change blocks. | ||||
| 59 lines changed or deleted | 104 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/ | ||||