| < draft-geng-teas-enhanced-vpn-scalable-vtn-yang-00.txt | draft-geng-teas-enhanced-vpn-scalable-vtn-yang-01.txt > | |||
|---|---|---|---|---|
| Network Working Group X. Geng | Network Working Group X. Geng | |||
| Internet-Draft Z. Hu | Internet-Draft Z. Hu | |||
| Intended status: Experimental Huawei | Intended status: Experimental Huawei | |||
| Expires: October 16, 2021 April 14, 2021 | Expires: December 5, 2021 June 03, 2021 | |||
| YANG Model for Scalable VTN | YANG Model for Scalable VTN | |||
| draft-geng-teas-enhanced-vpn-scalable-vtn-yang-00 | draft-geng-teas-enhanced-vpn-scalable-vtn-yang-01 | |||
| Abstract | Abstract | |||
| This document defines the Yang data model for scalable Virtual | This document defines the Yang data model for scalable Virtual | |||
| Transport Network(VTN). | Transport Network(VTN). | |||
| Requirements Language | 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 | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 37 ¶ | |||
| 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 October 16, 2021. | This Internet-Draft will expire on December 5, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 17 ¶ | skipping to change at page 2, line 17 ¶ | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. VTN Yang Module Requirement . . . . . . . . . . . . . . . . . 3 | 2. VTN Yang Module Requirement . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. VTN Creation . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. VTN Creation . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2.2. VTN Initiation . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. VTN Initiation . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. VTN Traffic Steering . . . . . . . . . . . . . . . . . . 4 | 2.3. VTN Traffic Steering . . . . . . . . . . . . . . . . . . 4 | |||
| 3. VTN Yang Module Tree . . . . . . . . . . . . . . . . . . . . 5 | 3. VTN Yang Module Tree . . . . . . . . . . . . . . . . . . . . 5 | |||
| 4. VTN Yang Module . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. VTN Yang Module . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 12 | 7.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
| Appendix A. An Appendix . . . . . . . . . . . . . . . . . . . . 12 | Appendix A. An Appendix . . . . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 1. Introduction | 1. Introduction | |||
| [I-D.ietf-teas-ietf-network-slice-definition] defines IETF network | [I-D.ietf-teas-ietf-network-slice-definition] defines IETF network | |||
| slices that provide connectivity coupled with network resources | slices that provide connectivity coupled with network resources | |||
| commitment between a number of endpoints over a shared network | commitment between a number of endpoints over a shared network | |||
| infrastructure. | infrastructure. | |||
| Enhanced VPN (VPN+) aims to provide enhancements to existing VPN | Enhanced VPN (VPN+) aims to provide enhancements to existing VPN | |||
| services to support network slicing. VPN+ is composed of a VPN | services to support network slicing. VPN+ is composed of a VPN | |||
| skipping to change at page 5, line 18 ¶ | skipping to change at page 6, line 4 ¶ | |||
| candidate path is bound to VTN; | candidate path is bound to VTN; | |||
| o The route with some particular color matchs the SR policy with the | o The route with some particular color matchs the SR policy with the | |||
| corresponding color, which could satisfy the requirement of the | corresponding color, which could satisfy the requirement of the | |||
| route | route | |||
| o Traffic with the route is steered into the SR policy; Packet is | o Traffic with the route is steered into the SR policy; Packet is | |||
| encapsulated with the VTN data plane identifier. | encapsulated with the VTN data plane identifier. | |||
| 3. VTN Yang Module Tree | 3. VTN Yang Module Tree | |||
| module: ietf-vtn | ||||
| +--rw vtn-instance | ||||
| +--rw vtn-instance* [vtn-id] | ||||
| +--rw vtn-id uint32 | ||||
| +--rw vtn-topology | ||||
| | +--rw (vtn-topolgy-type)? | ||||
| | +--:(flex-algo) | ||||
| | | +--rw flex-algo | ||||
| | | +--rw flex-algo-id? uint32 | ||||
| | +--:(multi-topology) | ||||
| | +--rw multi-topology-id? uint32 | ||||
| +--rw data-plane | ||||
| | +--rw vtn-data-plane-identifier? uint32 | ||||
| +--rw steering-policy | ||||
| +--rw vtn-color-id? uint32 | ||||
| module: ietf-vtn | augment /rt:routing/sr-policy:segment-routing/sr-policy:traffic-engineering/sr-policy:policies/sr-policy:policy/sr-policy:candidate-paths/sr-policy:candidate-path: | |||
| +--rw vtn-instance | +--rw vtn-id-sr-policy | |||
| | +--rw vtn-instance* [vtn-id] | +--rw vtn-id? uint32 | |||
| | +--rw vtn-id uint32 | ||||
| | +--rw vtn-topology | ||||
| | | +--rw (vtn-topolgy-type)? | ||||
| | | +--:(flex-algo) | ||||
| | | | +--rw flex-algo | ||||
| | | | +--rw flex-algo-id? uint32 | ||||
| | | +--:(multi-topology) | ||||
| | | +--rw multi-topology-id? uint32 | ||||
| | +--rw vtn-data-plane-identifier? uint32 | ||||
| +--rw sr-policy-extension | ||||
| +--rw vtn | ||||
| +--rw vtn-id? uint32 | ||||
| augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
| +--rw interface-configuration-for-vtn | +--rw interface-configuration-for-vtn | |||
| +--rw (vtn-interface-binding-type)? | +--rw (vtn-interface-binding-type)? | |||
| +--:(layer-2-sub-interface) | +--:(layer-2-sub-interface) | |||
| | +--rw layer-2-sub-interface | | +--rw layer-2-sub-interface | |||
| | +--rw sub-interface-id? uint32 | | +--rw sub-interface-id? uint32 | |||
| | +--rw vtn-id? uint32 | | +--rw vtn-id? uint32 | |||
| | +--rw bandwidth? uint32 | | +--rw bandwidth? uint32 | |||
| +--:(queue) | +--:(queue) | |||
| +--rw queue | +--rw queue | |||
| +--rw queue-id? uint32 | +--rw queue-id? uint32 | |||
| +--rw vtn-id? uint32 | +--rw vtn-id? uint32 | |||
| +--rw bandwidth? uint32 | +--rw bandwidth? uint32 | |||
| augment /ni:network-instances/ni:network-instance: | ||||
| +--rw vtn-traffic-steering | augment /ni:network-instances/ni:network-instance: | |||
| +--rw color-index? uint32 | +--rw vtn-traffic-steering | |||
| +--rw vtn-id? uint32 | +--rw color-index? uint32 | |||
| +--rw vtn-id? uint32 | ||||
| 4. VTN Yang Module | 4. VTN Yang Module | |||
| <CODE BEGINS> | ||||
| module ietf-vtn { | module ietf-vtn { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-vtn"; | namespace "urn:ietf:params:xml:ns:yang:ietf-vtn"; | |||
| prefix "ietf-vtn"; | prefix "ietf-vtn"; | |||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-routing { | import ietf-routing { | |||
| prefix "rt"; | prefix "rt"; | |||
| } | } | |||
| import ietf-routing-types { | import ietf-routing-types { | |||
| prefix "rt-types"; | prefix "rt-types"; | |||
| skipping to change at page 6, line 36 ¶ | skipping to change at page 7, line 28 ¶ | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix "if"; | prefix "if"; | |||
| } | } | |||
| import ietf-network-instance { | import ietf-network-instance { | |||
| prefix "ni"; | prefix "ni"; | |||
| } | } | |||
| import ietf-sr-policy { | ||||
| prefix "sr-policy"; | ||||
| } | ||||
| organization "IETF TEAS Working Group"; | organization "IETF TEAS Working Group"; | |||
| contact | contact | |||
| " | " | |||
| WG Web: <http://tools.ietf.org/wg/teas/> | WG Web: <http://tools.ietf.org/wg/teas/> | |||
| WG List:<mailto:teas@ietf.org> | WG List:<mailto:teas@ietf.org> | |||
| Editor: Xuesong Geng | Editor: Xuesong Geng | |||
| <mailto:gengxuesong@huawei.com> | <mailto:gengxuesong@huawei.com> | |||
| Editor: Zhibo Hu | Editor: Zhibo Hu | |||
| skipping to change at page 7, line 50 ¶ | skipping to change at page 8, line 47 ¶ | |||
| description | description | |||
| "MT could be used as topology specification for VTN"; | "MT could be used as topology specification for VTN"; | |||
| leaf multi-topology-id{ | leaf multi-topology-id{ | |||
| type uint32; | type uint32; | |||
| description | description | |||
| "MT-id for VTN"; | "MT-id for VTN"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| leaf vtn-data-plane-identifier { | container data-plane { | |||
| type uint32; | description | |||
| description | "vtn data plane mechanism"; | |||
| "VTN identifier of data plane for vtn distinguishment"; | leaf vtn-data-plane-identifier { | |||
| type uint32; | ||||
| description | ||||
| "VTN identifier of data plane for vtn distinguishment"; | ||||
| } | ||||
| } | ||||
| container steering-policy { | ||||
| description | ||||
| "Policy set that matches to a VTN"; | ||||
| leaf vtn-color-id { | ||||
| type uint32; | ||||
| description | ||||
| "VTN color ID for VTN traffic steering"; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| grouping interface-configuration-for-vtn{ | grouping interface-configuration-for-vtn{ | |||
| description | description | |||
| "interface configuration for vtn"; | "interface configuration for vtn"; | |||
| container interface-configuration-for-vtn { | container interface-configuration-for-vtn { | |||
| description | description | |||
| "interface configuration for vtn"; | "interface configuration for vtn"; | |||
| skipping to change at page 10, line 4 ¶ | skipping to change at page 11, line 14 ¶ | |||
| description | description | |||
| "vtn id"; | "vtn id"; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| container vtn-instance { | container vtn-instance { | |||
| description | description | |||
| "vtn instance configuraiton"; | "vtn instance configuraiton"; | |||
| uses vtn-instances; | uses vtn-instances; | |||
| } | ||||
| grouping vtn-id-sr-policy { | ||||
| description | ||||
| "VTN ID for SR policy"; | ||||
| container vtn-id-sr-policy { | ||||
| description | ||||
| "VTN ID for SR policy"; | ||||
| leaf vtn-id { | ||||
| type uint32; | ||||
| description | ||||
| "vtn id"; | ||||
| } | ||||
| } | ||||
| } | ||||
| augment "/rt:routing/sr-policy:segment-routing/sr-policy:traffic-engineering/sr-policy:policies/sr-policy:policy/sr-policy:candidate-paths/sr-policy:candidate-path" { | ||||
| description | ||||
| "VTN ID for candidate path in SR path"; | ||||
| uses vtn-id-sr-policy; | ||||
| } | } | |||
| augment "/if:interfaces/if:interface" { | augment "/if:interfaces/if:interface" { | |||
| description | description | |||
| "interface model extension for vtn"; | "interface model extension for vtn"; | |||
| uses interface-configuration-for-vtn; | uses interface-configuration-for-vtn; | |||
| } | } | |||
| augment /ni:network-instances/ni:network-instance{ | augment /ni:network-instances/ni:network-instance{ | |||
| description | description | |||
| "network instance model extension for vtn"; | "network instance model extension for vtn"; | |||
| uses vtn-traffic-steering; | uses vtn-traffic-steering; | |||
| } | } | |||
| container sr-policy-extension { | ||||
| description | ||||
| "sr policy extension for vtn"; | ||||
| uses sr-policy-traffic-steering; | ||||
| } | ||||
| } | } | |||
| <CODE ENDS> | ||||
| 5. IANA Considerations | 5. IANA Considerations | |||
| This document makes no request of IANA. | This document makes no request of IANA. | |||
| Note to RFC Editor: this section may be removed on publication as an | Note to RFC Editor: this section may be removed on publication as an | |||
| RFC. | RFC. | |||
| 6. Contributor | 6. Contributor | |||
| Zhenbin Li | Zhenbin Li | |||
| skipping to change at page 11, line 4 ¶ | skipping to change at page 12, line 24 ¶ | |||
| Huawei | Huawei | |||
| Email: lizhenbin@huawei.com | Email: lizhenbin@huawei.com | |||
| Jie Dong | Jie Dong | |||
| Huawei | Huawei | |||
| Email: jie.dong@huawei.com | Email: jie.dong@huawei.com | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [I-D.dong-6man-enhanced-vpn-vtn-id] | [I-D.dong-6man-enhanced-vpn-vtn-id] | |||
| Dong, J., Li, Z., Xie, C., and C. Ma, "Carrying Virtual | Dong, J., Li, Z., Xie, C., and C. Ma, "Carrying Virtual | |||
| Transport Network Identifier in IPv6 Extension Header", | Transport Network Identifier in IPv6 Extension Header", | |||
| draft-dong-6man-enhanced-vpn-vtn-id-02 (work in progress), | draft-dong-6man-enhanced-vpn-vtn-id-03 (work in progress), | |||
| November 2020. | February 2021. | |||
| [I-D.dong-idr-sr-policy-vtn] | [I-D.dong-idr-sr-policy-vtn] | |||
| Dong, J., Hu, Z., and R. Pang, "BGP SR Policy Extensions | Dong, J., Hu, Z., and R. Pang, "BGP SR Policy Extensions | |||
| for Virtual Transport Network", draft-dong-idr-sr-policy- | for Virtual Transport Network", draft-dong-idr-sr-policy- | |||
| vtn-00 (work in progress), October 2020. | vtn-00 (work in progress), October 2020. | |||
| [I-D.dong-teas-enhanced-vpn-vtn-scalability] | [I-D.dong-teas-enhanced-vpn-vtn-scalability] | |||
| Dong, J., Li, Z., Qin, F., and G. Yang, "Scalability | Dong, J., Li, Z., Qin, F., Yang, G., and J. N. Guichard, | |||
| Considerations for Enhanced VPN (VPN+)", draft-dong-teas- | "Scalability Considerations for Enhanced VPN (VPN+)", | |||
| enhanced-vpn-vtn-scalability-01 (work in progress), | draft-dong-teas-enhanced-vpn-vtn-scalability-02 (work in | |||
| November 2020. | progress), February 2021. | |||
| [I-D.ietf-lsr-flex-algo] | [I-D.ietf-lsr-flex-algo] | |||
| Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and | |||
| A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- | |||
| algo-13 (work in progress), October 2020. | algo-15 (work in progress), April 2021. | |||
| [I-D.ietf-lsr-isis-sr-vtn-mt] | [I-D.ietf-lsr-isis-sr-vtn-mt] | |||
| Xie, C., Ma, C., Dong, J., and Z. Li, "Using IS-IS Multi- | Xie, C., Ma, C., Dong, J., and Z. Li, "Using IS-IS Multi- | |||
| Topology (MT) for Segment Routing based Virtual Transport | Topology (MT) for Segment Routing based Virtual Transport | |||
| Network", draft-ietf-lsr-isis-sr-vtn-mt-00 (work in | Network", draft-ietf-lsr-isis-sr-vtn-mt-00 (work in | |||
| progress), March 2021. | progress), March 2021. | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| P. Mattes, "Segment Routing Policy Architecture", draft- | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| ietf-spring-segment-routing-policy-09 (work in progress), | ietf-spring-segment-routing-policy-11 (work in progress), | |||
| November 2020. | April 2021. | |||
| [I-D.ietf-teas-enhanced-vpn] | [I-D.ietf-teas-enhanced-vpn] | |||
| Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A | Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A | |||
| Framework for Enhanced Virtual Private Networks (VPN+) | Framework for Enhanced Virtual Private Network (VPN+) | |||
| Service", draft-ietf-teas-enhanced-vpn-06 (work in | Services", draft-ietf-teas-enhanced-vpn-07 (work in | |||
| progress), July 2020. | progress), February 2021. | |||
| [I-D.ietf-teas-ietf-network-slice-definition] | [I-D.ietf-teas-ietf-network-slice-definition] | |||
| Rokui, R., Homma, S., Makhijani, K., Contreras, L., and J. | Rokui, R., Homma, S., Makhijani, K., Contreras, L. M., and | |||
| Tantsura, "Definition of IETF Network Slices", draft-ietf- | J. Tantsura, "Definition of IETF Network Slices", draft- | |||
| teas-ietf-network-slice-definition-00 (work in progress), | ietf-teas-ietf-network-slice-definition-01 (work in | |||
| January 2021. | progress), February 2021. | |||
| [I-D.zhu-lsr-isis-sr-vtn-flexalgo] | [I-D.zhu-lsr-isis-sr-vtn-flexalgo] | |||
| Zhu, Y., Dong, J., and Z. Hu, "Using Flex-Algo for Segment | Zhu, Y., Dong, J., and Z. Hu, "Using Flex-Algo for Segment | |||
| Routing based VTN", draft-zhu-lsr-isis-sr-vtn-flexalgo-01 | Routing based VTN", draft-zhu-lsr-isis-sr-vtn-flexalgo-02 | |||
| (work in progress), September 2020. | (work in progress), February 2021. | |||
| [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>. | |||
| [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. | [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. | |||
| Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", | Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", | |||
| RFC 4915, DOI 10.17487/RFC4915, June 2007, | RFC 4915, DOI 10.17487/RFC4915, June 2007, | |||
| <https://www.rfc-editor.org/info/rfc4915>. | <https://www.rfc-editor.org/info/rfc4915>. | |||
| End of changes. 24 change blocks. | ||||
| 74 lines changed or deleted | 107 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/ | ||||