TEAS Working Group Italo Busi Internet Draft Haomian Zheng Intended status: Standard Track Huawei Expires: September 2019 March 11, 2019 YANG Data Models for Multiprotocol Label Switching - Transport Profile draft-busizheng-teas-mpls-tp-yang-00.txt Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on September 11, 2019. Copyright Notice Copyright (c) 2019 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 Busi & Zheng Expires September 2019 [Page 1] Internet-Draft MPLS-TP YANG March 2019 Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Abstract Multi-protocol Label Switching - Transport Profile (MPLS-TP) is a profile of the MPLS protocol that is used in packet switched transport networks and operated in a similar manner to other existing transport technologies (e.g., OTN), as described in RFC5921. This document specifies YANG models for MPLS-TP, which have not been covered by existing models so far. The gap analysis with current relevant traffic-engineering (TE) and MPLS models is also included. Table of Contents 1. Introduction...................................................2 2. Considerations on the Augmentation.............................3 2.1. Modules Relationship......................................3 2.2. Prefixs in Model Names....................................4 3. Gap Analysis for MPLS-TP topology..............................4 3.1. TE Bandwidth Augmentations................................5 3.2. TE Label Augmentations....................................6 4. Gap Analysis for MPLS-TP Tunnel Configuration..................6 4.1. TE Bandwidth Augmentation.................................7 4.2. TE Label Augmentation.....................................7 5. Related YANG Code..............................................8 5.1. YANG Code for MPLS-TP Topology Augmentation...............8 5.2. YANG Code for MPLS-TP Tunnel Augmentation................11 5.3. MPLS-TP Specific YANG Types..............................13 6. Open Issues...................................................15 7. Security......................................................16 8. Acknowledgements..............................................16 9. References....................................................16 9.1. Normative References.....................................16 9.2. Informative References...................................16 Authors' Addresses...............................................17 1. Introduction Multi-protocol Label Switching - Transport Profile (MPLS-TP) is a packet switching technology intended operated in a similar manner to other existing transport technologies (e.g., OTN), as described in [RFC5921], which includes Traffic Engineering (TE) features. Busi & Zheng Expires September 2019 [Page 2] Internet-Draft MPLS-TP YANG March 2019 Generic TE models, including the TE topology and tunnel, have been defined in [TE-Topology] and [TE-Tunnel] using the YANG data modeling language and are applicable to any TE technologies including MPLS-TE and OTN and therefore also to MPLS-TP. The YANG models for MPLS with TE features (MPLS-TE), are provided in [TE-MPLS] as a technology-specific augmentations of the generic TE models. However, technology-specific augmentations for TE label, and TE bandwidth of TE Topology and Tunnel models, have not been covered yet. This document defines YANG data models for MPLS-TP topologies and tunnels, providing the minimum set of attributes that are required and not yet available in existing TE and MPLS YANG models. See section 3 and 4 for more detailed gap analysis. The proposed MPLS-TP YANG models can be used as an input to enhance the current MPLS-TE YANG models. 2. Considerations on the Augmentation 2.1. Modules Relationship In this draft two models are proposed: one MPLS-TP technology-specific topology model that augments the ietf-te- topology YANG module, defined in [TE-Topology], and another MPLS-TP technology-specific tunnel model that augments the ietf-te YANG module, defined in [TE-Tunnel]. The following common fundamental models are imported: o ietf-routing-types defined in [RFC8294] TE generic +------------------+ +------------+ o: augment module | ietf-te-topology | | ietf-te | +------------------+ +------------+ o o | | | | | | +----------------------+ +-------------------------+ MPLS-TP | ietf-te-mpls-tp-topo | | ietf-te-mpls-tp-tunnel | +----------------------+ +-------------------------+ Figure 1: Relationship of MPLS-TP topology and tunnel module with TE generic TE topology and tunnel YANG modules Busi & Zheng Expires September 2019 [Page 3] Internet-Draft MPLS-TP YANG March 2019 2.2. Prefixs in Model Names In this document, names of data nodes and other data model objects are prefixed using the standard prefix associated with the corresponding YANG imported modules, as shown in Table 1. +---------------+----------------------+--------------------------+ | Prefix | YANG module | Reference | +---------------+----------------------+--------------------------+ | yang | ietf-yang-types | [RFC6991] | | inet | ietf-inet-types | [RFC6991] | | rt-types | ietf-routing-types | [RFC8294] | | tet | ietf-te-topology | [TE-Topology] | | te | ietf-te | [TE-Tunnel] | | te-mpls | ietf-te-mpls | [TE-MPLS] | | mpls-tp-topo | ietf- mpls-tp-topo | This document | | mpls-tp-tunnel|ietf- mpls-tp-tunnel | This document | +---------------+----------------------+--------------------------+ Table 1: Prefixes and corresponding YANG modules 3. Gap Analysis for MPLS-TP topology There are no YANG models that provide MPLS-TE technology-specific augmentations of the generic TE Topology model defined in [TE-Topology]. This section analyses the minimum set of attributes that are required to be specified in an MPLS-TP technology-specific augmentation. Additional attributes that may be required to support a broader set of MPLS-TP and/or MPLS-TE functions are for further study. Given the guidance for augmentation in [TE-Topology], the following technology-specific augmentations need to be provided: - A network-type to indicate that the TE topology is an MPLS-TP Topology, as follow: augment /nw:networks/nw:network/nw:network-types/tet-te-topology: +-- rw mpls-tp-topology! - TE Bandwidth Augmentations a described in section 3.1; Busi & Zheng Expires September 2019 [Page 4] Internet-Draft MPLS-TP YANG March 2019 - TE Label Augmentations as described in section 3.2; 3.1. TE Bandwidth Augmentations Following TE Bandwidth attributes are needed to be augmented to the module ietf-te-topology in [TE-Topology]: - Augmentations for te-bandwidth in the max-link-bandwidth, max- resv-link-bandwidth and unreserved-bandwidth attributes of MPLS-TP TE Links are necessary for te-link-attributes and listed as follow. It is worth noting that for te-bandwidth in other places, this augment is not necessary. augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- attributes/tet:max-link-bandwidth/tet:te-bandwidth/tet:technology: +--:(mpls-tp) +--rw mpls-tp-bandwidth? uint64 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- attributes/tet:max-resv-link-bandwidth/tet:te- bandwidth/tet:technology: +--:(mpls-tp) +--rw mpls-tp-bandwidth? uint64 augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- attributes/tet:unreserved-bandwidth/tet:te- bandwidth/tet:technology: +--:(mpls-tp) +--rw mpls-tp-bandwidth? uint64 - Augmentations for the max-lsp-bandwidth attribute are necessary for MPLS-TP TE Links and TTPs and listed as following. It is worth noting that for the other 'max-lsp-bandwidth', this augmentation is not necessary. augment /nw:networks/nw:network/nt:link/tet:te/tet:te-link- attributes/tet:interface-switching-capability/tet:max-lsp- bandwidth/tet:te-bandwidth/tet:technology: +--:(mpls-tp) +--rw bandwidth-profile-name? string +--rw bandwidth-profile-type? identityref +--rw CIR? uint64 +--rw EIR? uint64 +--rw CBS? uint64 Busi & Zheng Expires September 2019 [Page 5] Internet-Draft MPLS-TP YANG March 2019 +--rw EBS? uint64 augment /nw:networks/nw:network/nw:node/nt:termination- point/tet:te/tet:interface-switching-capability/tet:max-lsp- bandwidth/tet:te-bandwidth/tet:technology: +--:(mpls-tp) +--rw bandwidth-profile-name? string +--rw bandwidth-profile-type? identityref +--rw CIR? uint64 +--rw EIR? uint64 +--rw CBS? uint64 +--rw EBS? uint64 3.2. TE Label Augmentations In MPLS-TP, the label allocation is done by NE, information about label values availability is not necessary to be provided to the controller. Moreover, MPLS-TP tunnels are currently established within a single domain. Therefore this document does not define any MPLS-TP technology-specific augmentations, of the TE Topology model, for the TE label since no TE label related attributes should be instantiated for MPLS-TP Topologies. 4. Gap Analysis for MPLS-TP Tunnel Configuration MPLS-TE technology-specific augmentations of the generic TE Tunnel model defined in [TE-MPLS]. This section analyses the minimum set of attributes that are required to be specified in an MPLS-TP technology-specific augmentation and not yet available in [TE-MPLS]. Additional attributes that may be required to support a broader set of MPLS-TP and/or MPLS-TE functions are for further study. Although there are no guidance for augmentation in [TE-Tunnel], the following technology-specific augmentations need to be provided: - TE Bandwidth Augmentations as described in section 4.1 - TE Label Augmentations as described in section 4.2 Busi & Zheng Expires September 2019 [Page 6] Internet-Draft MPLS-TP YANG March 2019 4.1. TE Bandwidth Augmentation Following TE Bandwidth attributes are needed to be augmented for MPLS-TP to the to the module ietf-te in [TE-Tunnel], but are not yet defined in [TE-MPLS]: - Augmentations for the te-bandwdith attribute of TE Tunnels under te/globals/tunnels are listed as follow. It is worth noting that for te-bandwidth in other places, this augmentation is not necessary. augment /te:te/te:tunnels/te:tunnel/te:te-bandwidth/te:technology: +--:(mpls-tp) +--rw bandwidth-profile-name? string +--rw bandwidth-profile-type? identityref +--rw CIR? uint64 +--rw EIR? uint64 +--rw CBS? uint64 +--rw EBS? uint64 4.2. TE Label Augmentation Following TE Label attributes are needed to be augmented for MPLS-TP to the to the module ietf-te in [TE-Tunnel], but are not yet defined in [TE-MPLS]: - Augmentations for the te-label attribute of MPLS-TP label hops are used to report the computed primary and secondary paths of MPLS-TP TE Tunnels as well as the route and the path of the MPLS-TP LSPs of the primary and secondary paths of MPLS-TP TE Tunnels. These augmentations are listed as follow, and it is worth noting for te- label in other places, there is no need to do the augmentation. augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p- primary-path/te:computed-paths-properties/te:computed-path- properties/te:path-properties/te:path-route-objects/te:path- computed-route-object/te:type/te:label/te:label-hop/te:te- label/te:technology: +--:(mpls-tp) +--ro mpls-label? rt-types:mpls-label augment /te:te/te:tunnels/te:tunnel/te:p2p-primary-paths/te:p2p- primary-path/te:lsps/te:lsp/te:path-properties/te:path-route- objects/te:path-computed-route-object/te:type/te:label/te:label- hop/te:te-label/te:technology: Busi & Zheng Expires September 2019 [Page 7] Internet-Draft MPLS-TP YANG March 2019 +--:(mpls-tp) +--ro mpls-label? rt-types:mpls-label augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p- secondary-path/te:computed-paths-properties/te:computed-path- properties/te:path-properties/te:path-route-objects/te:path- computed-route-object/te:type/te:label/te:label-hop/te:te- label/te:technology: +--:(mpls-tp) +--ro mpls-label? rt-types:mpls-label augment /te:te/te:tunnels/te:tunnel/te:p2p-secondary-paths/te:p2p- secondary-path/te:lsps/te:lsp/te:path-properties/te:path-route- objects/te:path-computed-route-object/te:type/te:label/te:label- hop/te:te-label/te:technology: +--:(mpls-tp) +--ro mpls-label? rt-types:mpls-label 5. Related YANG Code 5.1. YANG Code for MPLS-TP Topology Augmentation file "ietf-mpls-tp-topology@2019-03-11.yang" module ietf-mpls-tp-topology { //yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-topology"; prefix "mpls-tp-topo"; import ietf-network { prefix "nw"; } import ietf-network-topology { prefix "nt"; } import ietf-te-topology { prefix "tet"; } import ietf-mpls-tp-types { prefix "mpls-tp-types"; } organization Busi & Zheng Expires September 2019 [Page 8] Internet-Draft MPLS-TP YANG March 2019 "Internet Engineering Task Force (IETF) TEAS WG"; contact " WG List: ID-draft editor: Italo Busi (italo.busi@huawei.com); Haomian Zheng (zhenghaomian@huawei.com); "; description "This module defines technology-specific MPLS-TP topology data model."; revision 2019-03-11 { description "version -00 as an I-D"; reference "draft-busizheng-teas-mpls-tp-yang"; } augment "/nw:networks/nw:network/nw:network-types/" + "tet:te-topology" { container mpls-tp-topology { presence "indicates a topology type of MPLS-TP layer."; description "mpls-tp te topology type"; } description "augment network types to include mpls-tp newtork"; } augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/" + "tet:interface-switching-capability/tet:max-lsp- bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" + "mpls-tp-topo:mpls-tp-topology" { description "MPLS-TP TE bandwidth."; } description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-bandwidth; } } Busi & Zheng Expires September 2019 [Page 9] Internet-Draft MPLS-TP YANG March 2019 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" + "tet:te/tet:interface-switching-capability/" + "tet:max-lsp-bandwidth/tet:te-bandwidth/tet:technology" { when "../../../../../../../nw:network-types/tet:te-topology/" + "mpls-tp-topo:mpls-tp-topology" { description "Augment MPLS-TP TE bandwidth"; } description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-bandwidth; } } augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/tet:max-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" + "mpls-tp-topo:mpls-tp-topology" { description "MPLS-TP TE bandwidth."; } description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-bandwidth; } } augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/tet:max-resv-link-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" + "mpls-tp-topo:mpls-tp-topology" { description "MPLS-TP TE bandwidth."; } description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-bandwidth; } } augment "/nw:networks/nw:network/nt:link/tet:te/" + "tet:te-link-attributes/tet:unreserved-bandwidth/" + "tet:te-bandwidth/tet:technology" { when "../../../../../../nw:network-types/tet:te-topology/" + "mpls-tp-topo:mpls-tp-topology" { description "MPLS-TP TE bandwidth."; } Busi & Zheng Expires September 2019 [Page 10] Internet-Draft MPLS-TP YANG March 2019 description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-bandwidth; } } } 5.2. YANG Code for MPLS-TP Tunnel Augmentation file "ietf-mpls-tp-tunnel@2019-03-11.yang" module ietf-mpls-tp-tunnel { //yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-tunnel"; prefix "mpls-tp-tunnel"; import ietf-te { prefix "te"; } import ietf-mpls-tp-types { prefix "mpls-tp-types"; } organization "Internet Engineering Task Force (IETF) TEAS WG"; contact " WG List: ID-draft editor: Italo Busi (italo.busi@huawei.com); Haomian Zheng (zhenghaomian@huawei.com); "; description "This module defines technology-specific MPLS-TP tunnel data model."; revision 2019-03-11 { description "version -00 as an I-D"; reference "draft-busizheng-teas-mpls-tp-yang"; } augment "/te:te/te:tunnels/te:tunnel/" + "te:te-bandwidth/te:technology" { Busi & Zheng Expires September 2019 [Page 11] Internet-Draft MPLS-TP YANG March 2019 description "MPLS-TP bandwidth."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-bandwidth; } } augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:computed-paths-properties/" + "te:computed-path-properties/" + "te:path-properties/te:path-route-objects/" + "te:path-computed-route-object/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "MPLS-TP label."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-label; } } augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-primary-paths/te:p2p-primary-path/" + "te:lsps/te:lsp/" + "te:path-properties/te:path-route-objects/" + "te:path-computed-route-object/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "MPLS-TP label."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-label; } } augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:computed-paths-properties/" + "te:computed-path-properties/" + "te:path-properties/te:path-route-objects/" + "te:path-computed-route-object/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "MPLS-TP label."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-label; } } augment "/te:te/te:tunnels/te:tunnel/" + "te:p2p-secondary-paths/te:p2p-secondary-path/" + "te:lsps/te:lsp/" Busi & Zheng Expires September 2019 [Page 12] Internet-Draft MPLS-TP YANG March 2019 + "te:path-properties/te:path-route-objects/" + "te:path-computed-route-object/te:type/te:label/" + "te:label-hop/te:te-label/te:technology" { description "MPLS-TP label."; case mpls-tp { uses mpls-tp-types:mpls-tp-path-label; } } } 5.3. MPLS-TP Specific YANG Types file "ietf-mpls-tp-types@2019-03-11.yang" module ietf-mpls-tp-types { namespace "urn:ietf:params:xml:ns:yang:ietf-mpls-tp-types"; prefix "mpls-tp-types"; import ietf-routing-types { prefix "rt-types"; } import ietf-eth-tran-types { prefix "etht-types"; } organization "Internet Engineering Task Force (IETF) TEAS WG"; contact " WG List: ID-draft editor: Italo Busi (italo.busi@huawei.com); Haomian Zheng (zhenghaomian@huawei.com); "; description "This module defines technology-specific MPLS-TP types data model."; revision 2019-03-11 { description "version -00 as an I-D"; reference "draft-busizheng-teas-mpls-tp-yang"; } Busi & Zheng Expires September 2019 [Page 13] Internet-Draft MPLS-TP YANG March 2019 grouping mpls-tp-path-bandwidth { description "Path bandwidth for MPLS-TP. "; leaf bandwidth-profile-name{ type string; description "Name of Bandwidth Profile."; } leaf bandwidth-profile-type { type identityref { base etht-types:bandwidth-profile-type; } description "Type of Bandwidth Profile."; } leaf CIR { type uint64; description "Committed Information Rate in Kbps"; } leaf EIR { type uint64; /* Need to indicate that EIR is not supported by RFC 2697 must '../bw-profile-type = "etht-types:mef-10-bwp" or ' + '../bw-profile-type = "etht-types:rfc-2698-bwp" or ' + '../bw-profile-type = "etht-types:rfc-4115-bwp"' must '../bw-profile-type != "etht-types:rfc-2697-bwp"' */ description "Excess Information Rate in Kbps In case of RFC 2698, PIR = CIR + EIR"; } leaf CBS { type uint64; description "Committed Burst Size in in KBytes"; } leaf EBS { type uint64; description Busi & Zheng Expires September 2019 [Page 14] Internet-Draft MPLS-TP YANG March 2019 "Excess Burst Size in KBytes. In case of RFC 2698, PBS = CBS + EBS"; } } grouping mpls-tp-bandwidth { description "Bandwidth for MPLS-TP. "; leaf mpls-tp-bandwidth { type uint64{ range "0..10000000000"; } units "Kbps"; description "Available bandwith value expressed in kilobits per second"; } } grouping mpls-tp-path-label { description "Path Label for MPLS-TP. "; leaf mpls-label { type rt-types:mpls-label; description "MPLS-TP Label."; } } } 6. Open Issues A few open issues are listed in this section for discussion with the WG experts: - The value for 'encoding' in ietf-te-topology and ietf-te should be configured as 'lsp-encoding-packet' for MPLS-TP; - The value for 'switching-type' in ietf-te-topology and ietf-te should be configured as 'switching-psc1' for MPLS-TP; - There are still open issues for [TE-Tunnel], so the right directory may need to be confirmed up to the latest module ietf-te after maturity; - Is it possible to integrate the proposal augmentation into [TE- MPLS]? Busi & Zheng Expires September 2019 [Page 15] Internet-Draft MPLS-TP YANG March 2019 If the answer is 'yes', the following open issues need to address in the merged document. - Some attributes will be needed to understand whether MPLS-TP specific features (such as no ECMP, no PHP, bidirectional LSP and GAL) are supported by the MPLS-TE topology and/or required to be supported by the MPLS-TE tunnel to be setup - Per Tunnel-Termination-Point(TTP) modeling, one TTP per physical PE node should be sufficient for MPLS-TP; - An empty container should be set for client-layer-adaption in the topology model for MPLS-TP; Finally, it is not clear how to generate the inter-layer-lock-id for MPLS-TP and other layers, which may be considered in future. 7. Security TBD. 8. Acknowledgements We thank Loa Andersson and Igor Bryskin for providing useful suggestions for this draft. 9. References 9.1. Normative References [RFC6991] J. Schoenwaelder, "Common YANG Data Types", RFC6991. [RFC8294] X. Liu, et. al., "Common YANG Data Types for the Routing Area", RFC8294. [TE-Topology] X. Liu, et. al., "YANG Data Model for TE Topologies", draft-ietf-teas-yang-te-topo, work in progress. [TE-Tunnel] T. Saad (Editor), "A YANG Data Model for Traffic Engineering Tunnels and Interfaces", draft-ietf-teas-yang- te, work in progress. 9.2. Informative References [RFC5921] M. Bocci, et., al., "A Framework for MPLS in Transport Networks", RFC5921. Busi & Zheng Expires September 2019 [Page 16] Internet-Draft MPLS-TP YANG March 2019 [TE-MPLS] T. Saad, et. al., "A YANG Data Model for MPLS Traffic Engineering Tunnels", draft-ietf-teas-yang-te-mpls, work in progress. Authors' Addresses Italo Busi Huawei Technologies Email: Italo.Busi@huawei.com Haomian Zheng Huawei Technologies Email: zhenghaomian@huawei.com Busi & Zheng Expires September 2019 [Page 17]