idnits 2.17.1 draft-hares-i2rs-service-topo-dm-06.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 : ---------------------------------------------------------------------------- No issues found here. 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 (February 12, 2016) is 2990 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-i2rs-yang-l3-topology' is defined on line 696, but no explicit reference was found in the text == Outdated reference: A later version (-20) exists of draft-ietf-i2rs-yang-network-topo-02 == Outdated reference: A later version (-16) exists of draft-ietf-i2rs-yang-l3-topology-01 == Outdated reference: A later version (-19) exists of draft-ietf-l3sm-l3vpn-service-model-02 Summary: 0 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 I2RS S. Hares 3 Internet-Draft L. Dunbar 4 Intended status: Standards Track Huawei 5 Expires: August 15, 2016 February 12, 2016 7 A Yang model for I2RS service topology 8 draft-hares-i2rs-service-topo-dm-06.txt 10 Abstract 12 This document defines I2RS protocol-independent service layer virtual 13 topology data model. This data model utilizes the concepts in the 14 generic I2RS topology model of virtual networks (node, links, 15 termination points) and cross-layer topologies. This virtual service 16 topology may be a composite layer created from the combination of 17 protocol-dependent service layers. Protocol-dependent services 18 layers include: L3VPN, L2VPN, EVPN, E-Tree, and others. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on August 15, 2016. 37 Copyright Notice 39 Copyright (c) 2016 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 1.1. Conventions used in this document . . . . . . . . . . . . 2 56 1.2. Base Model: the Service-Topology Component . . . . . . . 3 57 2. High level Yang architecture . . . . . . . . . . . . . . . . 4 58 2.1. Network level . . . . . . . . . . . . . . . . . . . . . . 5 59 2.2. Node level . . . . . . . . . . . . . . . . . . . . . . . 5 60 2.3. Service Link and Termination point . . . . . . . . . . . 6 61 3. Yang Data Model . . . . . . . . . . . . . . . . . . . . . . . 8 62 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 63 5. Security Considerations . . . . . . . . . . . . . . . . . . . 15 64 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 65 6.1. Normative References . . . . . . . . . . . . . . . . . . 15 66 6.2. Informative References . . . . . . . . . . . . . . . . . 16 67 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 69 1. Introduction 71 Service topology in [I-D.ietf-i2rs-yang-network-topo] includes the a 72 virtual topology for a service layer above the L1, L2, and L3 layers. 73 This virtual topology has the generic topology elements of node, 74 link, and terminating point. The virtual service topology is a 75 network-wide topology stored on one routing system which an I2RS 76 agent is connected to. 78 The virtual service topology is a composite summary of the services 79 available services gathered from the lower layer indications of 80 L3VPN, L2VPN, and EVPN services, E-TREE services, Seamless MPLS 81 topologies within an As and others. This is a "bottoms up" yang 82 module providing composite protocol independent service topology 83 based on these protocol services. 85 This "bottoms-up" yang model does provide a mechanism to link this 86 bottoms up model to a top-down service model. One example of a top- 87 down service model for L3 VPNs is the L3 Service yang data model 88 [I-D.ietf-l3sm-l3vpn-service-model]. Although the two models are 89 linked, the top-down service model cannot be derived from the lower 90 layers. 92 1.1. Conventions used in this document 94 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 96 document are to be interpreted as described in RFC2119 [RFC2119]. 98 1.2. Base Model: the Service-Topology Component 100 The following diagram contains an informal graphical depiction of the 101 main elements of the information model: 103 +----------------+ 104 | network | 105 | topology |<... 106 +----------------+ : 107 * * : : 108 | | :...: 109 | | 110 +--------+ +--------+ 111 ...>| node |<.......|link |<... 112 : +--------+<.......+--------+ : 113 : : * : : * : : 114 :..... | : : | :...: 115 | : : | 116 .....>+--------+<........: : | 117 : | TP |<..........: | 118 : ...>+--------+ | 119 : : | 120 : : .....................+---------+ 121 .........................|Direction| 122 +---------+ 124 Figure 1 126 The link between the upper layer and the lower layer occurs by 127 linking the bottoms up service network topologies to Top-down service 128 topologies at certain service nodes to support transport of service 129 across a virtual service link. 131 An example of the top-down service topology link to the bottoms up 132 composite service topology may help. Suppose a bottoms up topology 133 contains a composite of 3 L3VPN network topologies, 2 L2VPN network 134 topologies, and 2 EVPN network topologies. Each of these physical 135 networks can support virtual networks on top of the physical network. 136 The service network base bottoms up is formed topology map with all 137 of these topologies. 139 Suppose an L3SM has three VPN services topologies which support three 140 services over 9 virtual topologies transiting the 2 of the L3VPN 141 networks. 143 o VPN-svc 1: supporting hub-spoke flow for Customer 1 with 2 Cloud 144 identifiers (2 topologies) with connecting the customers access at 145 3 sites 147 o VPN-svc 2: supporting hub-spoke flow disjoint for Customer 2 with 148 2 Cloud identifiers (2 topologies) at 3 sites, 150 o VPN-svc 3: supporting any-to-any flow for Customer 3 with 1 Cloud 151 Identifier (5 topologies) at 3 sites. 153 Let us examine how VPN-svc 1 links to the composite cloud. Let us 154 assume for simplicity of the example that the nodes providing the 155 L3VPN provider equipment (PE) and the customer equipment (CE) at all 156 sites are all unique. The diagram of how the top-down service 157 topology meets the bottom up service topology is shown in figure 159 L3SM topologies 160 Service-topology [VPN-ID:1] 161 / \ 162 cloud 1 topology 1 cloud 2 topology-1 163 / | \ / | \ 164 Site-1A site-1B site1-C site-1A Site-1B Site-1C 165 | | | | | | 166 ====|==========|=======|=======|=========|=====|==== 167 +-------+ | \ / / | 168 Bottoms-up | | \ / / | 169 service | | /\ / | 170 topology | | / \ | | 171 L3VPN-Service-topology 1 L3VPN-Service Topology-2 172 | | | | | | 173 node1 node2 node3 node4 node5 node6 174 PE PE PE PE PE PE 175 | | | | | | 176 CE CE CE CE CE CE 178 Figure 2 180 These two layers of service topologies are by two different composite 181 models composite models and different supporiting models as follows: 183 o Top-Down Provider Services with supporting L3SM model, 185 o Bottom-Up I2RS Composite Services with supporting model from 186 L3VPN, L2VPN, EVPN (only L3VPN used). The links between 187 topologies occur at specific nodes. 189 2. High level Yang architecture 191 This section describes the Yang High level architecture. 193 2.1. Network level 195 The service topology network level defines the following high-level 196 yang architeture: 198 module: i2rs-service-topologies 199 augment /nw:network/nw:network-types: 200 +--rw service-topologies-types 201 augment /nw:network: 202 +--rw service-topology-attributes 203 +--rw name? string 204 +--rw description? string 205 +--rw composite-flag* identity-ref 206 +--rw tdsvc-supports-attributes* 207 [tdsvc-attr-name] 208 +--rw tdsvc-attr-name string 209 +--rw tdsvc-supports-attribute* identityref 211 Note: Composite flags are bottoms-up flags 213 Figure 3 215 The service topology attributes for a network include the following 217 name - name of the service topology, 219 description - description of service topology 221 composite-flags - bit mask with flags of service layer topologies 222 network topology node available to create service topology from. 223 These topologies include: L3VPN, L2VPN, and EVPN services, E-TREE 224 services, Seamless MPLS topologies within an AS and others. 226 tdsvc-supports-attributes - composite topology supports top-down 227 services topology attributes 229 tdsvc-supports-attr-name - name of top-down service attribute 231 tdsvc-supports-attribute - identity ref of service attribute 232 (e.g. L3SM service for any-to-any) 234 2.2. Node level 235 module: i2rs-service-topologies 236 .... 237 augment /nw:network/nw:node 238 +--rw node-service-attributes 239 +--rw c-svc-node-name? inet:domain-name 240 +--rw c-svc-node-flag* identityref; 241 +--rw tdsvc-node-supports-attributes* 242 [tdsvc-node-attr-name] 243 +--rw tdsvc-node-attr-name string; 244 +--rw tdsvc-node-supports-attribute identityref 245 // Top down attributes supported 247 The additional fields in the service attributes are the following: 249 c-svc-node-name - name of network node, 251 c-svc-node-flag - composite service topology node flag. The 252 service node can be a member of one of the existing topology type 253 (L3VPN, L2VPN, EVPN, E-TREE, Seamless MPLS, MPLS-TE, MPLS node, or 254 I2RS created). 256 tdsvc-node-supports-attributes - node supports top-down services 257 topology attributes 259 tdsvc-supports-node-attr-name - name of top-down service 260 attribute 262 tdsvc-supports-node-attribute - identity ref of service 263 attribute (e.g. L3SM service for any-to-any) 265 2.3. Service Link and Termination point 266 augment /nw:network/nt:link: 267 +--rw service-link-attributes 268 +--rw c-svc-link-name? string 269 +--rw c-svc-link-type identityref 270 +--rw c-svc-link-metric? uint32 271 +--rw tdsvc-link-supports-attr* [name] 272 +--rw tdsvc-link-attr-name string 273 +--rw tdsvc-link-attribute identityref 274 augment /nw:network/nw:node/nt:termination-point: 275 +--rw service-termination-point-attributes 276 +--rw svc-tp-name string 277 +--rw svc-tp-type identityref 278 +--rw tdsvc-tp-support-attributes 279 +--rw tdsvc-tp-attr-name 280 +--rw tdsvc-tp-support-attribute 282 The augmentation to the service topology is the service link 283 attributes which include: 285 c-svc-link-name - name of the link, 287 c-svc-link-type - the service link type supported by this logical 288 link. 290 metric - the metric of the service type. This metric allows the 291 composite link to store a svc level metric. 0 = no servic metric. 292 1-n values (1 best, n worse). 294 svc-attributes - the composite attributes of link 296 tdsvc-td-support-attributes - link support of Top-down attributes 298 tdsvc-supports-node-attr-name - name of top-down service 299 attribute 301 tdsvc-supports-node-attribute - identity ref of service 302 attribute (e.g. L3SM service for any-to-any) 304 The augmentation to the termination point include the following 306 svc-tp-name - name of termination point, 308 tp-type - type of link (L3VPN, L2VPN, combined) 310 tdsvc-tp-support-attributes - list of top-level domain-name 311 attributes this links supports. 313 3. Yang Data Model 315 file "ietf-i2rs-service-topology@2016-02-q0.yang" 317 module ietf-i2rs-service-topology{ 318 namespace "urn:ietf:params:xml:ns:yang:ietf-i2rs-service-topology"; 319 prefix i2rs-st; 321 import ietf-inet-types { 322 prefix inet; 323 } 325 import ietf-network { 326 prefix nw; 327 } 328 import ietf-network-topology { 329 prefix "nt"; 330 } 332 organization "IETF"; 333 contact 334 "email: shares@ndzh.com; 335 email: linda.dunbar@huawei.com; 336 "; 338 description 339 "This module defines a model for the service topology. 340 This service model imports 341 - ietf-network and ietf-network-topology from 342 draft-ietf-i2rs-yang-network-topo-02.txt, 343 - ietf-routing from draft-ietf-netmod-routing-cfg, 344 - ietf-l3vpn-svc from 345 draft-ietf-l3sm-l3vpn-service-model. 346 (not defined yet ) 347 "; 349 revision 2016-02-12 { 350 description 351 "Version 1 - initial version; 352 Version 2 - yang format fixed 353 Version 3 - errro in xml file 354 version 4 - remove next-hops attribute. 355 version 5- links to top-level attributes. 356 version 6 - Remove extra parameters."; 358 reference "draft-hares-i2rs-service-topo-dm-05.txt"; 359 } 360 identity svc-topo-flag-identity { 361 description "Base type for svc flags"; 362 } 363 identity l3vpn-svc-topo { 364 base svc-topo-flag-identity; 365 description "L3VPN service type"; 366 } 367 identity l2vpn-svc-topo { 368 base svc-topo-flag-identity; 369 description "L2VPN service type"; 370 } 371 identity EVPN-svc-topo { 372 base svc-topo-flag-identity; 373 description "EVPN service type"; 374 } 375 identity Seamless-MPLS-svc-topo { 376 base svc-topo-flag-identity; 377 description "Seamless MPLS service type"; 378 } 379 identity Etree-svc-topo { 380 base svc-topo-flag-identity; 381 description "Seamless MPLS service type"; 382 } 383 identity I2rs-svc-topo { 384 base svc-topo-flag-identity; 385 description "I2RS create service topo"; 386 } 388 identity svc-tp-type { 389 description "Base type for service 390 termination-point type flags"; 391 } 392 identity svc-tp-type-service { 393 base svc-tp-type; 394 description "service type"; 395 } 396 identity svc-tp-type-ip { 397 base svc-tp-type; 398 description "service IP"; 399 } 400 identity svc-tp-type-unnum { 401 base svc-tp-type; 402 description "service unnumbered link"; 403 } 405 identity svc-link-type { 406 description "Base type for composite 407 service link attribute flags"; 408 } 409 identity svc-link-ip-te { 410 base svc-link-type; 411 description "service link 412 that support IP traffic engineering"; 413 } 415 identity svc-link-ip-multicast { 416 base svc-link-type; 417 description "service link that 418 supports IP multicast."; 419 } 421 identity tdsvc-support-identity { 422 description "Base type for svc flags"; 423 } 425 identity td-L3sm-hub-spoke { 426 base tdsvc-support-identity; 427 description "Supports L3SM hub-spoke"; 428 } 429 identity td-L3sm-hub-spoke-disjoint { 430 base tdsvc-support-identity; 431 description "Supports L3SM hub-spoke disjoint"; 432 } 434 identity td-L3sm-any-any { 435 base tdsvc-support-identity; 436 description "Supports L3SM any-any"; 437 } 439 grouping svc-combo-network-type { 440 description "Identify the topology type to be 441 composite service topology."; 442 container svc-combo-network { 443 presence "indicates Service layer Network"; 444 description 445 "The presence of the container node indicates 446 Service layer which combines networks 447 L3VPN, L2VPN, and others"; 448 } 449 } 451 grouping service-topology-attributes { 452 leaf name { 453 type string; 454 description "name of service 455 topology"; 456 } 457 leaf description { 458 type string; 459 description "description 460 of service attribute"; 461 } 462 leaf composite-flag { 463 type identityref { 464 base svc-topo-flag-identity; 465 } 466 description "other topologies 467 this topology is configured to 468 be a composite of 469 (L3VPN, L2VPN, I2RS only)"; 470 } 472 list tdsvc-supports-attributes { 473 key tdsvc-attr-name; 474 leaf tdsvc-attr-name { 475 type string; 476 description "top-down 477 service support attribute name"; 478 } 479 leaf tdsvc-supports-attribute { 480 type identityref { 481 base tdsvc-support-identity; 482 } 483 description "top-down service 484 attribute this topology supports."; 486 } 487 description "supporting top-down 488 service attributes. "; 489 } 490 description "Group of attributes for 491 service topology"; 493 } 495 grouping node-svc-attribute { 496 leaf c-svc-node-name{ 497 type inet:domain-name; 498 description "Domain name for node"; 499 } 500 leaf c-svc-flag { 501 type identityref { 502 base svc-topo-flag-identity; 503 } 504 description "virtual network 505 node can be composite of the 506 topologies list 507 (L3VPN, L2VPN, I2RS only)"; 508 } 510 list tdsvc-node-supports-attributes { 511 key tdsvc-node-attr-name; 512 leaf tdsvc-node-attr-name { 513 type string; 514 description "name of top-down 515 service attribute "; 516 } 517 leaf tdsvc-node-supports-attribute { 518 type identityref { 519 base tdsvc-support-identity; 520 } 521 description "top-down service 522 attribute this topology supports."; 524 } 525 description "list of top-down service 526 attributes this node supports"; 527 } 529 description 530 "grouping of composite flag"; 531 } 533 grouping service-link-attributes { 534 leaf c-svc-link-name { 535 type string; 536 description "name of 537 service link"; 538 } 539 leaf c-svc-link-type { 540 type identityref { 541 base svc-link-type; 542 } 543 description "other topologies 544 this link is current a 545 composite of 546 (L3VPN, L2VPN, I2RS only)"; 547 } 548 leaf c-svc-link-metric { 549 type uint32; 550 description "link metric 551 for servicest to 552 allow TE loading at composite 553 service level"; 554 } 555 list tdsvc-link-supports-attributes { 556 key tdsvc-link-attr-name; 557 leaf tdsvc-link-attr-name { 558 type string; 559 description "top-down 560 service support attribute name"; 561 } 562 leaf c-svc-link-td-support-attribute { 563 type identityref { 564 base tdsvc-support-identity; 565 } 566 description "top-down service 567 attribute this link supports."; 568 } 569 description "list of service level 570 link attributes"; 571 } 572 description "grouping of 573 service link attribute"; 574 } 576 grouping service-termination-point-attributes { 577 leaf svc-tp-name { 578 type string; 579 description "name of service 580 termination point"; 581 } 582 leaf svc-tp-type { 583 type identityref { 584 base svc-topo-flag-identity; 585 } 586 description "other topologies 587 this link termination point is 588 part of (L3VPN, L2VPN, 589 or I2RS only)"; 590 } 591 list tdsvc-tp-support-attributes { 592 key tdsvc-tp-attr-name; 593 leaf tdsvc-tp-attr-name { 594 type string; 595 description "top-down 596 service support attribute name"; 597 } 598 leaf tdsvc-tp-support-attribute { 599 type identityref { 600 base tdsvc-support-identity; 601 } 602 description "top-down service 603 attribute this link supports."; 604 } 605 description "list of service level 606 link attributes"; 607 } 608 description "grouping of 609 service link attribute"; 611 } 613 augment "/nw:networks/nw:network/nw:network-types" { 614 uses svc-combo-network-type; 615 description 616 "augment the network-tpyes with 617 the service-topology-types grouping"; 618 } 620 augment "/nw:networks/nw:network" { 621 when "nw:network-types/svc-combo-network" { 622 description 623 "Augmentation parameters apply only for 624 service network with bottoms up topology"; 625 } 626 description 627 "Augment with combo service 628 topology attributes"; 629 uses service-topology-attributes; 630 } 632 augment "/nw:networks/nw:network/nw:node"{ 633 when "nw:network-types/svc-combo-network" { 634 description 635 "Augmentation parameters apply only for 636 service network with bottoms up topology"; 637 } 638 uses node-svc-attribute; 639 description 640 "augment the node with the node-svc-attribute"; 641 } 643 augment "/nw:networks/nw:network/nt:link" { 644 when "nw:network-types/svc-combo-network" { 645 description 646 "Augmentation parameters apply only for 647 service network with bottoms up topology"; 648 } 649 uses service-link-attributes; 650 description 651 "augment the link with 652 service-link-attributes"; 653 } 654 augment "/nw:networks/nw:network/nw:node/nt:termination-point"{ 655 when "nw:network-types/svc-combo-network" { 656 description 657 "Augmentation parameters apply only for 658 service network with bottoms up topology"; 659 } 660 uses service-termination-point-attributes; 661 description 662 "augment the termination-point with 663 service-termination-point-attributes"; 664 } 666 } // module i2rs-service-topology 667 } // module i2rs-service-topology 669 671 4. IANA Considerations 673 TBD 675 5. Security Considerations 677 TBD 679 6. References 681 6.1. Normative References 683 [I-D.ietf-i2rs-yang-network-topo] 684 Clemm, A., Medved, J., Varga, R., Tkacik, T., Bahadur, N., 685 and H. Ananthakrishnan, "A Data Model for Network 686 Topologies", draft-ietf-i2rs-yang-network-topo-02 (work in 687 progress), December 2015. 689 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 690 Requirement Levels", BCP 14, RFC 2119, 691 DOI 10.17487/RFC2119, March 1997, 692 . 694 6.2. Informative References 696 [I-D.ietf-i2rs-yang-l3-topology] 697 Clemm, A., Medved, J., Varga, R., Tkacik, T., Liu, X., 698 Bryskin, I., Guo, A., Ananthakrishnan, H., Bahadur, N., 699 and V. Beeram, "A YANG Data Model for Layer 3 Topologies", 700 draft-ietf-i2rs-yang-l3-topology-01 (work in progress), 701 December 2015. 703 [I-D.ietf-l3sm-l3vpn-service-model] 704 Litkowski, S., Shakir, R., Tomotaki, L., and K. D'Souza, 705 "YANG Data Model for L3VPN service delivery", draft-ietf- 706 l3sm-l3vpn-service-model-02 (work in progress), December 707 2015. 709 Authors' Addresses 711 Susan Hares 712 Huawei 713 7453 Hickory Hill 714 Saline, MI 48176 715 USA 717 Email: shares@ndzh.com 719 Linda Dunbar 720 Huawei 721 USA 723 Email: linda.dunbar@huawei.com