idnits 2.17.1 draft-wd-teas-vtn-network-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 : ---------------------------------------------------------------------------- ** There are 3 instances of too long lines in the document, the longest one being 4 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 date (June 6, 2021) is 1055 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'I-D.ietf-spring-segment-routing-policy' is defined on line 856, but no explicit reference was found in the text == Unused Reference: 'I-D.zhu-lsr-isis-sr-vtn-flexalgo' is defined on line 867, but no explicit reference was found in the text == Outdated reference: A later version (-06) exists of draft-dong-6man-enhanced-vpn-vtn-id-03 == Outdated reference: A later version (-01) exists of draft-dong-idr-sr-policy-vtn-00 == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-15 == 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-11 == Outdated reference: A later version (-07) exists of draft-zhu-lsr-isis-sr-vtn-flexalgo-02 == Outdated reference: A later version (-04) exists of draft-dong-teas-enhanced-vpn-vtn-scalability-02 == Outdated reference: A later version (-17) exists of draft-ietf-teas-enhanced-vpn-07 == Outdated reference: A later version (-25) exists of draft-ietf-teas-ietf-network-slices-00 == Outdated reference: A later version (-02) exists of draft-li-teas-e2e-ietf-network-slicing-00 Summary: 1 error (**), 0 flaws (~~), 13 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group B. Wu 3 Internet-Draft D. Dhody 4 Intended status: Experimental Huawei Technologies 5 Expires: December 8, 2021 June 6, 2021 7 A VTN Network YANG Module 8 draft-wd-teas-vtn-network-yang-00 10 Abstract 12 This document defines a virtual transport network (VTN) network YANG 13 module for retrieving and manipulating VTN topology and resource 14 allocation. The model can be used to implement the provisioning of 15 IETF network slice services. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on December 8, 2021. 34 Copyright Notice 36 Copyright (c) 2021 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Conventions used in this document . . . . . . . . . . . . . . 3 53 2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 54 3. VTN Network Yang Module Consideration . . . . . . . . . . . . 3 55 3.1. VTN Operation . . . . . . . . . . . . . . . . . . . . . . 6 56 3.2. VTN Network Modeling Design . . . . . . . . . . . . . . . 7 57 4. Description of the VTN Network YANG Module . . . . . . . . . 7 58 5. VTN Yang Module Tree . . . . . . . . . . . . . . . . . . . . 8 59 6. VTN Yang Module . . . . . . . . . . . . . . . . . . . . . . . 10 60 7. Security Considerations . . . . . . . . . . . . . . . . . . . 18 61 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 62 9. Contributor . . . . . . . . . . . . . . . . . . . . . . . . . 19 63 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 64 10.1. Normative References . . . . . . . . . . . . . . . . . . 19 65 10.2. Informative References . . . . . . . . . . . . . . . . . 21 66 Appendix A. Example VTN Network Model . . . . . . . . . . . . . 22 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 69 1. Introduction 71 [I-D.ietf-teas-ietf-network-slices] defines IETF network slice 72 services that provide connectivity coupled with network resources 73 commitment between a number of endpoints over a shared network 74 infrastructure, and also defines the IETF Network Slice controller 75 (NSC) to realize the network slice services by mapping it to a 76 suitable underlying technology. 78 [I-D.ietf-teas-enhanced-vpn] describes that enhanced VPN (VPN+) 79 services can be used to realize IETF network slice services. To 80 improve service scalability, The virtual transport network (VTN), 81 which has a customized network topology and a group of dedicated or 82 shared nodes and links of the physical network, is introduced for 83 multiple VPN+ services with similar connection and SLA requirements. 84 For the control and management of these VTN resources, 85 [I-D.dong-teas-enhanced-vpn-vtn-scalability] gives a detailed 86 analysis and description. 88 This document defines VTN network model that the NSC can use to 89 create and manage VTN instances to realize the network slicing 90 services. According to the YANG model classification of [RFC8309], 91 VTN network model is a network configuration model. 93 2. Conventions used in this document 95 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 96 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 97 "OPTIONAL" in this document are to be interpreted as described in 98 BCP14, [RFC2119], [RFC8174] when, and only when, they appear in all 99 capitals, as shown here. 101 The following terms are defined in [RFC6241] and are used in this 102 specification: 104 o configuration data 106 o state data 108 The following terms are defined in [RFC7950] and are used in this 109 specification: 111 o augment 113 o data model 115 o data node 117 The terminology for describing YANG data models is found in 118 [RFC7950]. 120 2.1. Tree Diagrams 122 The tree diagram used in this document follows the notation defined 123 in [RFC8340]. 125 3. VTN Network Yang Module Consideration 127 To realize the IETF Network Slice based on the reference framework 128 defined in [I-D.ietf-teas-ietf-network-slices] , the Figure 1 shows 129 an approach with VPN network model and VTN network YANG module. 131 +------------------------------------------+ 132 | Customer | 133 | | 134 +------------------------------------------+ 135 A 136 | NSC NBI 137 V 138 +------------------------------------------+ 139 | IETF Network Slice Controller (NSC) | 140 +------------------------------------------+ 141 A 142 LxNM model | NSC SBI VTN network module 143 V VTN as VPN underlay 144 +------------------------------------------+ 145 | Network Controller(s) | 146 +------------------------------------------+ 147 A 148 Device model | VTN device model 149 V 150 +------------------------------------------------+ 151 Network 153 Figure 1: Reference Module Use Case 155 The VTN network model can be used in the following ways: 157 o Static VTN configuration: A VTN instance can be created before 158 processing IETF Network Slice service request by a network 159 controller. 161 o Dynamic VTN configuration: A VTN instance can be initiated along 162 with configuring IETF Network Slice service request by a network 163 controller. 165 In the process of realizing an IETF network slice service, when 166 creating a Layer 3 VPN or Layer 2 VPN instance, The NSC can use a 167 static VTN instance or dynamically create one as the VPN underlay 168 transport. Compared with existing VPN underlying full mesh tunneling 169 mechanisms, the VTN could provide resource isolation, topology 170 constraints, and simplified configuration. Additionally, specific 171 service flows of a VPN can be further optimized using SR policies 172 defined in [I-D.dong-idr-sr-policy-vtn]. 174 And also in multi-domain network slicing cases, instead of mapping 175 the overlay VPN to the intra-domain VTNs at the edge of each domain, 176 an inter-domain VTN could be used directly for inter-domain 177 interconnection, which is described in 179 [I-D.li-teas-e2e-ietf-network-slicing] . The network controller 180 serving the transit domain can only manage the VTNs. A 5G end-to-end 181 network slicing scenario is shown in the following figure. 183 /----\ /----\ /----\ /----\ /----\ 184 / \ // \\ // \\ // \\ / \ 185 | RAN |---| NW-1 |---| NW-2 |----| NW-3 |----| Core | 186 \ / \\ // \\ // \\ // \ / 187 \----/ \----/ \----/ \----/ \----/ 189 S-NSSAI 190 o--------------------------------------------------------------------o 191 IETF Network Slice (VPN+) 192 o--------------------------------------------------o 193 Global VTN 194 o===========================================o 195 Domain VTN-1 Domain VTN-2 Domain VTN-3 196 o************o o************o o***********o 198 5G end-to-end network slicing scenario 200 In addition to providing VTN network configuration, VTN network model 201 also provides monitoring details of the underlying resource created 202 to meet the requirements of IETF network slice service. 204 An example of VTN instances and a physical network is illustrated in 205 Figure 2. 207 ++++ ++++ ++++ 208 +--+===+--+===+--+ 209 +--+===+--+===+--+ 210 ++++ +++\\ ++++ 211 || || \\ || Physical 212 || || \\ || Network 213 ++++ ++++ ++++ \\+++ ++++ 214 + +===+--+===+--+===+--+===+ + 215 + +===+--+===+--+===+--+===+ + 216 ++++ ++++ ++++ ++++ ++++ 217 PE1 PE2 218 | 219 \|/ 221 o----o-----o 222 / / VTN-1 223 o-----o-----o----o----o 225 o----o 226 / / \ VTN-2 227 o-----o----o---o------o 229 ... 231 o----o 232 / / VTN-n 233 o-----o----o----o-----o 235 o is a virtual node 236 --- is a virtual link 238 Figure 2: A VTN example 240 In the example, each VTN instance has a customized network topology 241 comprised of a set of links and nodes in the physical network. In 242 control plane, each VTN is associated with a multi-topology or a 243 Flex-Algo. And it also has its own forwarding plane resources and 244 identifiers which provide VTN-specific packet processing. 246 3.1. VTN Operation 248 There are multiple modes of VTN operations to be supported as 249 follows. 251 o New VTN Binding: In realization, a NSC could request a set of 252 underlay resources that are unaffected by other slice services. A 253 new VTN could be created and bound to a VPN per the network slice 254 service and not used for any other VPNs. 256 o VTN Sharing: A NSC could decide to use allocated underlay 257 resources to meet the requirements of an IETF network slice. 258 Therefore, an existing VTN instance can be reused and multiple 259 VPNs in the VTN instance can share same VTN resources. In some 260 cases, the properties of the existing VTN (e.g., link bandwidth) 261 need modification. 263 o VTN Deletion: If the NSC determines that no VPN service is using a 264 VTN, the NSC can delete the VTN instance. 266 o VTN Monitoring: The NSC could also use the VTN network model to 267 track and monitor VTN resource status and usage. 269 3.2. VTN Network Modeling Design 271 A VTN network is modeled as network topology defined in [RFC8345] 272 with augmentations. A new network type "vtn" is defined in this 273 document. When a network topology data instance contains the vtn 274 network type, it represents an instance of a VTN. 276 Each VTN consists of a set of nodes and a set of links. Each node 277 and link have different attributes that represent the allocated 278 resources or the operational status of the VTN network. VTN supports 279 several resource partition methods, which are defined by 'interface- 280 partition-capability'' under a link, which can further be supported 281 by FlexE and independent queue techniques. 283 The container "vtn" under 'network' of [RFC8345] defines global 284 parameters for a VTN, which defines the specific control plane 285 technique of the VTN and a unique "vtn-data-plane identifier" for 286 data plane. And also, a color attribute for steering traffic, such 287 as VPN traffic, into a VTN is also defined. 289 4. Description of the VTN Network YANG Module 291 The description of the VTN data nodes are as follows: 293 o "vtn-id": Is an identifier that is used to uniquely identify the 294 VTN instance within the network scope. 296 o VTN allocation resources: The nodes and links represent the 297 network resource allocated for a VTN instance. 'bandwidth- 298 reservation' specifies the bandwidth allocated to a VTN network, 299 or is overridden by the configuration of the VTN link. 301 'interface-partition-capability' specifies the resource partition 302 capability of the physical interfaces associated with a VTN link. 304 o VTN control plane: Based on the existing work in IETF, control 305 plane mechanism of VTN could be implemented by Multi-Topology 306 Routing (MTR) which defined in [RFC4915], [RFC5120], and 307 [I-D.ietf-lsr-isis-sr-vtn-mt] or Flex-algo which is defined in 308 [I-D.ietf-lsr-flex-algo]. With these control plane technologies, 309 VTN nodes of each VTN instance will create their own VTN-specific 310 forwarding tables. 312 o VTN data plane: Defines the data plane mechanism and the VTN 313 identifier of the network domain managed by the network 314 controller. The data plane mechanism could be baed on MPLS or 315 IPv6 forwarding. "vtn-domain-identifier" is used to identify 316 network resource of data plane that has been allocated for the 317 VTN. In the case of IPv6 based forwarding, VTN data plane 318 identifier is defined in [I-D.dong-6man-enhanced-vpn-vtn-id]. If 319 a network slice service traverses multiple network domains, a 320 global VTN identifier across the domains may be defined. For 321 example, [I-D.li-6man-e2e-ietf-network-slicing] defines a IPv6 322 extension header to carry the global VTN identifier. 324 o VTN steering policy: "vtn-color-id" is the color attribute of VTN 325 for traffic steering. 327 5. VTN Yang Module Tree 328 module: ietf-vtn-ntw 329 augment /nw:networks/nw:network/nw:network-types: 330 +--rw vtn! 331 augment /nw:networks/nw:network: 332 +--rw vtn 333 +--rw vtn-id? uint32 334 +--rw vtn-name? string 335 +--rw bandwidth-reservation 336 | +--rw (bandwidth-type)? 337 | +--:(bandwidth-value) 338 | | +--rw bandwidth-value? uint64 339 | +--:(bandwidth-percentage) 340 | +--rw bandwidth-percent? rt-types:percentage 341 +--rw control-plane 342 | +--rw (vtn-cp-type)? 343 | +--:(flex-algo) 344 | | +--rw flex-algo 345 | | +--rw flex-algo-id? uint32 346 | +--:(multi-topology) 347 | +--rw multi-topology-id? uint32 348 +--rw data-plane 349 | +--rw vtn-global-identifier? uint32 350 | +--rw domain-data-plane 351 | +--rw data-plane-type? identityref 352 | +--rw vtn-domain-identifier? uint32 353 +--rw steering-policy 354 +--rw vtn-color-id? uint32 355 augment /nw:networks/nw:network/nw:node: 356 +--rw vtn 357 augment /nw:networks/nw:network/nt:link: 358 +--rw vtn 359 | +--rw interface-partition-capability? identityref 360 | +--rw bandwidth-reservation 361 | +--rw (bandwidth-type)? 362 | +--:(bandwidth-value) 363 | | +--rw bandwidth-value? uint64 364 | +--:(bandwidth-percentage) 365 | +--rw bandwidth-percent? rt-types:percentage 366 +--ro statistics 367 +--ro admin-status? te-types:te-admin-status 368 +--ro oper-status? te-types:te-oper-status 369 +--ro one-way-available-bandwidth? rt-types:bandwidth-ieee-float32 370 +--ro one-way-utilized-bandwidth? rt-types:bandwidth-ieee-float32 371 +--ro one-way-min-delay? uint32 372 +--ro one-way-max-delay? uint32 373 +--ro one-way-delay-variation? uint32 374 +--ro one-way-packet-loss? decimal64 376 6. VTN Yang Module 378 file "ietf-vtn-ntw@2021-06-04.yang" 380 module ietf-vtn-ntw { 381 yang-version 1.1; 382 namespace "urn:ietf:params:xml:ns:yang:ietf-vtn-ntw"; 383 prefix vtn-ntw; 385 import ietf-network { 386 prefix nw; 387 reference 388 "RFC 8345: A YANG Data Model for Network Topologies"; 389 } 390 import ietf-network-topology { 391 prefix nt; 392 reference 393 "RFC 8345: A YANG Data Model for Network Topologies"; 394 } 395 import ietf-routing-types { 396 prefix rt-types; 397 reference 398 "RFC 8294: Common YANG Data Types for the Routing Area"; 399 } 400 import ietf-te-types { 401 prefix te-types; 402 reference 403 "RFC 8776: Traffic Engineering Common YANG Types"; 404 } 405 import ietf-te-packet-types { 406 prefix te-packet-types; 407 reference 408 "RFC 8776: Traffic Engineering Common YANG Types"; 409 } 411 organization 412 "IETF TEAS Working Group"; 413 contact 414 " 415 WG Web: 416 WG List: 418 Editor: Bo Wu 419 : Dhruv Dhody "; 420 description 421 "This YANG module defines a network data module for 422 VTN(Virtual Transport Network)"; 424 revision 2021-06-04 { 425 description 426 "This is the initial version of VTN network yang module"; 427 reference 428 "RFC XXX: YANG Data module for VTN network"; 429 } 431 identity interface-partition-capability { 432 description 433 "Base identity for interface partition capability."; 434 } 436 identity flexe-partition { 437 base interface-partition-capability; 438 description 439 "Identity for FlexE partition capability."; 440 } 442 identity queue-partition { 443 base interface-partition-capability; 444 description 445 "Identity for queue partition capability."; 446 } 448 identity vtn-data-plane-type { 449 description 450 "Base identity for VTN data plane type."; 451 } 453 identity vtn-data-plane-vtn-ipv6 { 454 base vtn-data-plane-type; 455 description 456 "Identity for VTN based packet forwarding of IPv6."; 457 } 459 identity vtn-data-plane-vtn-mpls { 460 base vtn-data-plane-type; 461 description 462 "Identity for VTN based packet forwarding of MPLS."; 463 } 465 identity vtn-data-plane-sr-mpls { 466 base vtn-data-plane-type; 467 description 468 "Identity for SR MPLS forwarding mechanism."; 469 } 471 identity vtn-data-plane-srv6 { 472 base vtn-data-plane-type; 473 description 474 "Identity for SRv6 forwarding mechanism."; 475 } 477 /* 478 * Groupings 479 */ 481 grouping traffic-steering-policy { 482 description 483 "Configuration of the traffic mapping policy."; 484 container steering-policy { 485 description 486 "Policy set that matches to a VTN."; 487 leaf vtn-color-id { 488 type uint32; 489 description 490 "VTN color ID for VTN traffic steering"; 491 } 492 } 493 } 495 grouping vtn-bandwidth-reservation { 496 description 497 "Grouping for VTN bandwidth reservation."; 498 container bandwidth-reservation { 499 description 500 "Container for VTN bandwidth reservation."; 501 choice bandwidth-type { 502 description 503 "Choice of bandwidth reservation type."; 504 case bandwidth-value { 505 leaf bandwidth-value { 506 type uint64; 507 units "bps"; 508 description 509 "Bandwidth allocation for the VTN as absolute value."; 510 } 511 } 512 case bandwidth-percentage { 513 leaf bandwidth-percent { 514 type rt-types:percentage; 515 description 516 "Bandwidth allocation for the VTN as a percentage of a link."; 517 } 518 } 519 } 521 } 522 } 524 grouping vtn-control-plane-attributes { 525 description 526 "VTN topology control plane attributes."; 527 container control-plane { 528 description 529 "vtn control plane mechanism."; 530 choice vtn-cp-type { 531 description 532 "Choice of vtn control plane."; 533 case flex-algo { 534 container flex-algo { 535 description 536 "A VTN could use flex-algo as a control plane 537 mechanism."; 538 leaf flex-algo-id { 539 type uint32; 540 description 541 "flex-algo-id for VTN"; 542 } 543 } 544 } 545 case multi-topology { 546 description 547 "A VTN could use MT (Multi-Topology) as a control 548 plane mechanism."; 549 leaf multi-topology-id { 550 type uint32; 551 description 552 "MT-id for VTN"; 553 } 554 } 555 } 556 } 557 } 559 grouping vtn-data-plane-attributes { 560 description 561 "Grouping for VTN topology data plane attributes."; 562 container data-plane { 563 description 564 "VTN data plane mechanism."; 565 leaf vtn-global-identifier { 566 type uint32; 567 description 568 "The global VTN identifier for multi-domain is specified."; 570 } 571 container domain-data-plane { 572 description 573 "VTN data plane mechanism per network domain."; 574 leaf data-plane-type { 575 type identityref { 576 base vtn-data-plane-type; 577 } 578 description 579 "Specifies the data plane forwarding mechanism of the VTN. 580 The mechanism consists of VTN based Packet Forwarding or 581 existing Segment Routing with MPLS data plane or IPv6 data 582 plane."; 583 } 584 leaf vtn-domain-identifier { 585 type uint32; 586 description 587 "The domain VTN identifier is specified for 588 VTN based Packet Forwarding of a network domain. 589 The forwarding plane could be with 590 the MPLS Data Plane or IPv6"; 591 reference 592 "draft-li-mpls-enhanced-vpn-vtn-id? 593 Carrying Virtual Transport Network identifier 594 in MPLS Packet 595 draft-dong-6man-enhanced-vpn-vtn-id 596 Carrying Virtual Transport Network Identifier 597 in IPv6 Extension Header"; 598 } 599 } 600 } 601 } 603 grouping vtn-topology-attributes { 604 description 605 "VTN topology scope attributes."; 606 container vtn { 607 description 608 "Containing VTN topology attributes."; 609 leaf vtn-id { 610 type uint32; 611 description 612 "VTN identifier"; 613 } 614 leaf vtn-name { 615 type string; 616 description 617 "VTN Name"; 619 } 620 uses vtn-bandwidth-reservation; 621 uses vtn-control-plane-attributes; 622 uses vtn-data-plane-attributes; 623 uses traffic-steering-policy; 624 } 625 // vtn 626 } 628 // vtn-node-attributes 630 grouping vtn-node-attributes { 631 description 632 "VTN node scope attributes."; 633 container vtn { 634 description 635 "Containing VTN attributes."; 636 } 637 } 639 // vtn-node-attributes 641 grouping vtn-link-attributes { 642 description 643 "VTN link scope attributes"; 644 container vtn { 645 description 646 "Containing VTN attributes."; 647 leaf interface-partition-capability { 648 type identityref { 649 base interface-partition-capability; 650 } 651 description 652 "Describes different resource partition type of a link."; 653 } 654 uses vtn-bandwidth-reservation; 655 } 656 } 658 // vtn-statistics 660 grouping statistics-per-vtn { 661 description 662 "Statistics attributes per VTN."; 663 } 665 // vtn-node-statistics 666 grouping statistics-per-node { 667 description 668 "Statistics attributes per VTN node."; 669 } 671 // one-way-performance-metrics 673 grouping one-way-performance-bandwidth { 674 description 675 "Grouping for one-way performance bandwidth ."; 676 leaf one-way-available-bandwidth { 677 type rt-types:bandwidth-ieee-float32; 678 units "bytes per second"; 679 default "0x0p0"; 680 description 681 "Available bandwidth that is defined to be VTN link 682 bandwidth minus bandwidth utilization. For a 683 bundled link, available bandwidth is defined to be the 684 sum of the component link available bandwidths."; 685 } 686 leaf one-way-utilized-bandwidth { 687 type rt-types:bandwidth-ieee-float32; 688 units "bytes per second"; 689 default "0x0p0"; 690 description 691 "Bandwidth utilization that represents the actual 692 utilization of the link (i.e. as measured in the router). 693 For a bundled link, bandwidth utilization is defined to 694 be the sum of the component link bandwidth 695 utilizations."; 696 } 697 } 699 // vtn-link-statistics 701 grouping vtn-statistics-per-link { 702 description 703 "Statistics attributes per VTN link."; 704 container statistics { 705 config false; 706 description 707 "Statistics for VTN link."; 708 leaf admin-status { 709 type te-types:te-admin-status; 710 description 711 "The administrative state of the link."; 712 } 713 leaf oper-status { 714 type te-types:te-oper-status; 715 description 716 "The current operational state of the link."; 717 } 718 uses one-way-performance-bandwidth; 719 uses te-packet-types:one-way-performance-metrics-packet; 720 } 721 } 723 augment "/nw:networks/nw:network/nw:network-types" { 724 description 725 "Defines the VTN topology type."; 726 container vtn { 727 presence "Indicates VTN topology"; 728 description 729 "Its presence identifies the VTN type."; 730 } 731 } 733 augment "/nw:networks/nw:network" { 734 when 'nw:network-types/vtn-ntw:vtn' { 735 description 736 "Augment only for VTN topology."; 737 } 738 description 739 "Augment VTN configuration and state."; 740 uses vtn-topology-attributes; 741 } 743 augment "/nw:networks/nw:network/nw:node" { 744 when '../nw:network-types/vtn-ntw:vtn' { 745 description 746 "Augment only for VTN topology."; 747 } 748 description 749 "Augment node configuration and state."; 750 uses vtn-node-attributes; 751 } 753 augment "/nw:networks/nw:network/nt:link" { 754 when '../nw:network-types/vtn-ntw:vtn' { 755 description 756 "Augment only for VTN topology."; 757 } 758 description 759 "Augment link configuration and state."; 760 uses vtn-link-attributes; 761 uses vtn-statistics-per-link; 763 } 764 } 766 768 7. Security Considerations 770 The YANG module defined in this document is designed to be accessed 771 via network management protocols such as NETCONF [RFC6241] or 772 RESTCONF [RFC8040]. The lowest NETCONF layer is the secure transport 773 layer, and the mandatory-to-implement secure transport is Secure 774 Shell (SSH) [RFC6242]. The lowest RESTCONF layer is HTTPS, and the 775 mandatory-to-implement secure transport is TLS [RFC8446]. 777 The NETCONF access control model [RFC8341] provides the means to 778 restrict access for particular NETCONF or RESTCONF users to a 779 preconfigured subset of all available NETCONF or RESTCONF protocol 780 operations and content. 782 There are a number of data nodes defined in this YANG module that are 783 writable/creatable/deletable (i.e., config true, which is the 784 default). These data nodes may be considered sensitive or vulnerable 785 in some network environments. Write operations (e.g., edit-config) 786 to these data nodes without proper protection can have a negative 787 effect on network operations. 789 vtn-link: A malicious client could attempt to remove a link from a 790 topology, add a new link. In each case, the structure of the 791 topology would be sabotaged, and this scenario could, for example, 792 result in an VTN topology that is less than optimal. 794 The entries in the nodes above include the whole network 795 configurations corresponding with the VTN, and indirectly create or 796 modify the PE or P device configurations. Unexpected changes to 797 these entries could lead to service disruption and/or network 798 misbehavior. 800 8. IANA Considerations 802 This document registers a URI in the IETF XML registry [RFC3688]. 803 Following the format in [RFC3688], the following registration is 804 requested to be made: 806 URI: urn:ietf:params:xml:ns:yang:ietf-vtn-ntw 807 Registrant Contact: The IESG. 808 XML: N/A, the requested URI is an XML namespace. 810 This document requests to register a YANG module in the YANG Module 811 Names registry [RFC7950]. 813 Name: ietf-vtn-ntw 814 Namespace: urn:ietf:params:xml:ns:yang:ietf-vtn-ntw 815 Prefix: vtn-ntw 816 Reference: RFC XXXX 818 9. Contributor 820 Zhenbin Li 821 Huawei 823 Email: lizhenbin@huawei.com 825 Jie Dong 826 Huawei 828 Email: jie.dong@huawei.com 830 10. References 832 10.1. Normative References 834 [I-D.dong-6man-enhanced-vpn-vtn-id] 835 Dong, J., Li, Z., Xie, C., and C. Ma, "Carrying Virtual 836 Transport Network Identifier in IPv6 Extension Header", 837 draft-dong-6man-enhanced-vpn-vtn-id-03 (work in progress), 838 February 2021. 840 [I-D.dong-idr-sr-policy-vtn] 841 Dong, J., Hu, Z., and R. Pang, "BGP SR Policy Extensions 842 for Virtual Transport Network", draft-dong-idr-sr-policy- 843 vtn-00 (work in progress), October 2020. 845 [I-D.ietf-lsr-flex-algo] 846 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 847 A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- 848 algo-15 (work in progress), April 2021. 850 [I-D.ietf-lsr-isis-sr-vtn-mt] 851 Xie, C., Ma, C., Dong, J., and Z. Li, "Using IS-IS Multi- 852 Topology (MT) for Segment Routing based Virtual Transport 853 Network", draft-ietf-lsr-isis-sr-vtn-mt-00 (work in 854 progress), March 2021. 856 [I-D.ietf-spring-segment-routing-policy] 857 Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and 858 P. Mattes, "Segment Routing Policy Architecture", draft- 859 ietf-spring-segment-routing-policy-11 (work in progress), 860 April 2021. 862 [I-D.li-6man-e2e-ietf-network-slicing] 863 Li, Z. and J. Dong, "Encapsulation of End-to-End IETF 864 Network Slice Information in IPv6", draft-li-6man-e2e- 865 ietf-network-slicing-00 (work in progress), April 2021. 867 [I-D.zhu-lsr-isis-sr-vtn-flexalgo] 868 Zhu, Y., Dong, J., and Z. Hu, "Using Flex-Algo for Segment 869 Routing based VTN", draft-zhu-lsr-isis-sr-vtn-flexalgo-02 870 (work in progress), February 2021. 872 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 873 Requirement Levels", BCP 14, RFC 2119, 874 DOI 10.17487/RFC2119, March 1997, 875 . 877 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 878 DOI 10.17487/RFC3688, January 2004, 879 . 881 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 882 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 883 RFC 4915, DOI 10.17487/RFC4915, June 2007, 884 . 886 [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi 887 Topology (MT) Routing in Intermediate System to 888 Intermediate Systems (IS-ISs)", RFC 5120, 889 DOI 10.17487/RFC5120, February 2008, 890 . 892 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 893 and A. Bierman, Ed., "Network Configuration Protocol 894 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 895 . 897 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 898 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 899 . 901 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 902 RFC 7950, DOI 10.17487/RFC7950, August 2016, 903 . 905 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 906 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 907 . 909 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 910 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 911 May 2017, . 913 [RFC8309] Wu, Q., Liu, W., and A. Farrel, "Service Models 914 Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, 915 . 917 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 918 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 919 . 921 [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration 922 Access Control Model", STD 91, RFC 8341, 923 DOI 10.17487/RFC8341, March 2018, 924 . 926 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 927 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 928 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 929 2018, . 931 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 932 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 933 . 935 10.2. Informative References 937 [I-D.dong-teas-enhanced-vpn-vtn-scalability] 938 Dong, J., Li, Z., Qin, F., Yang, G., and J. N. Guichard, 939 "Scalability Considerations for Enhanced VPN (VPN+)", 940 draft-dong-teas-enhanced-vpn-vtn-scalability-02 (work in 941 progress), February 2021. 943 [I-D.ietf-teas-enhanced-vpn] 944 Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A 945 Framework for Enhanced Virtual Private Network (VPN+) 946 Services", draft-ietf-teas-enhanced-vpn-07 (work in 947 progress), February 2021. 949 [I-D.ietf-teas-ietf-network-slices] 950 Farrel, A., Gray, E., Drake, J., Rokui, R., Homma, S., 951 Makhijani, K., Contreras, L. M., and J. Tantsura, 952 "Framework for IETF Network Slices", draft-ietf-teas-ietf- 953 network-slices-00 (work in progress), April 2021. 955 [I-D.li-teas-e2e-ietf-network-slicing] 956 Li, Z. and J. Dong, "Framework for End-to-End IETF Network 957 Slicing", draft-li-teas-e2e-ietf-network-slicing-00 (work 958 in progress), April 2021. 960 Appendix A. Example VTN Network Model 962 Device could map 964 Authors' Addresses 966 Bo Wu 967 Huawei Technologies 968 101 Software Avenue, Yuhua District 969 Nanjing, Jiangsu 210012 970 China 972 Email: lana.wubo@huawei.com 974 Dhruv Dhody 975 Huawei Technologies 976 Divyashree Techno Park 977 Bangalore, Karnataka 560066 978 India 980 Email: dhruv.ietf@gmail.com