idnits 2.17.1 draft-geng-teas-enhanced-vpn-scalable-vtn-yang-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** There are 4 instances of too long lines in the document, the longest one being 16 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (April 14, 2021) is 1107 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'InfRef' is defined on line 544, but no explicit reference was found in the text == Outdated reference: A later version (-06) exists of draft-dong-6man-enhanced-vpn-vtn-id-02 == Outdated reference: A later version (-01) exists of draft-dong-idr-sr-policy-vtn-00 == Outdated reference: A later version (-04) exists of draft-dong-teas-enhanced-vpn-vtn-scalability-01 == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-13 == Outdated reference: A later version (-07) exists of draft-ietf-lsr-isis-sr-vtn-mt-00 == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-policy-09 == Outdated reference: A later version (-17) exists of draft-ietf-teas-enhanced-vpn-06 == Outdated reference: A later version (-01) exists of draft-ietf-teas-ietf-network-slice-definition-00 == Outdated reference: A later version (-07) exists of draft-zhu-lsr-isis-sr-vtn-flexalgo-01 Summary: 2 errors (**), 0 flaws (~~), 12 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Geng 3 Internet-Draft Z. Hu 4 Intended status: Experimental Huawei 5 Expires: October 16, 2021 April 14, 2021 7 YANG Model for Scalable VTN 8 draft-geng-teas-enhanced-vpn-scalable-vtn-yang-00 10 Abstract 12 This document defines the Yang data model for scalable Virtual 13 Transport Network(VTN). 15 Requirements Language 17 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 18 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 19 document are to be interpreted as described in RFC 2119 [RFC2119]. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on October 16, 2021. 38 Copyright Notice 40 Copyright (c) 2021 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. VTN Yang Module Requirement . . . . . . . . . . . . . . . . . 3 57 2.1. VTN Creation . . . . . . . . . . . . . . . . . . . . . . 3 58 2.2. VTN Initiation . . . . . . . . . . . . . . . . . . . . . 4 59 2.3. VTN Traffic Steering . . . . . . . . . . . . . . . . . . 4 60 3. VTN Yang Module Tree . . . . . . . . . . . . . . . . . . . . 5 61 4. VTN Yang Module . . . . . . . . . . . . . . . . . . . . . . . 6 62 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 63 6. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 10 64 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 65 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 66 7.2. Informative References . . . . . . . . . . . . . . . . . 12 67 Appendix A. An Appendix . . . . . . . . . . . . . . . . . . . . 12 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 70 1. Introduction 72 [I-D.ietf-teas-ietf-network-slice-definition] defines IETF network 73 slices that provide connectivity coupled with network resources 74 commitment between a number of endpoints over a shared network 75 infrastructure. 77 Enhanced VPN (VPN+) aims to provide enhancements to existing VPN 78 services to support network slicing. VPN+ is composed of a VPN 79 overlay and an underlying Virtual Transport Network (VTN) which has a 80 customized network topology and a set of dedicated or shared 81 resources in the underlay network. VPN+ and VTN are defined in 82 [I-D.ietf-teas-enhanced-vpn]. 84 [I-D.dong-teas-enhanced-vpn-vtn-scalability] describes the 85 scalability considerations in the control plane and data plane to 86 enable VPN+ services. In control plane, decoupling the topology and 87 resource attributes of VTN allows that multiple VTNs share the same 88 topology. In data plane, a global VTN-ID in the data packet is used 89 to determine the set of resources reserved for the corresponding VTN. 91 This document defines the configuration yang model for scalable VTN 92 solution. 94 2. VTN Yang Module Requirement 96 The general process of VTN configuration includes: 98 1. Creat VTN instance based on the network slice requirement 100 2. Configure the overlay network to initiate VTN in the network 102 3. Steer the traffic to the corresponding VTN to provide network 103 slice service 105 The corresponding requirement of VTN configuration data model during 106 the process is defined in this section. 108 2.1. VTN Creation 110 After collecting information about the underlying network topology 111 and available resources. Each VTN can have a customized topology and 112 a set of network resources allocated. Flexible combination is 113 allowed when multiple VTNs may shared the same topology, or multiple 114 VTNs may share the same set of network resources. 116 VTN is created with the following attributes: 118 o VTN Topology: Based on the existing work in IETF, topology 119 specification for VTN could be implemented by Multi-Topology 120 Routing (MTR) which defined in [RFC4915], [RFC5120], or Flex-algo 121 which is defined in [I-D.ietf-lsr-flex-algo]. Correspondingly, 122 the topology attribute of a VTN could be determined by MT-ID or 123 algorithm ID; Signaling extensions for VTN topology is defined in 124 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] and 125 [I-D.ietf-lsr-isis-sr-vtn-mt] respectively. 127 o Network Resource: network resource is allocated for VTN based on 128 the requirement. For example, VTN could be bound with a layer 2 129 sub-interface with a subset of the link bandwidth. 131 o VTN Data Plane Identifier: VTN data plane identifier is uesed to 132 identify network resource that has been allocated for the VTN. 133 VTN data plane identifier depends on the encapsulation type of the 134 traffic, for example IPv6 defined in 135 [I-D.dong-6man-enhanced-vpn-vtn-id]. VTN data plane identifier is 136 not mandatory when there are other methods to distinguish VTN 137 instances. 139 2.2. VTN Initiation 141 VTN initiation in the network also includes two aspects: resource 142 allocation and traffic steering through VTN specified topology. 143 Resource allocation is defined in this section and traffic steering 144 is defined in the next section. 146 Several technologies could be used for resource allocation in the 147 network device, for example: TSN defined in IEEE 802.1 introduces the 148 concept of time aware shaping; FlexE provides the ability to 149 multiplex multiple channels over one or more Ethernet links; Existing 150 Diffserv scheduling/shaping allow the construction of virtual sub- 151 interfaces. All these technologies could be used to dedicated 152 resource in a shared physical interface. 154 The configuration of these technologies play the role of VTN 155 initiation when the allocated resource is bound with a specified VTN 156 instance. 158 2.3. VTN Traffic Steering 160 Just as color in SR policy defined in 161 [I-D.ietf-spring-segment-routing-policy], color is defined as an 162 attribute of VTN to steer the traffic. 164 With SR policy, traffic could be steered into a SR policy by : 166 o SR policy with color is provisioned to the headend; 168 o The route with some particular color matchs the SR policy with the 169 corresponding color, which could satisfy the requirement of the 170 route 172 o Traffic with the route is steered into the SR policy; 174 Similarly, traffic could be steered into VTN by: 176 o VTN is configured with the attribute of color; 178 o The route with some particular color matchs VTN with the 179 correponding color, which could satisfy the requirement of the 180 route 182 o Traffic with the route is steered to the VTN 184 SR policy could also be bound with VTN to provide resource 185 reservation in the network. BGP SR Policy extensions for VTN is 186 defined in [I-D.dong-idr-sr-policy-vtn] and similarly, YANG model 187 which is used to bound SR policy to a specified VTN is defined in 188 this document by: 190 o SR policy with color is provisioned to the headend; The preferred 191 candidate path is bound to VTN; 193 o The route with some particular color matchs the SR policy with the 194 corresponding color, which could satisfy the requirement of the 195 route 197 o Traffic with the route is steered into the SR policy; Packet is 198 encapsulated with the VTN data plane identifier. 200 3. VTN Yang Module Tree 202 module: ietf-vtn 203 +--rw vtn-instance 204 | +--rw vtn-instance* [vtn-id] 205 | +--rw vtn-id uint32 206 | +--rw vtn-topology 207 | | +--rw (vtn-topolgy-type)? 208 | | +--:(flex-algo) 209 | | | +--rw flex-algo 210 | | | +--rw flex-algo-id? uint32 211 | | +--:(multi-topology) 212 | | +--rw multi-topology-id? uint32 213 | +--rw vtn-data-plane-identifier? uint32 214 +--rw sr-policy-extension 215 +--rw vtn 216 +--rw vtn-id? uint32 218 augment /if:interfaces/if:interface: 219 +--rw interface-configuration-for-vtn 220 +--rw (vtn-interface-binding-type)? 221 +--:(layer-2-sub-interface) 222 | +--rw layer-2-sub-interface 223 | +--rw sub-interface-id? uint32 224 | +--rw vtn-id? uint32 225 | +--rw bandwidth? uint32 226 +--:(queue) 227 +--rw queue 228 +--rw queue-id? uint32 229 +--rw vtn-id? uint32 230 +--rw bandwidth? uint32 231 augment /ni:network-instances/ni:network-instance: 232 +--rw vtn-traffic-steering 233 +--rw color-index? uint32 234 +--rw vtn-id? uint32 236 4. VTN Yang Module 238 module ietf-vtn { 239 yang-version 1.1; 240 namespace "urn:ietf:params:xml:ns:yang:ietf-vtn"; 241 prefix "ietf-vtn"; 243 import ietf-inet-types { 244 prefix "inet"; 245 } 247 import ietf-routing { 248 prefix "rt"; 249 } 251 import ietf-routing-types { 252 prefix "rt-types"; 253 } 255 import ietf-yang-types { 256 prefix "yang"; 257 } 259 import ietf-interfaces { 260 prefix "if"; 261 } 263 import ietf-network-instance { 264 prefix "ni"; 265 } 267 organization "IETF TEAS Working Group"; 269 contact 270 " 271 WG Web: 272 WG List: 274 Editor: Xuesong Geng 275 276 Editor: Zhibo Hu 277 278 "; 280 description 281 "This YANG module defines a data model for VTN(Virtual Transport Network)"; 283 revision "2021-04-14" { 284 description 285 "This is the initial version of VTN yang module"; 286 reference 287 "RFC XXX: YANG Data Model for VTN"; 288 } 290 grouping vtn-instances{ 291 description 292 "VTN instances"; 293 list vtn-instance { 294 key "vtn-id"; 295 description 296 "vtn instance list"; 297 leaf vtn-id { 298 type uint32; 299 description 300 "vtn-id"; 301 } 302 container vtn-topology { 303 description 304 "vtn topology is nt"; 305 choice vtn-topolgy-type{ 306 description 307 "customized topology of VTN"; 308 case flex-algo { 309 container flex-algo { 310 description 311 "flex-algo could be used as topology specification for VTN"; 312 leaf flex-algo-id { 313 type uint32; 314 description 315 "flex-algo-id for VTN"; 316 } 317 } 318 } 319 case multi-topology { 320 description 321 "MT could be used as topology specification for VTN"; 322 leaf multi-topology-id{ 323 type uint32; 324 description 325 "MT-id for VTN"; 326 } 327 } 328 } 329 } 330 leaf vtn-data-plane-identifier { 331 type uint32; 332 description 333 "VTN identifier of data plane for vtn distinguishment"; 334 } 335 } 336 } 338 grouping interface-configuration-for-vtn{ 339 description 340 "interface configuration for vtn"; 341 container interface-configuration-for-vtn { 342 description 343 "interface configuration for vtn"; 344 choice vtn-interface-binding-type{ 345 description 346 "vtn interface binding type"; 347 case layer-2-sub-interface { 348 description 349 "vtn is bound to a layer-2 sub-interface"; 350 container layer-2-sub-interface { 351 description 352 "sub-interface configuration"; 353 leaf sub-interface-id { 354 type uint32; 355 description 356 "sub-interface id"; 357 } 358 leaf vtn-id { 359 type uint32; 360 description 361 "vtn-id"; 362 } 363 leaf bandwidth { 364 type uint32; 365 description 366 "bandwidth allocation for the slice"; 367 } 368 } 369 } 370 case queue { 371 description 372 "vtn is bound to a queue in the interface"; 373 container queue { 374 description 375 "queue configuration"; 376 leaf queue-id { 377 type uint32; 378 description 379 "queue id"; 381 } 382 leaf vtn-id { 383 type uint32; 384 description 385 "queue id"; 386 } 387 leaf bandwidth { 388 type uint32; 389 description 390 "bandwidth allocation for the slice"; 391 } 392 } 393 } 394 } 395 } 396 } 398 grouping sr-policy-traffic-steering{ 399 container vtn{ 400 description 401 "candidata path is bound to VTN"; 402 leaf vtn-id{ 403 type uint32; 404 description 405 "vtn"; 406 } 407 } 408 } 410 grouping vtn-traffic-steering{ 411 container vtn-traffic-steering { 412 leaf color-index { 413 type uint32; 414 description 415 "color index"; 416 } 417 leaf vtn-id { 418 type uint32; 419 description 420 "vtn id"; 421 } 422 } 423 } 425 container vtn-instance { 426 description 427 "vtn instance configuraiton"; 428 uses vtn-instances; 430 } 432 augment "/if:interfaces/if:interface" { 433 description 434 "interface model extension for vtn"; 435 uses interface-configuration-for-vtn; 437 } 439 augment /ni:network-instances/ni:network-instance{ 440 description 441 "network instance model extension for vtn"; 442 uses vtn-traffic-steering; 443 } 445 container sr-policy-extension { 446 description 447 "sr policy extension for vtn"; 448 uses sr-policy-traffic-steering; 449 } 451 } 453 5. IANA Considerations 455 This document makes no request of IANA. 457 Note to RFC Editor: this section may be removed on publication as an 458 RFC. 460 6. Contributor 462 Zhenbin Li 463 Huawei 465 Email: lizhenbin@huawei.com 467 Jie Dong 468 Huawei 470 Email: jie.dong@huawei.com 472 7. References 473 7.1. Normative References 475 [I-D.dong-6man-enhanced-vpn-vtn-id] 476 Dong, J., Li, Z., Xie, C., and C. Ma, "Carrying Virtual 477 Transport Network Identifier in IPv6 Extension Header", 478 draft-dong-6man-enhanced-vpn-vtn-id-02 (work in progress), 479 November 2020. 481 [I-D.dong-idr-sr-policy-vtn] 482 Dong, J., Hu, Z., and R. Pang, "BGP SR Policy Extensions 483 for Virtual Transport Network", draft-dong-idr-sr-policy- 484 vtn-00 (work in progress), October 2020. 486 [I-D.dong-teas-enhanced-vpn-vtn-scalability] 487 Dong, J., Li, Z., Qin, F., and G. Yang, "Scalability 488 Considerations for Enhanced VPN (VPN+)", draft-dong-teas- 489 enhanced-vpn-vtn-scalability-01 (work in progress), 490 November 2020. 492 [I-D.ietf-lsr-flex-algo] 493 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 494 A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- 495 algo-13 (work in progress), October 2020. 497 [I-D.ietf-lsr-isis-sr-vtn-mt] 498 Xie, C., Ma, C., Dong, J., and Z. Li, "Using IS-IS Multi- 499 Topology (MT) for Segment Routing based Virtual Transport 500 Network", draft-ietf-lsr-isis-sr-vtn-mt-00 (work in 501 progress), March 2021. 503 [I-D.ietf-spring-segment-routing-policy] 504 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 505 P. Mattes, "Segment Routing Policy Architecture", draft- 506 ietf-spring-segment-routing-policy-09 (work in progress), 507 November 2020. 509 [I-D.ietf-teas-enhanced-vpn] 510 Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A 511 Framework for Enhanced Virtual Private Networks (VPN+) 512 Service", draft-ietf-teas-enhanced-vpn-06 (work in 513 progress), July 2020. 515 [I-D.ietf-teas-ietf-network-slice-definition] 516 Rokui, R., Homma, S., Makhijani, K., Contreras, L., and J. 517 Tantsura, "Definition of IETF Network Slices", draft-ietf- 518 teas-ietf-network-slice-definition-00 (work in progress), 519 January 2021. 521 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] 522 Zhu, Y., Dong, J., and Z. Hu, "Using Flex-Algo for Segment 523 Routing based VTN", draft-zhu-lsr-isis-sr-vtn-flexalgo-01 524 (work in progress), September 2020. 526 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 527 Requirement Levels", BCP 14, RFC 2119, 528 DOI 10.17487/RFC2119, March 1997, 529 . 531 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 532 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 533 RFC 4915, DOI 10.17487/RFC4915, June 2007, 534 . 536 [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi 537 Topology (MT) Routing in Intermediate System to 538 Intermediate Systems (IS-ISs)", RFC 5120, 539 DOI 10.17487/RFC5120, February 2008, 540 . 542 7.2. Informative References 544 [InfRef] , 2004. 546 Appendix A. An Appendix 548 Authors' Addresses 550 Xuesong Geng 551 Huawei 553 Email: gengxuesong@huawei.com 555 Zhibo Hu 556 Huawei 558 Email: huzhibo@huawei.com