I2RS S. Hares Internet-Draft L. Dunbar Intended status: Standards Track Huawei Expires: August 13, 2016 February 10, 2016 A Yang model for I2RS service topology draft-hares-i2rs-service-topo-dm-05.txt Abstract This document defines I2RS protocol-independent service layer virtual topology data model. This data model utilizes the concepts in the generic I2RS topology model of virtual networks (node, links, termination points) and cross-layer topologies. This virtual service topology may be a composite layer created from the combination of protocol-dependent service layers. Protocol-dependent services layers include: L3VPN, L2VPN, EVPN, E-Tree, and others. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 13, 2016. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of Hares & Dunbar Expires August 13, 2016 [Page 1] Internet-Draft I2RS Service Topology February 2016 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Conventions used in this document . . . . . . . . . . . . 2 1.2. Base Model: the Service-Topology Component . . . . . . . 3 2. High level Yang architecture . . . . . . . . . . . . . . . . 4 2.1. Network level . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Node level . . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Service Link and Termination point . . . . . . . . . . . 6 3. Yang Data Model . . . . . . . . . . . . . . . . . . . . . . . 7 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 5. Security Considerations . . . . . . . . . . . . . . . . . . . 17 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.1. Normative References . . . . . . . . . . . . . . . . . . 17 6.2. Informative References . . . . . . . . . . . . . . . . . 17 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 1. Introduction Service topology in [I-D.ietf-i2rs-yang-network-topo] includes the a virtual topology for a service layer above the L1, L2, and L3 layers. This virtual topology has the generic topology elements of node, link, and terminating point. The virtual service topology is a network-wide topology stored on one routing system which an I2RS agent is connected to. The virtual service topology is a composite summary of the services available services gathered from the lower layer indications of L3VPN, L2VPN, and EVPN services, E-TREE services, Seamless MPLS topologies within an As and others. This is a "bottoms up" yang module providing composite protocol independent service topology based on these protocol services. This "bottoms-up" yang model does provide a mechanism to link this bottoms up model to a top-down service model. One example of a top- down service model for L3 VPNs is the L3 Service yang data model [I-D.ietf-l3sm-l3vpn-service-model]. Although the two models are linked, the top-down service model cannot be derived from the lower layers. 1.1. Conventions used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [RFC2119]. Hares & Dunbar Expires August 13, 2016 [Page 2] Internet-Draft I2RS Service Topology February 2016 1.2. Base Model: the Service-Topology Component The following diagram contains an informal graphical depiction of the main elements of the information model: +----------------+ | network | | topology |<... +----------------+ : * * : : | | :...: | | +--------+ +--------+ ...>| node |<.......|link |<... : +--------+<.......+--------+ : : : * : : * : : :..... | : : | :...: | : : | .....>+--------+<........: : | : | TP |<..........: | : ...>+--------+ | : : | : : .....................+---------+ .........................|Direction| +---------+ The link between the upper layer and the lower layer occurs by linking the bottoms up service network topologies to Top-down service topologies at certain service nodes to support transport of service across a virtual service link. For example, the bottoms up topology could contain a composite of 3 L3VPN network topologies, 2 L2VPN network topologies, and 2 EVPN network topologies. Each of these physical networks can support virtual networks on top of the physical network. The service network base bottoms up is formed topology map with all of these topologies. An L3SM might utilize have three VPN services topologies which support three services over 9 virtual topologies transiting the 2 of the L3VPN networks. o VPN-svc 1: supporting hub-spoke flow for Customer 1 with 2 Cloud identifiers (2 topologies) with connecting the customers access at 3 sites o VPN-svc 2: supporting hub-spoke flow disjoint for Customer 2 with 2 Cloud identifiers (2 topologies) at 3 sites, Hares & Dunbar Expires August 13, 2016 [Page 3] Internet-Draft I2RS Service Topology February 2016 o VPN-svc 3: supporting any-to-any flow for Customer 3 with 1 Cloud Identifier (5 topologies) at 3 sites. The nodes providing the L3VPN provider equipment (PE) overlap, but the customer equipment (CE) at all sites are unique. L3SM topologies Service-topology [VPN-ID:1] / \ cloud 1 topology 1 cloud 2 topology-1 / | \ / | \ Site-1A site-1B site1-C site-1A Site-1B Site-1C | | | | | | ====|==========|=======|=======|=========|=====|==== +-------+ | \ / / | Bottoms-up | | \ / / | service | | /\ / | topology | | / \ | | L3VPN-Service-topology 1 L3VPN-Service Topology-2 | | | | | | node1 node2 node3 node4 node5 node6 PE PE PE PE PE PE | | | | | | CE CE CE CE CE CE These two layers of service topologies are by two different composite models composite models and different supporiting models as follows: o Top-Down Provider Services with supporting L3SM model, o Bottom-Up I2RS Composite Services with supporting model from L3VPN, L2VPN, EVPN (only L3VPN used). The links between topologies occur at specific nodes. The links between 2. High level Yang architecture This section describes the Yang High level architecture. 2.1. Network level The service topology network level defines the following high-level yang architeture: Hares & Dunbar Expires August 13, 2016 [Page 4] Internet-Draft I2RS Service Topology February 2016 module: i2rs-service-topologies augment /nw:network/nw:network-types: +--rw service-topologies-types augment /nw:network: +--rw service-topology-attributes +--rw name? string +--rw flag flag_type; +--rw composite-flag identity-ref +--rw c-service-topo-id network-id +--rw c-servic-id uint32 +--rw c-node-cnt uint32 +--rw composite-flag_status identity-ref +--rw supports-td-attributes* Note: Composite flags are bottoms-up flags The service topology attributes for a network include the following name - name of the service topology, flag - generic topology flag, composite-flags - bit mask with flags of service layer topologies network topology node available to create service topology from. These topologies include: L3VPN, L2VPN, and EVPN services, E-TREE services, Seamless MPLS topologies within an AS and others. c-service-topo-id - composite service topology id c-node-count - count of nodes in composite service topology, composite-flag_status - status flag for each of the composite topologies on whether portions of the topology are included in the composite. supports-td-attributes - composite topology supports top-down models. 2.2. Node level Hares & Dunbar Expires August 13, 2016 [Page 5] Internet-Draft I2RS Service Topology February 2016 module: i2rs-service-topologies .... augment /nw:network/nw:node +--rw node-service-attributes +--rw c-svc-node-name? inet:domain-name +--rw c-svc-flag* identityref; +--rw c-service-node-id uint32 +--rw c-svc-node-type identityref +--rw c-node-svc-status* identityref; +--rw c-node-supports-td-attributes The additional fields in the service attributes are the following: c-svc-node-name - name of network node, c-svc-flag - composite service topology node flag, c-service-node-id - the id for the service node in the composite network, c-node-svc-type - the type of service node. The service node can be a member of one of the existing topology type (L3VPN, L2VPN, EVPN, E-TREE, Seamless MPLS, MPLS-TE, MPLS node, or I2RS created). c-node-svc-status - specific status of the node giving specific supports for composite supporting nodes such as L3VPN TE links or EVPN hub-spoke, c-node-supports-td-attribute - top down attributes support such as L3 Attributes (hub-spoke or multicast) 2.3. Service Link and Termination point Hares & Dunbar Expires August 13, 2016 [Page 6] Internet-Draft I2RS Service Topology February 2016 augment /nw:network/nt:link: +--rw service-link-attributes +--rw c-svc-link-name? string +--rw c-svc-link-id uint32 +--rw c-svc-link-type identityref +--rw c-svc-link-metric? uint32 +--rw c-svc-link-attributes* identityref +--rw c-svc-link-td-supports-attr* identityref augment /nw:network/nw:node/nt:termination-point: +--rw service-termination-point-attributes +--rw tp-svc-id +--rw (supporting-termination-point) +--:(service) | +--rw service-network-id leafref | +--rw service-node-id leafref | +--rw service-tp-id leafref +--:(ip) | +--rw ip-address inet:ip-address +--:(unnumbered) +--rw unnumbered-id? uint32 The augmentation to the service topology is the service link attributes which include: name - name of the link, svc-link-type - the service link type used to create this composite service link. metric - the metric of the service type svc-attributes - the composite attributes of link svc-td-supports - link support of Top-down attributes The augmentation to the termination point include the following tp-svc-id - service id for the termination point, supporting termination point* - with a)references to the service network id, node id and termination point for service id, or b) an ip address, or c) an unnumbered link address 3. Yang Data Model file "ietf-i2rs-service-topology@2016-02-09.yang" module ietf-i2rs-service-topology{ namespace "urn:ietf:params:xml:ns:yang:ietf-i2rs-service-topology"; Hares & Dunbar Expires August 13, 2016 [Page 7] Internet-Draft I2RS Service Topology February 2016 prefix i2rs-st; import ietf-inet-types { prefix inet; } import ietf-network { prefix nw; } import ietf-network-topology { prefix "nt"; } organization "IETF"; contact "email: shares@ndzh.com; email: linda.dunbar@huawei.com; "; description "This module defines a model for the service topology. This service model imports - ietf-network and ietf-network-topology from draft-ietf-i2rs-yang-network-topo-02.txt, - ietf-routing from draft-ietf-netmod-routing-cfg, - ietf-l3vpn-svc from draft-ietf-l3sm-l3vpn-service-model. (not defined yet ) "; revision 2016-02-09 { description "Version 1 - initial version; Version 2 - yang format fixed Version 3 - errro in xml file version 4 - remove next-hops attribute. version 5- links to top-level attributes."; reference "draft-hares-i2rs-service-topo-dm-05.txt"; } identity svc-topo-flag-identity { description "Base type for svc flags"; } identity l3vpn-svc-topo { base svc-topo-flag-identity; description "L3VPN service type"; } Hares & Dunbar Expires August 13, 2016 [Page 8] Internet-Draft I2RS Service Topology February 2016 identity l2vpn-svc-topo { base svc-topo-flag-identity; description "L2VPN service type"; } identity EVPN-svc-topo { base svc-topo-flag-identity; description "EVPN service type"; } identity Seamless-MPLS-svc-topo { base svc-topo-flag-identity; description "Seamless MPLS service type"; } identity Etree-svc-topo { base svc-topo-flag-identity; description "Seamless MPLS service type"; } identity I2rs-svc-topo { base svc-topo-flag-identity; description "I2RS create service topo"; } identity svc-tp-type { description "Base type for service termination-point type flags"; } identity svc-tp-type-service { base svc-tp-type; description "service type"; } identity svc-tp-type-ip { base svc-tp-type; description "service IP"; } identity svc-tp-type-unnum { base svc-tp-type; description "service unnumbered link"; } identity service-topology-types{ description "service topology type"; } identity svc-link-identity { description "Base type for composite service link attribute flags"; } identity svc-link-ip-te { Hares & Dunbar Expires August 13, 2016 [Page 9] Internet-Draft I2RS Service Topology February 2016 base svc-tp-type; description "service link that support IP traffic engineering"; } identity svc-link-ip-multicast { base svc-tp-type; description "service link that supports IP multicast."; } identity td-svc-support-identity { description "Base type for svc flags"; } identity td-L3sm-hub-spoke { base td-svc-support-identity; description "Supports L3SM hub-spoke"; } identity td-L3sm-hub-spoke-disjoint { base td-svc-support-identity; description "Supports L3SM hub-spoke disjoint"; } identity td-L3sm-any-any { base td-svc-support-identity; description "Supports L3SM any-any"; } grouping service-topology-types { leaf service-type { type identityref { base svc-topo-flag-identity; } description "list of service topology type supported"; } description "service topology types"; } grouping service-topology-attributes { leaf name { type string; description "name of service topology"; } Hares & Dunbar Expires August 13, 2016 [Page 10] Internet-Draft I2RS Service Topology February 2016 leaf composite-flag { type identityref { base service-topology-types; } description "other topologies this topology is configured to be a composite of (L3VPN, L2VPN, I2RS only)"; } leaf c-service-topo-id { type nw:network-id; description "service topology id to a service topology instance."; } leaf c-service-id-number { type uint32; description "ID for topology"; } leaf c-node-count { type uint32; description "count of service level nodes in the network."; } leaf composite-flag-status { type identityref { base svc-topo-flag-identity;} description "other topologies this topology is currently a composite of (L3VPN, L2VPN, I2RS only)"; } list supports-td-attributes { key c-svc-td-attribute-id; leaf c-svc-td-attribute-id { type uint8; description "top-down service support attribute id number"; } leaf td-supports-attribute { type identityref { base td-svc-support-identity; } description "top-down service attribute this topology supports."; } description "supporting top-down Hares & Dunbar Expires August 13, 2016 [Page 11] Internet-Draft I2RS Service Topology February 2016 service attributes. "; } description "Group of attributes for service topology"; } grouping node-svc-attribute { leaf c-svc-node-name{ type inet:domain-name; description "Domain name for node"; } leaf c-svc-flag { type identityref { base svc-topo-flag-identity; } description "virtual network node can be composite of the topologies list (L3VPN, L2VPN, I2RS only)"; } leaf c-svc-node-id { type uint32; description "ID for node at service level"; } leaf node-svc-status { type identityref { base service-topology-types; } description "other topologies this topology is currewntly be composed of (L3VPN, L2VPN, I2RS only)"; } list c-node-supports-td-attributes { key c-node-td-attribute-id; leaf c-node-td-attribute-id { type uint8; description "top-down service support attribute id number"; } leaf c-node-supports-attribute { type identityref { base td-svc-support-identity; } Hares & Dunbar Expires August 13, 2016 [Page 12] Internet-Draft I2RS Service Topology February 2016 description "top-down service attribute this topology supports."; } description "list of top-down service attributes this node supports"; } description "grouping of composite flag"; } grouping service-link-attributes { leaf c-svc-link-name { type string; description "name of service link"; } leaf c-svc-link-id { type uint32; description "link id"; } leaf c-svc-link-type { type identityref { base service-topology-types; } description "other topologies this link is current a composite of (L3VPN, L2VPN, I2RS only)"; } leaf c-svc-link-metric { type uint32; description "link metric which may need to expand or link to TE topologies."; } list c-svc-link-attributes { key c-svcl-attr-id; leaf c-svcl-attr-id { type uint8; description "composite service attribute id number"; } leaf c-svc-link-attribute { type identityref { base svc-link-identity; } Hares & Dunbar Expires August 13, 2016 [Page 13] Internet-Draft I2RS Service Topology February 2016 description "top-down service attribute this link supports."; } description "list of service level link attributes"; } list c-svc-link-td-supports-attributes { key c-svcl-td-attr-id; leaf c-svcl-td-attr-id { type uint8; description "top-down service support attribute id number"; } leaf c-svc-link-td-support-attribute { type identityref { base td-svc-support-identity; } description "top-down service attribute this link supports."; } description "list of service level link attributes"; } description "grouping of service link attribute"; } grouping service-termination-point-attributes { leaf svc-tp-id { type uint32; description "termination point id"; } container supporting-termination-point { leaf svc-tp-type { type identityref { base svc-tp-type; } description "other topologies this link termination point is part of (L3VPN, L2VPN, or I2RS only)"; } choice svc-tp-support-type{ case svc-tp-type-service { leaf service-network-id { type uint32; description "service network id"; Hares & Dunbar Expires August 13, 2016 [Page 14] Internet-Draft I2RS Service Topology February 2016 } leaf service-node-id { type uint32; description "service node id"; } leaf service-link-id { type uint32; description "service link id"; } description "network, node, tp that supports this termination point"; } case svc-tp-type-inet { leaf ip-address{ type inet:ip-address; description "ip address"; } description "inet svc tp"; } case svc-tp-type-unnum { leaf unnumbered-id { type uint32; description "unnumbered id"; } description "unnumber svc tp"; } description "service termination point type cases"; } description "container of supporting termination point"; } description "grouping of service-termination-point-attributes"; } /* * Data nodes */ augment "/nw:networks/nw:network/nw:network-types"{ uses service-topology-types; description "augment the network-tpyes with the service-topology-types grouping"; } Hares & Dunbar Expires August 13, 2016 [Page 15] Internet-Draft I2RS Service Topology February 2016 augment "/nw:networks/nw:network/nw:node" { leaf name { type inet:domain-name; description "service name."; } list composite_flag { key "service-node-id"; leaf service-node-id{ type uint32; description "service node id."; } leaf node-svc-type{ type string; description "node service type."; } description "the list of composite flag."; } description "augments node list"; } augment "/nw:networks/nw:network"{ uses service-topology-attributes; description "augment the network with the servcie-topolgoy-attributes"; } augment "/nw:networks/nw:network/nw:node"{ uses node-svc-attribute; description "augment the node with the node-svc-attribute"; } augment "/nw:networks/nw:network/nt:link" { uses service-link-attributes; description "augment the link with service-link-attributes"; } augment "/nw:networks/nw:network/nw:node/nt:termination-point"{ uses service-termination-point-attributes; description "augment the termination-point with service-termination-point-attributes"; } } // module i2rs-service-topology Hares & Dunbar Expires August 13, 2016 [Page 16] Internet-Draft I2RS Service Topology February 2016 4. IANA Considerations TBD 5. Security Considerations TBD 6. References 6.1. Normative References [I-D.ietf-i2rs-yang-network-topo] Clemm, A., Medved, J., Varga, R., Tkacik, T., Bahadur, N., and H. Ananthakrishnan, "A Data Model for Network Topologies", draft-ietf-i2rs-yang-network-topo-02 (work in progress), December 2015. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . 6.2. Informative References [I-D.ietf-i2rs-yang-l3-topology] Clemm, A., Medved, J., Varga, R., Tkacik, T., Liu, X., Bryskin, I., Guo, A., Ananthakrishnan, H., Bahadur, N., and V. Beeram, "A YANG Data Model for Layer 3 Topologies", draft-ietf-i2rs-yang-l3-topology-01 (work in progress), December 2015. [I-D.ietf-l3sm-l3vpn-service-model] Litkowski, S., Shakir, R., Tomotaki, L., and K. D'Souza, "YANG Data Model for L3VPN service delivery", draft-ietf- l3sm-l3vpn-service-model-02 (work in progress), December 2015. Authors' Addresses Hares & Dunbar Expires August 13, 2016 [Page 17] Internet-Draft I2RS Service Topology February 2016 Susan Hares Huawei 7453 Hickory Hill Saline, MI 48176 USA Email: shares@ndzh.com Linda Dunbar Huawei USA Email: linda.dunbar@huawei.com Hares & Dunbar Expires August 13, 2016 [Page 18]