| < draft-ietf-teas-te-service-mapping-yang-07.txt | draft-ietf-teas-te-service-mapping-yang-08.txt > | |||
|---|---|---|---|---|
| TEAS Working Group Y. Lee, Ed. | TEAS Working Group Y. Lee, Ed. | |||
| Internet-Draft Samsung Electronics | Internet-Draft Samsung Electronics | |||
| Intended status: Standards Track D. Dhody, Ed. | Intended status: Standards Track D. Dhody, Ed. | |||
| Expires: August 25, 2021 G. Fioccola | Expires: 1 March 2022 G. Fioccola | |||
| Q. Wu, Ed. | Q. Wu, Ed. | |||
| Huawei Technologies | Huawei Technologies | |||
| D. Ceccarelli | D. Ceccarelli | |||
| Ericsson | Ericsson | |||
| J. Tantsura | J. Tantsura | |||
| Apstra | Microsoft | |||
| February 21, 2021 | 28 August 2021 | |||
| Traffic Engineering (TE) and Service Mapping Yang Model | Traffic Engineering (TE) and Service Mapping Yang Model | |||
| draft-ietf-teas-te-service-mapping-yang-07 | draft-ietf-teas-te-service-mapping-yang-08 | |||
| Abstract | Abstract | |||
| This document provides a YANG data model to map customer service | This document provides a YANG data model to map customer service | |||
| models (e.g., the L3VPN Service Model (L3SM)) to Traffic Engineering | models (e.g., the L3VPN Service Model (L3SM)) to Traffic Engineering | |||
| (TE) models (e.g., the TE Tunnel or the Virtual Network (VN) model). | (TE) models (e.g., the TE Tunnel or the Virtual Network (VN) model). | |||
| This model is referred to as TE Service Mapping Model and is | These models are referred to as TE Service Mapping Model and are | |||
| applicable generically to the operator's need for seamless control | applicable generically to the operator's need for seamless control | |||
| and management of their VPN services with TE tunnel support. | and management of their VPN services with underlying TE support. | |||
| The model is principally used to allow monitoring and diagnostics of | The models are principally used for monitoring and diagnostics of the | |||
| the management systems to show how the service requests are mapped | management systems to show how the service requests are mapped onto | |||
| onto underlying network resource and TE models. | underlying network resource and TE models. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on August 25, 2021. | This Internet-Draft will expire on 1 March 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Purpose of TE Service Mapping for Service Model . . . . . 4 | |||
| 1.1.1. Requirements Language . . . . . . . . . . . . . . . . 5 | 1.2. Purpose of TE Service Mapping for Network Model . . . . . 5 | |||
| 1.2. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 5 | 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1.3. Prefixes in Data Node Names . . . . . . . . . . . . . . . 5 | 1.4. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2. TE and Service Related Parameters . . . . . . . . . . . . . . 6 | 1.5. Prefixes in Data Node Names . . . . . . . . . . . . . . . 6 | |||
| 2.1. VN/Tunnel Selection Requirements . . . . . . . . . . . . 7 | 2. TE and Service Related Parameters . . . . . . . . . . . . . . 8 | |||
| 2.2. TE Policy . . . . . . . . . . . . . . . . . . . . . . . . 8 | 2.1. VN/Tunnel Selection Requirements . . . . . . . . . . . . 8 | |||
| 2.2.1. Availability Requirement . . . . . . . . . . . . . . 8 | 2.2. TE Policy . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 3. YANG Modeling Approach . . . . . . . . . . . . . . . . . . . 8 | 2.2.1. Availability Requirement . . . . . . . . . . . . . . 9 | |||
| 3.1. Forward Compatibility . . . . . . . . . . . . . . . . . . 9 | 3. YANG Modeling Approach . . . . . . . . . . . . . . . . . . . 9 | |||
| 3.2. TE and Network Models . . . . . . . . . . . . . . . . . . 9 | 3.1. Forward Compatibility . . . . . . . . . . . . . . . . . . 11 | |||
| 4. L3VPN Architecture in the ACTN Context . . . . . . . . . . . 10 | 3.2. TE and Network Models . . . . . . . . . . . . . . . . . . 11 | |||
| 4.1. Service Mapping . . . . . . . . . . . . . . . . . . . . . 13 | 4. L3VPN Architecture in the ACTN Context . . . . . . . . . . . 11 | |||
| 4.2. Site Mapping . . . . . . . . . . . . . . . . . . . . . . 13 | 4.1. Service Mapping . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 5. Applicability of TE-Service Mapping in Generic context . . . 14 | 4.2. Site Mapping . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 6. YANG Data Trees . . . . . . . . . . . . . . . . . . . . . . . 14 | 5. Applicability of TE-Service Mapping in Generic context . . . 16 | |||
| 6.1. Service Mapping Types . . . . . . . . . . . . . . . . . . 14 | 6. YANG Data Trees . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 6.2. Service Models . . . . . . . . . . . . . . . . . . . . . 16 | 6.1. Service Mapping Types . . . . . . . . . . . . . . . . . . 16 | |||
| 6.2.1. L3SM . . . . . . . . . . . . . . . . . . . . . . . . 16 | 6.2. Service Models . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 6.2.2. L2SM . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6.2.1. L3SM . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 6.2.3. L1CSM . . . . . . . . . . . . . . . . . . . . . . . . 18 | 6.2.2. L2SM . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 6.3. Network Models . . . . . . . . . . . . . . . . . . . . . 19 | 6.2.3. L1CSM . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 6.3.1. L3NM . . . . . . . . . . . . . . . . . . . . . . . . 19 | 6.3. Network Models . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 6.3.2. L2NM . . . . . . . . . . . . . . . . . . . . . . . . 20 | 6.3.1. L3NM . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 7. YANG Data Models . . . . . . . . . . . . . . . . . . . . . . 21 | 6.3.2. L2NM . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 7.1. ietf-te-service-mapping-types . . . . . . . . . . . . . . 21 | 7. YANG Data Models . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 7.1. ietf-te-service-mapping-types . . . . . . . . . . . . . . 22 | ||||
| 7.2. Service Models . . . . . . . . . . . . . . . . . . . . . 31 | 7.2. Service Models . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 7.2.1. ietf-l3sm-te-service-mapping . . . . . . . . . . . . 31 | 7.2.1. ietf-l3sm-te-service-mapping . . . . . . . . . . . . 32 | |||
| 7.2.2. ietf-l2sm-te-service-mapping . . . . . . . . . . . . 33 | 7.2.2. ietf-l2sm-te-service-mapping . . . . . . . . . . . . 34 | |||
| 7.2.3. ietf-l1csm-te-service-mapping . . . . . . . . . . . . 36 | 7.2.3. ietf-l1csm-te-service-mapping . . . . . . . . . . . . 36 | |||
| 7.3. Network Models . . . . . . . . . . . . . . . . . . . . . 38 | 7.3. Network Models . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 7.3.1. ietf-l3nm-te-service-mapping . . . . . . . . . . . . 38 | 7.3.1. ietf-l3nm-te-service-mapping . . . . . . . . . . . . 38 | |||
| 7.3.2. ietf-l2nm-te-service-mapping . . . . . . . . . . . . 40 | 7.3.2. ietf-l2nm-te-service-mapping . . . . . . . . . . . . 40 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 42 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 42 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 43 | |||
| 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 45 | 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 45 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 45 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 45 | |||
| skipping to change at page 3, line 24 ¶ | skipping to change at page 3, line 24 ¶ | |||
| Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 49 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 49 | |||
| Appendix B. Discussion . . . . . . . . . . . . . . . . . . . . . 51 | Appendix B. Discussion . . . . . . . . . . . . . . . . . . . . . 51 | |||
| Appendix C. Contributor Addresses . . . . . . . . . . . . . . . 51 | Appendix C. Contributor Addresses . . . . . . . . . . . . . . . 51 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52 | |||
| 1. Introduction | 1. Introduction | |||
| Data models are a representation of objects that can be configured or | Data models are a representation of objects that can be configured or | |||
| monitored within a system. Within the IETF, YANG [RFC7950] is the | monitored within a system. Within the IETF, YANG [RFC7950] is the | |||
| language of choice for documenting data models, and YANG models have | language of choice for documenting data models, and YANG models have | |||
| been produced to allow configuration or modelling of a variety of | been produced to allow configuration or modeling of a variety of | |||
| network devices, protocol instances, and network services. YANG data | network devices, protocol instances, and network services. YANG data | |||
| models have been classified in [RFC8199] and [RFC8309]. | models have been classified in [RFC8199] and [RFC8309]. | |||
| Framework for Abstraction and Control of Traffic Engineered Networks | Framework for Abstraction and Control of Traffic Engineered Networks | |||
| (ACTN) [RFC8453] introduces an architecture to support virtual | (ACTN) [RFC8453] introduces an architecture to support virtual | |||
| network services and connectivity services. | network services and connectivity services. | |||
| [I-D.ietf-teas-actn-vn-yang] defines a YANG model and describes how | [I-D.ietf-teas-actn-vn-yang] defines a YANG model and describes how | |||
| customers or end-to-end orchestrator can request and/or instantiate a | customers or end-to-end orchestrator can request and/or instantiate a | |||
| generic virtual network service. [I-D.ietf-teas-actn-yang] describes | generic virtual network service. [I-D.ietf-teas-actn-yang] describes | |||
| the way IETF YANG models of different classifications can be applied | the way IETF YANG models of different classifications can be applied | |||
| skipping to change at page 4, line 17 ¶ | skipping to change at page 4, line 17 ¶ | |||
| limited to a set of domains under control of the same network | limited to a set of domains under control of the same network | |||
| operator to deliver services requiring TE tunnels. | operator to deliver services requiring TE tunnels. | |||
| While the IP/MPLS Provisioning Network Controller (PNC) is | While the IP/MPLS Provisioning Network Controller (PNC) is | |||
| responsible for provisioning the VPN service on the Provider Edge | responsible for provisioning the VPN service on the Provider Edge | |||
| (PE) nodes, the Multi-Domain Service Coordinator (MDSC) can | (PE) nodes, the Multi-Domain Service Coordinator (MDSC) can | |||
| coordinate how to map the VPN services onto Traffic Engineering (TE) | coordinate how to map the VPN services onto Traffic Engineering (TE) | |||
| tunnels. This is consistent with the two of the core functions of | tunnels. This is consistent with the two of the core functions of | |||
| the MDSC specified in [RFC8453]: | the MDSC specified in [RFC8453]: | |||
| o Customer mapping/translation function: This function is to map | * Customer mapping/translation function: This function is to map | |||
| customer requests/commands into network provisioning requests that | customer requests/commands into network provisioning requests that | |||
| can be sent to the PNC according to the business policies that | can be sent to the PNC according to the business policies that | |||
| have been provisioned statically or dynamically. Specifically, it | have been provisioned statically or dynamically. Specifically, it | |||
| provides mapping and translation of a customer's service request | provides mapping and translation of a customer's service request | |||
| into a set of parameters that are specific to a network type and | into a set of parameters that are specific to a network type and | |||
| technology such that the network configuration process is made | technology such that the network configuration process is made | |||
| possible. | possible. | |||
| o Virtual service coordination function: This function translates | * Virtual service coordination function: This function translates | |||
| customer service-related information into virtual network service | customer service-related information into virtual network service | |||
| operations in order to seamlessly operate virtual networks while | operations in order to seamlessly operate virtual networks while | |||
| meeting a customer's service requirements. In the context of | meeting a customer's service requirements. In the context of | |||
| ACTN, service/virtual service coordination includes a number of | ACTN, service/virtual service coordination includes a number of | |||
| service orchestration functions such as multi-destination load | service orchestration functions such as multi-destination load | |||
| balancing, guarantees of service quality, bandwidth and | balancing, guarantees of service quality, bandwidth and | |||
| throughput. It also includes notifications for service fault and | throughput. It also includes notifications for service fault and | |||
| performance degradation and so forth. | performance degradation and so forth. | |||
| Section 2 describes a set of TE and service related parameters that | Section 2 describes a set of TE and service related parameters that | |||
| this document addresses as "new and advanced parameters" that are not | this document addresses as "new and advanced parameters" that are not | |||
| included in generic service models. Section 3 discusses YANG | included in the service models. Section 3 discusses YANG modeling | |||
| modelling approach. | approach. | |||
| 1.1. Purpose of TE Service Mapping for Service Model | ||||
| The TE service mapping for the LxSM supports: | ||||
| * A mapping of the LxSM with the underlying TE resources. The TE | ||||
| resources could be in a form of VN, set of TE tunnels, TE abstract | ||||
| topology etc. This mapping can be populated by the network at the | ||||
| time of realization of the service. It is also possible to | ||||
| configure the mapping provided one is aware of VN/tunnels. This | ||||
| mapping model is used only when the there is an awareness of VN or | ||||
| TE by the consumer of the model. Otherwise this mapping | ||||
| information is internal and used for monitoring and diagnostics | ||||
| purpose such as telemetry, auto-scaling, closed-loop automation. | ||||
| * Possibility to request creation of a new VN/Tunnel to be binded to | ||||
| LxSM . | ||||
| * Indication to share the VN/Tunnel sharing (with or without | ||||
| modification) for the LxSM. | ||||
| * Support for configuration of underlying TE properties (as apposed | ||||
| to existing VN or tunnels). | ||||
| * Provide some additional service characteristics for the LxSM | ||||
| models | ||||
| 1.2. Purpose of TE Service Mapping for Network Model | ||||
| Apart from the service model, the TE mapping is equally applicable to | Apart from the service model, the TE mapping is equally applicable to | |||
| the Network Models (L3 VPN Service Network Model (L3NM) | the Network Models (L3 VPN Service Network Model (L3NM) | |||
| [I-D.ietf-opsawg-l3sm-l3nm], L2 VPN Service Network Model (L2NM) | [I-D.ietf-opsawg-l3sm-l3nm], L2 VPN Service Network Model (L2NM) | |||
| [I-D.ietf-opsawg-l2nm] etc.). See Section 3.2 for details. | [I-D.ietf-opsawg-l2nm] etc.). See Section 3.2 for details. | |||
| 1.1. Terminology | The TE service mapping for the LxNM supports: | |||
| * A mapping of the LxNM with the underlying TE resources. The TE | ||||
| resources could be in a form of VN, set of TE tunnels, TE abstract | ||||
| topology etc. This mapping can be populated by the network or | ||||
| configured. This mapping is useful to understand the TE | ||||
| realization of the LxVPN as well for monitoring/diagnostic | ||||
| purpose. | ||||
| * Possibility to request creation of a new VN/Tunnel to be binded to | ||||
| LxNM . | ||||
| * Indication to share the VN/Tunnel sharing (with or without | ||||
| modification) for the LxNM. | ||||
| * Support for configuration of underlying TE properties (as apposed | ||||
| to existing VN or tunnels). | ||||
| * Provide some additional service characteristics for the LxNM | ||||
| models | ||||
| 1.3. Terminology | ||||
| Refer to [RFC8453], [RFC7926], and [RFC8309] for the key terms used | Refer to [RFC8453], [RFC7926], and [RFC8309] for the key terms used | |||
| in this document. | in this document. | |||
| The terminology for describing YANG data models is found in | The terminology for describing YANG data models is found in | |||
| [RFC7950]. | [RFC7950]. | |||
| 1.1.1. Requirements Language | 1.4. Tree diagram | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | ||||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | ||||
| "OPTIONAL" in this document are to be interpreted as described in BCP | ||||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | ||||
| capitals, as shown here. | ||||
| 1.2. Tree diagram | ||||
| A simplified graphical representation of the data model is used in | A simplified graphical representation of the data model is used in | |||
| Section 5 of this this document. The meaning of the symbols in these | Section 5 of this this document. The meaning of the symbols in these | |||
| diagrams is defined in [RFC8340]. | diagrams is defined in [RFC8340]. | |||
| 1.3. Prefixes in Data Node Names | 1.5. Prefixes in Data Node Names | |||
| In this document, names of data nodes and other data model objects | In this document, names of data nodes and other data model objects | |||
| are prefixed using the standard prefix associated with the | are prefixed using the standard prefix associated with the | |||
| corresponding YANG imported modules, as shown in Table 1. | corresponding YANG imported modules, as shown in Table 1. | |||
| +---------+---------------------------+-----------------------------+ | +========+==================+==================================+ | |||
| | Prefix | YANG module | Reference | | | Prefix | YANG module | Reference | | |||
| +---------+---------------------------+-----------------------------+ | +========+==================+==================================+ | |||
| | tsmt | ietf-te-service-mapping- | [RFCXXXX] | | | tsmt | ietf-te-service- | [RFCXXXX] | | |||
| | | types | | | | | mapping-types | | | |||
| | l1csm | ietf-l1csm | [I-D.ietf-ccamp-l1csm-yang] | | +--------+------------------+----------------------------------+ | |||
| | l2vpn- | ietf-l2vpn-svc | [RFC8466] | | | l1csm | ietf-l1csm | [I-D.ietf-ccamp-l1csm-yang] | | |||
| | svc | | | | +--------+------------------+----------------------------------+ | |||
| | l3vpn- | ietf-l3vpn-svc | [RFC8299] | | | l2vpn- | ietf-l2vpn-svc | [RFC8466] | | |||
| | svc | | | | | svc | | | | |||
| | l1-tsm | ietf-l1csm-te-service- | [RFCXXXX] | | +--------+------------------+----------------------------------+ | |||
| | | mapping | | | | l3vpn- | ietf-l3vpn-svc | [RFC8299] | | |||
| | l2-tsm | ietf-l2sm-te-service- | [RFCXXXX] | | | svc | | | | |||
| | | mapping | | | +--------+------------------+----------------------------------+ | |||
| | l3-tsm | ietf-l3sm-te-service- | [RFCXXXX] | | | l1-tsm | ietf-l1csm-te- | [RFCXXXX] | | |||
| | | mapping | | | | | service-mapping | | | |||
| | vn | ietf-vn | [I-D.ietf-teas-actn-vn-yang | | +--------+------------------+----------------------------------+ | |||
| | | | ] | | | l2-tsm | ietf-l2sm-te- | [RFCXXXX] | | |||
| | nw | ietf-network | [RFC8345] | | | | service-mapping | | | |||
| | te- | ietf-te-types | [RFC8776] | | +--------+------------------+----------------------------------+ | |||
| | types | | | | | l3-tsm | ietf-l3sm-te- | [RFCXXXX] | | |||
| | te | ietf-te | [I-D.ietf-teas-yang-te] | | | | service-mapping | | | |||
| | l2vpn- | ietf-l2vpn-ntw | [I-D.ietf-opsawg-l2nm] | | +--------+------------------+----------------------------------+ | |||
| | ntw | | | | | vn | ietf-vn | [I-D.ietf-teas-actn-vn-yang] | | |||
| | l3vpn- | ietf-l3vpn-ntw | [I-D.ietf-opsawg-l3sm-l3nm] | | +--------+------------------+----------------------------------+ | |||
| | ntw | | | | | nw | ietf-network | [RFC8345] | | |||
| | rt | ietf-routing | [RFC8349] | | +--------+------------------+----------------------------------+ | |||
| | sr- | ietf-sr-policy | [I-D.ietf-spring-sr-policy- | | | te- | ietf-te-types | [RFC8776] | | |||
| | policy | | yang] | | | types | | | | |||
| +---------+---------------------------+-----------------------------+ | +--------+------------------+----------------------------------+ | |||
| | te | ietf-te | [I-D.ietf-teas-yang-te] | | ||||
| +--------+------------------+----------------------------------+ | ||||
| | l2vpn- | ietf-l2vpn-ntw | [I-D.ietf-opsawg-l2nm] | | ||||
| | ntw | | | | ||||
| +--------+------------------+----------------------------------+ | ||||
| | l3vpn- | ietf-l3vpn-ntw | [I-D.ietf-opsawg-l3sm-l3nm] | | ||||
| | ntw | | | | ||||
| +--------+------------------+----------------------------------+ | ||||
| | rt | ietf-routing | [RFC8349] | | ||||
| +--------+------------------+----------------------------------+ | ||||
| | sr- | ietf-sr-policy | [I-D.ietf-spring-sr-policy-yang] | | ||||
| | policy | | | | ||||
| +--------+------------------+----------------------------------+ | ||||
| Table 1: Prefixes and corresponding YANG modules | Table 1: Prefixes and corresponding YANG modules | |||
| Note: The RFC Editor should replace XXXX with the number assigned to | Note: The RFC Editor should replace XXXX with the number assigned to | |||
| the RFC once this draft becomes an RFC. | the RFC once this draft becomes an RFC. | |||
| 2. TE and Service Related Parameters | 2. TE and Service Related Parameters | |||
| While L1/L2/L3 service models (L1CSM, L2SM, L3SM) are intended to | While L1/L2/L3 service models (L1CSM, L2SM, L3SM) are intended to | |||
| provide service-specific parameters for VPN service instances, there | provide service-specific parameters for VPN service instances, there | |||
| are a number of TE Service related parameters that are not included | are a number of TE Service related parameters that are not included | |||
| in these service models. | in these service models. | |||
| Additional 'service parameters and policies' that are not included in | Additional 'service parameters and policies' that are not included in | |||
| the aforementioned service models are addressed in the YANG models | the aforementioned service models are addressed in the YANG models | |||
| defined in this document. | defined in this document. | |||
| 2.1. VN/Tunnel Selection Requirements | 2.1. VN/Tunnel Selection Requirements | |||
| In some cases, the service requirements may need addition TE tunnels | In some cases, the service requirements may need addition VN/TE | |||
| to be established. This may occur when there are no suitable | tunnels to be established. This may occur when there are no suitable | |||
| existing TE tunnels that can support the service requirements, or | existing VN/TE tunnels that can support the service requirements, or | |||
| when the operator would like to dynamically create and bind tunnels | when the operator would like to dynamically create and bind tunnels | |||
| to the VPN such that they are not shared by other VPNs, for example, | to the VPN such that they are not shared by other VPNs, for example, | |||
| for network slicing. The establishment of TE tunnels is subject to | for network slicing. The establishment of TE tunnels is subject to | |||
| the network operator's policies. | the network operator's policies. | |||
| To summarize, there are three modes of VN/Tunnel selection operations | To summarize, there are three modes of VN/Tunnel selection operations | |||
| to be supported as follows. Additional modes may be defined in the | to be supported as follows. Additional modes may be defined in the | |||
| future. | future. | |||
| o New VN/Tunnel Binding - A customer could request a VPN service | * New VN/Tunnel Binding - A customer could request a VPN service | |||
| based on VN/Tunnels that are not shared with other existing or | based on VN/Tunnels that are not shared with other existing or | |||
| future services. This might be to meet VPN isolation | future services. This might be to meet VPN isolation | |||
| requirements. Further, the YANG model described in Section 5 of | requirements. Further, the YANG model described in Section 4 of | |||
| this document can be used to describe the mapping between the VPN | this document can be used to describe the mapping between the VPN | |||
| service and the ACTN VN. The VN (and TE tunnels) could be bound | service and the ACTN VN. The VN (and TE tunnels) could be bound | |||
| to the VPN and not used for any other VPN. Under this mode, the | to the VPN and not used for any other VPN. Under this mode, the | |||
| following sub-categories can be supported: | following sub-categories can be supported: | |||
| 1. Hard Isolation with deterministic characteristics: A customer | 1. Hard Isolation with deterministic characteristics: A customer | |||
| could request a VPN service using a set of TE Tunnels with | could request a VPN service using a set of TE Tunnels with | |||
| deterministic characteristics requirements (e.g., no latency | deterministic characteristics requirements (e.g., no latency | |||
| variation) and where that set of TE Tunnels must not be shared | variation) and where that set of TE Tunnels must not be shared | |||
| with other VPN services and must not compete for bandwidth or | with other VPN services and must not compete for bandwidth or | |||
| other network resources with other TE Tunnels. | other network resources with other TE Tunnels. | |||
| 2. Hard Isolation: This is similar to the above case but without | 2. Hard Isolation: This is similar to the above case but without | |||
| the deterministic characteristics requirements. | the deterministic characteristics requirements. | |||
| 3. Soft Isolation: The customer requests a VPN service using a | 3. Soft Isolation: The customer requests a VPN service using a | |||
| set of TE tunnels which can be shared with other VPN services. | set of new TE tunnels which can be shared with other VPN | |||
| services if need be. | ||||
| o VN/Tunnel Sharing - A customer could request a VPN service where | * VN/Tunnel Sharing - A customer could request a VPN service where | |||
| new tunnels (or a VN) do not need to be created for each VPN and | new tunnels (or a VN) do not need to be created for each VPN and | |||
| can be shared across multiple VPNs. Further, the mapping YANG | can be shared across multiple VPNs. Further, the mapping YANG | |||
| model described in Section 5 of this document can be used to | model described in Section 5 of this document can be used to | |||
| describe the mapping between the VPN service and the tunnels in | describe the mapping between the VPN service and the tunnels in | |||
| use. No modification of the properties of a tunnel (or VN) is | use. No modification of the properties of a tunnel (or VN) is | |||
| allowed in this mode: an existing tunnel can only be selected. | allowed in this mode: an existing tunnel can only be selected. | |||
| o VN/Tunnel Modify - This mode allows the modification of the | * VN/Tunnel Modify - This mode allows the modification of the | |||
| properties of the existing VN/tunnel (e.g., bandwidth). | properties of the existing VN/tunnel (e.g., bandwidth). | |||
| o TE Mapping Template - This mode allows a VPN service to use a | * TE Mapping Template - This mode allows a VPN service to use a | |||
| mapping template containing constraints and optimization criteria. | mapping template containing constraints and optimization criteria. | |||
| This allows mapping with the underlay TE characteristics without | This allows mapping with the underlay TE characteristics without | |||
| first creating a VN or tunnels to map. The VPN service could be | first creating a VN or tunnels to map. The VPN service could be | |||
| mapped to a template first. Once the VN/Tunnels are actually | mapped to a template first. Once the VN/Tunnels are actually | |||
| created/selected for the VPN service, the mapping based on the | created/selected for the VPN service, the mapping based on the | |||
| actual TE resources is created. | actual TE resources is created. | |||
| 2.2. TE Policy | 2.2. TE Policy | |||
| The service models could be associated with various policies related | The service models could be associated with various policies related | |||
| skipping to change at page 8, line 51 ¶ | skipping to change at page 10, line 16 ¶ | |||
| | LxSM |o-------| | . . . . | ACTN VN | | | LxSM |o-------| | . . . . | ACTN VN | | |||
| +--------------+ augment| | +----------+ | +--------------+ augment| | +----------+ | |||
| | | +----------+ | | | +----------+ | |||
| +--------------+ | Augmented LxSM Model | . . . . | TE-topo | | +--------------+ | Augmented LxSM Model | . . . . | TE-topo | | |||
| | TE & Service |------->| | +----------+ | | TE & Service |------->| | +----------+ | |||
| | Mapping Types| import | | +----------+ | | Mapping Types| import | | +----------+ | |||
| +--------------+ | | . . . . | TE-tunnel| | +--------------+ | | . . . . | TE-tunnel| | |||
| +----------------------+ +----------+ | +----------------------+ +----------+ | |||
| reference | reference | |||
| Figure 1: Augmented LxSM Model | Figure 1: Augmented LxSM Model | |||
| The Augmented LxSM model (where x=1,2,3) augments the basic LxSM | The Augmented LxSM model (where x=1,2,3) augments the basic LxSM | |||
| model while importing the common TE and Service related parameters | model while importing the common TE and Service related parameters | |||
| (defined in Section 2) grouping information from TE and Service | (defined in Section 2) grouping information from TE and Service | |||
| Mapping Types. The TE and Service Mapping Types (ietf-te-service- | Mapping Types. The TE and Service Mapping Types (ietf-te-service- | |||
| mapping-types) module is the repository of all common groupings | mapping-types) module is the repository of all common groupings | |||
| imported by each augmented LxSM model. Any future service models | imported by each augmented LxSM model. Any future service models | |||
| would import this mapping-type common model. | would import this mapping-type common model. | |||
| The role of the augmented LxSm service model is to expose the mapping | The mapping could be made to any underlying TE resources such as VN, | |||
| relationship between service models and TE models so that VN/VPN | TE topology abstract node (and its connectivity matrix), set of TE | |||
| service instantiations provided by the underlying TE networks can be | tunnels etc. This flexibility from the modeling point of view allows | |||
| viewed outside of the MDSC, for example by an operator who is | for various use cases at both service and network model. | |||
| diagnosing the behavior of the network. It also allows for the | ||||
| customers to access operational state information about how their | The role of the augmented LxSM is to expose the mapping relationship | |||
| services are instantiated with the underlying VN, TE topology or TE | between service models and TE models so that VN/VPN service | |||
| tunnels provided that the MDSC operator is willing to share that | instantiations provided by the underlying TE networks can be viewed | |||
| information. This mapping will facilitate a seamless service | outside of the MDSC, for example by an operator who is diagnosing the | |||
| management operation with underlay-TE network visibility. | behavior of the network. Note that this should be done only if the | |||
| operator understands the VN/Tunnel resources and the the MDSC is | ||||
| willing to share that information. It also allows for the customers | ||||
| to access operational state information about how their services are | ||||
| instantiated with the underlying VN, TE topology or TE tunnels. This | ||||
| mapping will facilitate a seamless service management operation with | ||||
| underlay-TE network visibility. | ||||
| As seen in Figure 1, the augmented LxSM service model records a | As seen in Figure 1, the augmented LxSM service model records a | |||
| mapping between the customer service models and the ACTN VN YANG | mapping between the customer service models and the ACTN VN YANG | |||
| model. Thus, when the MDSC receives a service request it creates a | model. Thus, when the MDSC receives a service request it creates a | |||
| VN that meets the customer's service objectives with various | VN that meets the customer's service objectives with various | |||
| constraints via TE-topology model [RFC8795], and this relationship is | constraints via TE-topology model [RFC8795], and this relationship is | |||
| recorded by the Augmented LxSM Model. The model also supports a | recorded by the Augmented LxSM Model. The model also supports a | |||
| mapping between a service model and TE-topology or a TE-tunnel. | mapping between a service model and TE-topology or a TE-tunnel. | |||
| The YANG models defined in this document conforms to the Network | The YANG models defined in this document conforms to the Network | |||
| skipping to change at page 10, line 21 ¶ | skipping to change at page 11, line 40 ¶ | |||
| | LxNM |o-------| | . . . . | ACTN VN | | | LxNM |o-------| | . . . . | ACTN VN | | |||
| +--------------+ augment| | +----------+ | +--------------+ augment| | +----------+ | |||
| | | +----------+ | | | +----------+ | |||
| +--------------+ | Augmented LxNM Model | . . . . | TE-topo | | +--------------+ | Augmented LxNM Model | . . . . | TE-topo | | |||
| | TE & Service |------->| | +----------+ | | TE & Service |------->| | +----------+ | |||
| | Mapping Types| import | | +----------+ | | Mapping Types| import | | +----------+ | |||
| +--------------+ | | . . . . | TE-tunnel| | +--------------+ | | . . . . | TE-tunnel| | |||
| +----------------------+ +----------+ | +----------------------+ +----------+ | |||
| reference | reference | |||
| Figure 2: Augmented LxNM Model | Figure 2: Augmented LxNM Model | |||
| The Augmented LxNM model (where x=2,3) augments the basic LxNM model | The Augmented LxNM model (where x=2,3) augments the basic LxNM model | |||
| while importing the common TE mapping related parameters (defined in | while importing the common TE mapping related parameters (defined in | |||
| Section 2) grouping information from TE and Service Mapping Types. | Section 2) grouping information from TE and Service Mapping Types. | |||
| The role of the augmented LxNM network model is to expose the mapping | The role of the augmented LxNM network model is to expose the mapping | |||
| relationship between network models and TE models. | relationship between network models and TE models. | |||
| 4. L3VPN Architecture in the ACTN Context | 4. L3VPN Architecture in the ACTN Context | |||
| Figure 3 shows the architectural context of this document referencing | Figure 3 shows the architectural context of this document referencing | |||
| skipping to change at page 11, line 33 ¶ | skipping to change at page 13, line 5 ¶ | |||
| | | | | | | |||
| V | SBI | V | SBI | |||
| +---------------------+ | | +---------------------+ | | |||
| / IP/MPLS Network \ | | / IP/MPLS Network \ | | |||
| +-------------------------+ | | +-------------------------+ | | |||
| V | V | |||
| +---------------------+ | +---------------------+ | |||
| / Optical Network \ | / Optical Network \ | |||
| +-------------------------+ | +-------------------------+ | |||
| Figure 3: L3VPN Architecture from the IP+Optical Network Perspective | Figure 3: L3VPN Architecture from the IP+Optical Network Perspective | |||
| There are three main entities in the ACTN architecture and shown in | There are three main entities in the ACTN architecture and shown in | |||
| Figure 3. | Figure 3. | |||
| o CNC: The Customer Network Controller is responsible for generating | * CNC: The Customer Network Controller is responsible for generating | |||
| service requests. In the context of an L3VPN, the CNC uses the | service requests. In the context of an L3VPN, the CNC uses the | |||
| Augmented L3SM to express the service request and communicate it | Augmented L3SM to express the service request and communicate it | |||
| to the network operator. | to the network operator. | |||
| o MDSC: This entity is responsible for coordinating a L3VPN service | * MDSC: This entity is responsible for coordinating a L3VPN service | |||
| request (expressed via the Augmented L3SM) with the IP/MPLS PNC | request (expressed via the Augmented L3SM) with the IP/MPLS PNC | |||
| and the Transport PNC. For TE services, one of the key | and the Transport PNC. For TE services, one of the key | |||
| responsibilities of the MDSC is to coordinate with both the IP PNC | responsibilities of the MDSC is to coordinate with both the IP PNC | |||
| and the Transport PNC for the mapping of the Augmented L3VPN | and the Transport PNC for the mapping of the Augmented L3VPN | |||
| Service Model to the ACTN VN model. In the VN/TE-tunnel binding | Service Model to the ACTN VN model. In the VN/TE-tunnel binding | |||
| case, the MDSC will need to coordinate with the Transport PNC to | case, the MDSC will need to coordinate with the Transport PNC to | |||
| dynamically create the TE-tunnels in the transport network as | dynamically create the TE-tunnels in the transport network as | |||
| needed. These tunnels are added as links in the IP/MPLS Layer | needed. These tunnels are added as links in the IP/MPLS Layer | |||
| topology. The MDSC coordinates with IP/MPLS PNC to create the TE- | topology. The MDSC coordinates with IP/MPLS PNC to create the TE- | |||
| tunnels in the IP/MPLS layer, as part of the ACTN VN creation. | tunnels in the IP/MPLS layer, as part of the ACTN VN creation. | |||
| o PNC: The Provisioning Network Controller is responsible for | * PNC: The Provisioning Network Controller is responsible for | |||
| configuring and operating the network devices. Figure 3 shows two | configuring and operating the network devices. Figure 3 shows two | |||
| distinct PNCs. | distinct PNCs. | |||
| * IP/MPLS PNC (PNC1): This entity is responsible for device | - IP/MPLS PNC (PNC1): This entity is responsible for device | |||
| configuration to create PE-PE L3VPN tunnels for the VPN | configuration to create PE-PE L3VPN tunnels for the VPN | |||
| customer and for the configuration of the L3VPN VRF on the PE | customer and for the configuration of the L3VPN VRF on the PE | |||
| nodes. Each network element would select a tunnel based on the | nodes. Each network element would select a tunnel based on the | |||
| configuration. | configuration. | |||
| * Transport PNC (PNC2): This entity is responsible for device | - Transport PNC (PNC2): This entity is responsible for device | |||
| configuration for TE tunnels in the transport networks. | configuration for TE tunnels in the transport networks. | |||
| The three main interfaces are shown in Figure 3 and listed below. | The three main interfaces are shown in Figure 3 and listed below. | |||
| o CMI: The CNC-MDSC Interface is used to communicate service | * CMI: The CNC-MDSC Interface is used to communicate service | |||
| requests from the customer to the operator. The requests may be | requests from the customer to the operator. The requests may be | |||
| expressed as Augmented VPN service requests (L2SM, L3SM), as | expressed as Augmented VPN service requests (L2SM, L3SM), as | |||
| connectivity requests (L1CSM), or as virtual network requests | connectivity requests (L1CSM), or as virtual network requests | |||
| (ACTN VN). | (ACTN VN). | |||
| o MPI: The MDSC-PNC Interface is used by the MDSC to orchestrate | * MPI: The MDSC-PNC Interface is used by the MDSC to orchestrate | |||
| networks under the control of PNCs. The requests on this | networks under the control of PNCs. The requests on this | |||
| interface may use TE tunnel models, TE topology models, VPN | interface may use TE tunnel models, TE topology models, VPN | |||
| network configuration models or layer one connectivity models. | network configuration models or layer one connectivity models. | |||
| o SBI: The Southbound Interface is used by the PNC to control | * SBI: The Southbound Interface is used by the PNC to control | |||
| network devices and is out of scope for this document. | network devices and is out of scope for this document. | |||
| The TE Service Mapping Model as described in this document can be | The TE Service Mapping Model as described in this document can be | |||
| used to see the mapping between service models and VN models and TE | used to see the mapping between service models and VN models and TE | |||
| Tunnel/Topology models. That mapping may occur in the CNC if a | Tunnel/Topology models. That mapping may occur in the CNC if a | |||
| service request is mapped to a VN request. Or it may occur in the | service request is mapped to a VN request. Or it may occur in the | |||
| MDSC where a service request is mapped to a TE tunnel, TE topology, | MDSC where a service request is mapped to a TE tunnel, TE topology, | |||
| or VPN network configuration model. The TE Service Mapping Model may | or VPN network configuration model. The TE Service Mapping Model may | |||
| be read from the CNC or MDSC to understand how the mapping has been | be read from the CNC or MDSC to understand how the mapping has been | |||
| made and to see the purpose for which network resources are used. | made and to see the purpose for which network resources are used. | |||
| skipping to change at page 13, line 23 ¶ | skipping to change at page 14, line 41 ¶ | |||
| used, each device will select which tunnel to use and populate | used, each device will select which tunnel to use and populate | |||
| this mapping information. | this mapping information. | |||
| 3. The MDSC interacts with both the IP/MPLS PNC and the Transport | 3. The MDSC interacts with both the IP/MPLS PNC and the Transport | |||
| PNC to create a PE-PE tunnel in the IP network mapped to a TE | PNC to create a PE-PE tunnel in the IP network mapped to a TE | |||
| tunnel in the transport network by providing the inter-layer | tunnel in the transport network by providing the inter-layer | |||
| access points and tunnel requirements. The specific service | access points and tunnel requirements. The specific service | |||
| information is passed to the IP/MPLS PNC for the actual VPN | information is passed to the IP/MPLS PNC for the actual VPN | |||
| configuration and activation. | configuration and activation. | |||
| A. The Transport PNC creates the corresponding TE tunnel | a. The Transport PNC creates the corresponding TE tunnel | |||
| matching with the access point and egress point. | matching with the access point and egress point. | |||
| B. The IP/MPLS PNC maps the VPN ID with the corresponding TE | ||||
| b. The IP/MPLS PNC maps the VPN ID with the corresponding TE | ||||
| tunnel ID to bind these two IDs. | tunnel ID to bind these two IDs. | |||
| 4. The IP/MPLS PNC creates/updates a VRF instance for this VPN | 4. The IP/MPLS PNC creates/updates a VRF instance for this VPN | |||
| customer. This is not in the scope of this document. | customer. This is not in the scope of this document. | |||
| 4.1. Service Mapping | 4.1. Service Mapping | |||
| Augmented L3SM and L2SM can be used to request VPN service creation | Augmented L3SM and L2SM can be used to request VPN service creation | |||
| including the creation of sites and corresponding site network access | including the creation of sites and corresponding site network access | |||
| connection between CE and PE. A VPN-ID is used to identify each VPN | connection between CE and PE. A VPN-ID is used to identify each VPN | |||
| skipping to change at page 14, line 12 ¶ | skipping to change at page 15, line 35 ¶ | |||
| virtual network access points (VNAP)). To achieve this, a central | virtual network access points (VNAP)). To achieve this, a central | |||
| directory can be set up to establish the mapping between location | directory can be set up to establish the mapping between location | |||
| parameters and constraints and network attachment point location. | parameters and constraints and network attachment point location. | |||
| Suppose multiple attachment points are matched, the management system | Suppose multiple attachment points are matched, the management system | |||
| can use constraints or other local policy to select the best | can use constraints or other local policy to select the best | |||
| candidate network attachment points. | candidate network attachment points. | |||
| After a network attachment point is selected, the mapping between VPN | After a network attachment point is selected, the mapping between VPN | |||
| site and VNAP can be established as shown in Table 1. | site and VNAP can be established as shown in Table 1. | |||
| +-------+---------+------------------+------------------------+-----+ | +=======+=========+==================+========================+=====+ | |||
| | Site | Site | Location | Access Diversity | PE | | | Site | Site | Location | Access Diversity | PE | | |||
| | | Network | (Address, Postal | (Constraint-Type, | | | | | Network | (Address, | (Constraint-Type, | | | |||
| | | Access | Code, State, | Group-id,Target Group- | | | | | Access | Postal Code, | Group-id,Target Group- | | | |||
| | | | City,Country | id) | | | | | | State, | id) | | | |||
| | | | City,Country | | | | ||||
| | | | Code) | | | | | | | Code) | | | | |||
| +-------+---------+------------------+------------------------+-----+ | +=======+=========+==================+========================+=====+ | |||
| | SITE1 | ACCESS1 | (,,US,NewYork,) | (10,PE-Diverse,10) | PE1 | | | SITE1 | ACCESS1 | (,,US,NewYork,) | (10,PE-Diverse,10) | PE1 | | |||
| +-------+---------+------------------+------------------------+-----+ | +-------+---------+------------------+------------------------+-----+ | |||
| | SITE2 | ACCESS2 | (,,CN,Beijing,) | (10,PE-Diverse,10) | PE2 | | | SITE2 | ACCESS2 | (,,CN,Beijing,) | (10,PE-Diverse,10) | PE2 | | |||
| +-------+---------+------------------+------------------------+-----+ | +-------+---------+------------------+------------------------+-----+ | |||
| | SITE3 | ACCESS3 | (,,UK,London, ) | (12,same-PE,12) | PE4 | | | SITE3 | ACCESS3 | (,,UK,London, ) | (12,same-PE,12) | PE4 | | |||
| +-------+---------+------------------+------------------------+-----+ | +-------+---------+------------------+------------------------+-----+ | |||
| | SITE4 | ACCESS4 | (,,FR,Paris,) | (20,Bearer-Diverse,20) | PE7 | | | SITE4 | ACCESS4 | (,,FR,Paris,) | (20,Bearer-Diverse,20) | PE7 | | |||
| +-------+---------+------------------+------------------------+-----+ | +-------+---------+------------------+------------------------+-----+ | |||
| Table 2: : Mapping Between VPN Site and VNAP | Table 2: : Mapping Between VPN Site and VNAP | |||
| 5. Applicability of TE-Service Mapping in Generic context | 5. Applicability of TE-Service Mapping in Generic context | |||
| As discussed in the Introduction Section, the models presented in | As discussed in the Introduction Section, the models presented in | |||
| this document are also applicable generically outside of the ACTN | this document are also applicable generically outside of the ACTN | |||
| architecture. [RFC8309] defines Customer Service Model between | architecture. [RFC8309] defines Customer Service Model between | |||
| Customer and Service Orchestrator and Service Delivery Model between | Customer and Service Orchestrator and Service Delivery Model between | |||
| Service Orchestrator and Network Orchestrator(s). TE-Service mapping | Service Orchestrator and Network Orchestrator(s). TE-Service mapping | |||
| models defined in this document can be regarded primarily as Customer | models defined in this document can be regarded primarily as Customer | |||
| Service Model and secondarily as Service Deliver Model. | Service Model and secondarily as Service Deliver Model. | |||
| skipping to change at page 16, line 21 ¶ | skipping to change at page 17, line 42 ¶ | |||
| /l3vpn-svc:vpn-service: | /l3vpn-svc:vpn-service: | |||
| +--rw te-service-mapping! | +--rw te-service-mapping! | |||
| +--rw te-mapping | +--rw te-mapping | |||
| +--rw map-type? identityref | +--rw map-type? identityref | |||
| +--rw te-policy | +--rw te-policy | |||
| | +--rw color? uint32 | | +--rw color? uint32 | |||
| | +--rw protection-type? identityref | | +--rw protection-type? identityref | |||
| | +--rw availability-type? identityref | | +--rw availability-type? identityref | |||
| +--rw (te)? | +--rw (te)? | |||
| | +--:(vn) | | +--:(vn) | |||
| | | +--rw vn* -> /vn:vn/vn/vn-id | | | +--rw vn* | |||
| | | -> /vn:virtual-network/vn/vn-id | ||||
| | +--:(te-topo) | | +--:(te-topo) | |||
| | | +--rw vn-topology-id? te-types:te-topology-id | | | +--rw vn-topology-id? te-types:te-topology-id | |||
| | | +--rw abstract-node? | | | +--rw abstract-node? | |||
| | | -> /nw:networks/network/node/node-id | | | -> /nw:networks/network/node/node-id | |||
| | +--:(te-tunnel) | | +--:(te-tunnel) | |||
| | +--rw te-tunnel* te:tunnel-ref | | +--rw te-tunnel* te:tunnel-ref | |||
| | +--rw sr-policy* | | +--rw sr-policy* | |||
| | [policy-color-ref policy-endpoint-ref] | | [policy-color-ref policy-endpoint-ref] | |||
| | {sr-policy}? | | {sr-policy}? | |||
| | +--rw policy-color-ref leafref | | +--rw policy-color-ref leafref | |||
| | +--rw policy-endpoint-ref leafref | | +--rw policy-endpoint-ref leafref | |||
| +--rw te-mapping-template-ref? | +--rw te-mapping-template-ref? | |||
| -> /tsmt:te-mapping-templates/te-mapping-template/id | -> /tsmt:te-mapping-templates/te-mapping-template/id | |||
| {template}? | {template}? | |||
| augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | |||
| /l3vpn-svc:site-network-accesses | /l3vpn-svc:site-network-accesses | |||
| /l3vpn-svc:site-network-access: | /l3vpn-svc:site-network-access: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | |||
| /l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile | /l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile | |||
| /l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes | /l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes | |||
| /l3vpn-svc:class: | /l3vpn-svc:class: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | augment /l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site | |||
| /l3vpn-svc:site-network-accesses | /l3vpn-svc:site-network-accesses | |||
| /l3vpn-svc:site-network-access/l3vpn-svc:service | /l3vpn-svc:site-network-access/l3vpn-svc:service | |||
| /l3vpn-svc:qos/l3vpn-svc:qos-profile | /l3vpn-svc:qos/l3vpn-svc:qos-profile | |||
| /l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes | /l3vpn-svc:qos-profile/l3vpn-svc:custom/l3vpn-svc:classes | |||
| /l3vpn-svc:class: | /l3vpn-svc:class: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| 6.2.2. L2SM | 6.2.2. L2SM | |||
| module: ietf-l2sm-te-service-mapping | module: ietf-l2sm-te-service-mapping | |||
| augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services | augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services | |||
| /l2vpn-svc:vpn-service: | /l2vpn-svc:vpn-service: | |||
| +--rw te-service-mapping! | +--rw te-service-mapping! | |||
| +--rw te-mapping | +--rw te-mapping | |||
| +--rw map-type? identityref | +--rw map-type? identityref | |||
| +--rw te-policy | +--rw te-policy | |||
| | +--rw color? uint32 | | +--rw color? uint32 | |||
| | +--rw protection-type? identityref | | +--rw protection-type? identityref | |||
| | +--rw availability-type? identityref | | +--rw availability-type? identityref | |||
| +--rw (te)? | +--rw (te)? | |||
| | +--:(vn) | | +--:(vn) | |||
| | | +--rw vn* -> /vn:vn/vn/vn-id | | | +--rw vn* | |||
| | | -> /vn:virtual-network/vn/vn-id | ||||
| | +--:(te-topo) | | +--:(te-topo) | |||
| | | +--rw vn-topology-id? te-types:te-topology-id | | | +--rw vn-topology-id? te-types:te-topology-id | |||
| | | +--rw abstract-node? | | | +--rw abstract-node? | |||
| | | -> /nw:networks/network/node/node-id | | | -> /nw:networks/network/node/node-id | |||
| | +--:(te-tunnel) | | +--:(te-tunnel) | |||
| | +--rw te-tunnel* te:tunnel-ref | | +--rw te-tunnel* te:tunnel-ref | |||
| | +--rw sr-policy* | | +--rw sr-policy* | |||
| | [policy-color-ref policy-endpoint-ref] | | [policy-color-ref policy-endpoint-ref] | |||
| | {sr-policy}? | | {sr-policy}? | |||
| | +--rw policy-color-ref leafref | | +--rw policy-color-ref leafref | |||
| | +--rw policy-endpoint-ref leafref | | +--rw policy-endpoint-ref leafref | |||
| +--rw te-mapping-template-ref? | +--rw te-mapping-template-ref? | |||
| -> /tsmt:te-mapping-templates/te-mapping-template/id | -> /tsmt:te-mapping-templates/te-mapping-template/id | |||
| {template}? | {template}? | |||
| augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | |||
| /l2vpn-svc:site-network-accesses | /l2vpn-svc:site-network-accesses | |||
| /l2vpn-svc:site-network-access: | /l2vpn-svc:site-network-access: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | |||
| /l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile | /l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile | |||
| /l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes | /l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes | |||
| /l2vpn-svc:class: | /l2vpn-svc:class: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | augment /l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site | |||
| /l2vpn-svc:site-network-accesses | /l2vpn-svc:site-network-accesses | |||
| /l2vpn-svc:site-network-access/l2vpn-svc:service | /l2vpn-svc:site-network-access/l2vpn-svc:service | |||
| /l2vpn-svc:qos/l2vpn-svc:qos-profile | /l2vpn-svc:qos/l2vpn-svc:qos-profile | |||
| /l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes | /l2vpn-svc:qos-profile/l2vpn-svc:custom/l2vpn-svc:classes | |||
| /l2vpn-svc:class: | /l2vpn-svc:class: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| 6.2.3. L1CSM | 6.2.3. L1CSM | |||
| module: ietf-l1csm-te-service-mapping | module: ietf-l1csm-te-service-mapping | |||
| augment /l1csm:l1-connectivity/l1csm:services/l1csm:service: | augment /l1csm:l1-connectivity/l1csm:services/l1csm:service: | |||
| +--rw te-service-mapping! | +--rw te-service-mapping! | |||
| +--rw te-mapping | +--rw te-mapping | |||
| +--rw map-type? identityref | +--rw map-type? identityref | |||
| +--rw te-policy | +--rw te-policy | |||
| | +--rw color? uint32 | | +--rw color? uint32 | |||
| | +--rw protection-type? identityref | | +--rw protection-type? identityref | |||
| | +--rw availability-type? identityref | | +--rw availability-type? identityref | |||
| +--rw (te)? | +--rw (te)? | |||
| | +--:(vn) | | +--:(vn) | |||
| | | +--rw vn* -> /vn:vn/vn/vn-id | | | +--rw vn* | |||
| | | -> /vn:virtual-network/vn/vn-id | ||||
| | +--:(te-topo) | | +--:(te-topo) | |||
| | | +--rw vn-topology-id? te-types:te-topology-id | | | +--rw vn-topology-id? te-types:te-topology-id | |||
| | | +--rw abstract-node? | | | +--rw abstract-node? | |||
| | | -> /nw:networks/network/node/node-id | | | -> /nw:networks/network/node/node-id | |||
| | +--:(te-tunnel) | | +--:(te-tunnel) | |||
| | +--rw te-tunnel* te:tunnel-ref | | +--rw te-tunnel* te:tunnel-ref | |||
| | +--rw sr-policy* | | +--rw sr-policy* | |||
| | [policy-color-ref policy-endpoint-ref] | | [policy-color-ref policy-endpoint-ref] | |||
| | {sr-policy}? | | {sr-policy}? | |||
| | +--rw policy-color-ref leafref | | +--rw policy-color-ref leafref | |||
| | +--rw policy-endpoint-ref leafref | | +--rw policy-endpoint-ref leafref | |||
| +--rw te-mapping-template-ref? | +--rw te-mapping-template-ref? | |||
| -> /tsmt:te-mapping-templates/te-mapping-template/id | -> /tsmt:te-mapping-templates/te-mapping-template/id | |||
| {template}? | {template}? | |||
| augment /l1csm:l1-connectivity/l1csm:access/l1csm:unis/l1csm:uni: | augment /l1csm:l1-connectivity/l1csm:access/l1csm:unis/l1csm:uni: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| 6.3. Network Models | 6.3. Network Models | |||
| 6.3.1. L3NM | 6.3.1. L3NM | |||
| module: ietf-l3nm-te-service-mapping | module: ietf-l3nm-te-service-mapping | |||
| augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services | augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services | |||
| /l3vpn-ntw:vpn-service: | /l3vpn-ntw:vpn-service: | |||
| +--rw te-service-mapping! | +--rw te-service-mapping! | |||
| +--rw te-mapping | +--rw te-mapping | |||
| +--rw map-type? identityref | +--rw map-type? identityref | |||
| +--rw te-policy | +--rw te-policy | |||
| | +--rw color? uint32 | | +--rw color? uint32 | |||
| | +--rw protection-type? identityref | | +--rw protection-type? identityref | |||
| | +--rw availability-type? identityref | | +--rw availability-type? identityref | |||
| +--rw (te)? | +--rw (te)? | |||
| | +--:(vn) | | +--:(vn) | |||
| | | +--rw vn* -> /vn:vn/vn/vn-id | | | +--rw vn* | |||
| | | -> /vn:virtual-network/vn/vn-id | ||||
| | +--:(te-topo) | | +--:(te-topo) | |||
| | | +--rw vn-topology-id? te-types:te-topology-id | | | +--rw vn-topology-id? te-types:te-topology-id | |||
| | | +--rw abstract-node? | | | +--rw abstract-node? | |||
| | | -> /nw:networks/network/node/node-id | | | -> /nw:networks/network/node/node-id | |||
| | +--:(te-tunnel) | | +--:(te-tunnel) | |||
| | +--rw te-tunnel* te:tunnel-ref | | +--rw te-tunnel* te:tunnel-ref | |||
| | +--rw sr-policy* | | +--rw sr-policy* | |||
| | [policy-color-ref policy-endpoint-ref] | | [policy-color-ref policy-endpoint-ref] | |||
| | {sr-policy}? | | {sr-policy}? | |||
| | +--rw policy-color-ref leafref | | +--rw policy-color-ref leafref | |||
| | +--rw policy-endpoint-ref leafref | | +--rw policy-endpoint-ref leafref | |||
| +--rw te-mapping-template-ref? | +--rw te-mapping-template-ref? | |||
| -> /tsmt:te-mapping-templates/te-mapping-template/id | -> /tsmt:te-mapping-templates/te-mapping-template/id | |||
| {template}? | {template}? | |||
| augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services | augment /l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services | |||
| /l3vpn-ntw:vpn-service/l3vpn-ntw:vpn-nodes | /l3vpn-ntw:vpn-service/l3vpn-ntw:vpn-nodes | |||
| /l3vpn-ntw:vpn-node/l3vpn-ntw:vpn-network-accesses | /l3vpn-ntw:vpn-node/l3vpn-ntw:vpn-network-accesses | |||
| /l3vpn-ntw:vpn-network-access: | /l3vpn-ntw:vpn-network-access: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| 6.3.2. L2NM | 6.3.2. L2NM | |||
| module: ietf-l2nm-te-service-mapping | module: ietf-l2nm-te-service-mapping | |||
| augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services | augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services | |||
| /l2vpn-ntw:vpn-service: | /l2vpn-ntw:vpn-service: | |||
| +--rw te-service-mapping! | +--rw te-service-mapping! | |||
| +--rw te-mapping | +--rw te-mapping | |||
| +--rw map-type? identityref | +--rw map-type? identityref | |||
| +--rw te-policy | +--rw te-policy | |||
| | +--rw color? uint32 | | +--rw color? uint32 | |||
| | +--rw protection-type? identityref | | +--rw protection-type? identityref | |||
| | +--rw availability-type? identityref | | +--rw availability-type? identityref | |||
| +--rw (te)? | +--rw (te)? | |||
| | +--:(vn) | | +--:(vn) | |||
| | | +--rw vn* -> /vn:vn/vn/vn-id | | | +--rw vn* | |||
| | | -> /vn:virtual-network/vn/vn-id | ||||
| | +--:(te-topo) | | +--:(te-topo) | |||
| | | +--rw vn-topology-id? te-types:te-topology-id | | | +--rw vn-topology-id? te-types:te-topology-id | |||
| | | +--rw abstract-node? | | | +--rw abstract-node? | |||
| | | -> /nw:networks/network/node/node-id | | | -> /nw:networks/network/node/node-id | |||
| | +--:(te-tunnel) | | +--:(te-tunnel) | |||
| | +--rw te-tunnel* te:tunnel-ref | | +--rw te-tunnel* te:tunnel-ref | |||
| | +--rw sr-policy* | | +--rw sr-policy* | |||
| | [policy-color-ref policy-endpoint-ref] | | [policy-color-ref policy-endpoint-ref] | |||
| | {sr-policy}? | | {sr-policy}? | |||
| | +--rw policy-color-ref leafref | | +--rw policy-color-ref leafref | |||
| | +--rw policy-endpoint-ref leafref | | +--rw policy-endpoint-ref leafref | |||
| +--rw te-mapping-template-ref? | +--rw te-mapping-template-ref? | |||
| -> /tsmt:te-mapping-templates/te-mapping-template/id | -> /tsmt:te-mapping-templates/te-mapping-template/id | |||
| {template}? | {template}? | |||
| augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services | augment /l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services | |||
| /l2vpn-ntw:vpn-service/l2vpn-ntw:vpn-nodes | /l2vpn-ntw:vpn-service/l2vpn-ntw:vpn-nodes | |||
| /l2vpn-ntw:vpn-node/l2vpn-ntw:vpn-network-accesses | /l2vpn-ntw:vpn-node/l2vpn-ntw:vpn-network-accesses | |||
| /l2vpn-ntw:vpn-network-access: | /l2vpn-ntw:vpn-network-access: | |||
| +--rw (te)? | +--rw (te)? | |||
| +--:(vn) | +--:(vn) | |||
| | +--rw vn-ap* -> /vn:ap/ap/vn-ap/vn-ap-id | | +--rw vn-ap* -> /vn:access-point/ap/vn-ap/vn-ap-id | |||
| +--:(te) | +--:(te) | |||
| +--rw ltp? te-types:te-tp-id | +--rw ltp? te-types:te-tp-id | |||
| 7. YANG Data Models | 7. YANG Data Models | |||
| The YANG codes are as follows: | The YANG codes are as follows: | |||
| 7.1. ietf-te-service-mapping-types | 7.1. ietf-te-service-mapping-types | |||
| <CODE BEGINS> file "ietf-te-service-mapping-types@2021-08-28.yang" | ||||
| module ietf-te-service-mapping-types { | ||||
| yang-version 1.1; | ||||
| namespace | ||||
| "urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types"; | ||||
| prefix tsmt; | ||||
| <CODE BEGINS> file "ietf-te-service-mapping-types@2021-02-22.yang" | /* Import te-types */ | |||
| module ietf-te-service-mapping-types { | ||||
| yang-version 1.1; | ||||
| namespace | ||||
| "urn:ietf:params:xml:ns:yang:ietf-te-service-mapping-types"; | ||||
| prefix tsmt; | ||||
| /* Import te-types */ | ||||
| import ietf-te-types { | ||||
| prefix te-types; | ||||
| reference | ||||
| "RFC 8776: Common YANG Data Types for Traffic Engineering"; | ||||
| } | ||||
| /* Import network model */ | import ietf-te-types { | |||
| prefix te-types; | ||||
| reference | ||||
| "RFC 8776: Common YANG Data Types for Traffic Engineering"; | ||||
| } | ||||
| import ietf-network { | /* Import network model */ | |||
| prefix nw; | ||||
| reference | ||||
| "RFC 8345: A YANG Data Model for Network Topologies"; | ||||
| } | ||||
| /* Import TE model */ | import ietf-network { | |||
| prefix nw; | ||||
| reference | ||||
| "RFC 8345: A YANG Data Model for Network Topologies"; | ||||
| } | ||||
| import ietf-te { | /* Import TE model */ | |||
| prefix te; | ||||
| reference | ||||
| "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic | ||||
| Engineering Tunnels and Interfaces"; | ||||
| } | ||||
| /* Import VN model */ | import ietf-te { | |||
| prefix te; | ||||
| reference | ||||
| "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic | ||||
| Engineering Tunnels and Interfaces"; | ||||
| } | ||||
| import ietf-vn { | /* Import VN model */ | |||
| prefix vn; | ||||
| reference | ||||
| "I-D.ietf-teas-actn-vn-yang: A Yang Data Model for VN Operation"; | ||||
| } | ||||
| /* Import Routing */ | import ietf-vn { | |||
| prefix vn; | ||||
| reference | ||||
| "I-D.ietf-teas-actn-vn-yang: A Yang Data Model for VN Operation"; | ||||
| } | ||||
| import ietf-routing { | /* Import Routing */ | |||
| prefix rt; | ||||
| reference | ||||
| "RFC 8349: A YANG Data Model for Routing Management"; | ||||
| } | ||||
| /* Import SR Policy */ | import ietf-routing { | |||
| prefix rt; | ||||
| reference | ||||
| "RFC 8349: A YANG Data Model for Routing Management"; | ||||
| } | ||||
| /* Import SR Policy */ | ||||
| import ietf-sr-policy { | import ietf-sr-policy { | |||
| prefix sr-policy; | prefix sr-policy; | |||
| reference | reference | |||
| "I-D.ietf-spring-sr-policy-yang: YANG Data Model for Segment | "I-D.ietf-spring-sr-policy-yang: YANG Data Model for Segment | |||
| Routing Policy"; | Routing Policy"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Working Group"; | Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
| Editor: Young Lee | Editor: Young Lee | |||
| <mailto:younglee.tx@gmail.com> | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | Editor: Dhruv Dhody | |||
| <mailto:dhruv.ietf@gmail.com> | <mailto:dhruv.ietf@gmail.com> | |||
| Editor: Qin Wu | Editor: Qin Wu | |||
| <mailto:bill.wu@huawei.com>"; | <mailto:bill.wu@huawei.com>"; | |||
| description | description | |||
| "This module contains a YANG module for TE & Service mapping | "This module contains a YANG module for TE & Service mapping | |||
| parameters and policies as a common grouping applicable to | parameters and policies as a common grouping applicable to | |||
| variuous service models (e.g., L1CSM, L2SM, L3SM, etc.) | variuous service models (e.g., L1CSM, L2SM, L3SM, etc.) | |||
| Copyright (c) 2021 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see the | This version of this YANG module is part of RFC XXXX; see the | |||
| RFC itself for full legal notices. | RFC itself for full legal notices."; | |||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | revision 2021-08-28 { | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | description | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | "Initial revision."; | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | reference | |||
| they appear in all capitals, as shown here."; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | ||||
| revision 2021-02-22 { | /* | |||
| description | * Features | |||
| "Initial revision."; | */ | |||
| reference | ||||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | ||||
| } | ||||
| /* | ||||
| * Features | ||||
| */ | ||||
| feature template { | feature template { | |||
| description | description | |||
| "Support TE mapping templates."; | "Support TE mapping templates."; | |||
| } | } | |||
| feature sr-policy { | feature sr-policy { | |||
| description | description | |||
| "Support SR Policy."; | "Support SR Policy."; | |||
| } | } | |||
| /* | /* | |||
| * Identity for map-type | * Identity for map-type | |||
| */ | */ | |||
| identity map-type { | identity map-type { | |||
| description | description | |||
| "Base identity from which specific map types are derived."; | "Base identity from which specific map types are derived."; | |||
| } | } | |||
| identity new { | identity new { | |||
| base map-type; | base map-type; | |||
| description | description | |||
| "The new VN/tunnels are binded to the service."; | "The new VN/tunnels are binded to the service."; | |||
| } | } | |||
| identity hard-isolation { | identity hard-isolation { | |||
| base new; | base new; | |||
| description | description | |||
| "Hard isolation."; | "Hard isolation."; | |||
| } | } | |||
| identity detnet-hard-isolation { | identity detnet-hard-isolation { | |||
| base hard-isolation; | base hard-isolation; | |||
| description | description | |||
| "Hard isolation with deterministic characteristics."; | "Hard isolation with deterministic characteristics."; | |||
| } | } | |||
| identity soft-isolation { | identity soft-isolation { | |||
| base new; | base new; | |||
| description | description | |||
| "Soft-isolation."; | "Soft-isolation."; | |||
| } | } | |||
| identity select { | identity select { | |||
| base map-type; | base map-type; | |||
| description | description | |||
| "The VPN service selects an existing tunnel with no | "The VPN service selects an existing tunnel with no | |||
| modification."; | modification."; | |||
| } | } | |||
| identity modify { | identity modify { | |||
| base map-type; | base map-type; | |||
| description | description | |||
| "The VPN service selects an existing tunnel and allows to modify | "The VPN service selects an existing tunnel and allows to modify | |||
| the properties of the tunnel (e.g., b/w)"; | the properties of the tunnel (e.g., b/w)"; | |||
| } | } | |||
| identity none { | identity none { | |||
| base map-type; | base map-type; | |||
| description | description | |||
| "The VPN service is not mapped to any underlying TE"; | "The VPN service is not mapped to any underlying TE"; | |||
| } | } | |||
| /* | /* | |||
| * Identity for availability-type | * Identity for availability-type | |||
| */ | */ | |||
| identity availability-type { | identity availability-type { | |||
| description | description | |||
| "Base identity from which specific map types are derived."; | "Base identity from which specific map types are derived."; | |||
| } | } | |||
| identity level-1 { | identity level-1 { | |||
| base availability-type; | base availability-type; | |||
| description | description | |||
| "level 1: 99.9999%"; | "level 1: 99.9999%"; | |||
| } | } | |||
| identity level-2 { | identity level-2 { | |||
| base availability-type; | base availability-type; | |||
| description | description | |||
| "level 2: 99.999%"; | "level 2: 99.999%"; | |||
| } | } | |||
| identity level-3 { | identity level-3 { | |||
| base availability-type; | base availability-type; | |||
| description | description | |||
| "level 3: 99.99%"; | "level 3: 99.99%"; | |||
| } | } | |||
| identity level-4 { | identity level-4 { | |||
| base availability-type; | base availability-type; | |||
| description | description | |||
| "level 4: 99.9%"; | "level 4: 99.9%"; | |||
| } | } | |||
| identity level-5 { | identity level-5 { | |||
| base availability-type; | base availability-type; | |||
| description | description | |||
| "level 5: 99%"; | "level 5: 99%"; | |||
| } | } | |||
| /* | /* | |||
| * Typedef | * Typedef | |||
| */ | */ | |||
| typedef te-mapping-template-id { | typedef te-mapping-template-id { | |||
| type string; | type string; | |||
| description | description | |||
| "Identifier for a TE mapping template."; | "Identifier for a TE mapping template."; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping te-ref { | grouping te-ref { | |||
| description | ||||
| "The reference to TE."; | ||||
| choice te { | ||||
| description | description | |||
| "How the VPN is mapped to a VN, Topology, Tunnel, SR Policy | "The reference to TE."; | |||
| etc."; | choice te { | |||
| case vn { | description | |||
| leaf-list vn { | "How the VPN is mapped to a VN, Topology, Tunnel, SR Policy | |||
| type leafref { | etc."; | |||
| path "/vn:vn/vn:vn/vn:vn-id"; | case vn { | |||
| leaf-list vn { | ||||
| type leafref { | ||||
| path "/vn:virtual-network/vn:vn/vn:vn-id"; | ||||
| } | ||||
| description | ||||
| "The reference to VN"; | ||||
| reference | ||||
| "RFC 8453: Framework for Abstraction and Control of TE | ||||
| Networks (ACTN)"; | ||||
| } | } | |||
| description | ||||
| "The reference to VN"; | ||||
| reference | ||||
| "RFC 8453: Framework for Abstraction and Control of TE | ||||
| Networks (ACTN)"; | ||||
| } | } | |||
| } | case te-topo { | |||
| case te-topo { | leaf vn-topology-id { | |||
| leaf vn-topology-id { | type te-types:te-topology-id; | |||
| type te-types:te-topology-id; | description | |||
| description | "An identifier to the TE Topology Model where the abstract | |||
| "An identifier to the TE Topology Model where the abstract | nodes and links of the Topology can be found for Type 2 | |||
| nodes and links of the Topology can be found for Type 2 | VNs as defined in RFC 8453"; | |||
| VNs as defined in RFC 8453"; | reference | |||
| reference | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | Topologies | |||
| Topologies | RFC 8453: Framework for Abstraction and Control of TE | |||
| RFC 8453: Framework for Abstraction and Control of TE | Networks (ACTN)"; | |||
| Networks (ACTN)"; | ||||
| } | ||||
| leaf abstract-node { | ||||
| type leafref { | ||||
| path "/nw:networks/nw:network/nw:node/nw:node-id"; | ||||
| } | } | |||
| description | leaf abstract-node { | |||
| "A reference to the abstract node in TE Topology"; | ||||
| reference | ||||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | ||||
| Topologies"; | ||||
| } | ||||
| } | ||||
| case te-tunnel { | ||||
| leaf-list te-tunnel { | ||||
| type te:tunnel-ref; | ||||
| description | ||||
| "Reference to TE Tunnels"; | ||||
| reference | ||||
| "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic | ||||
| Engineering Tunnels and Interfaces"; | ||||
| } | ||||
| list sr-policy { | ||||
| if-feature "sr-policy"; | ||||
| key "policy-color-ref policy-endpoint-ref"; | ||||
| description | ||||
| "SR Policy"; | ||||
| leaf policy-color-ref { | ||||
| type leafref { | type leafref { | |||
| path | path "/nw:networks/nw:network/nw:node/nw:node-id"; | |||
| "/rt:routing/sr-policy:segment-routing" | ||||
| + "/sr-policy:traffic-engineering/sr-policy:policies" | ||||
| + "/sr-policy:policy/sr-policy:color"; | ||||
| } | } | |||
| description | description | |||
| "Reference to sr-policy color"; | "A reference to the abstract node in TE Topology"; | |||
| reference | ||||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | ||||
| Topologies"; | ||||
| } | } | |||
| leaf policy-endpoint-ref { | } | |||
| type leafref { | case te-tunnel { | |||
| path | leaf-list te-tunnel { | |||
| "/rt:routing/sr-policy:segment-routing" | type te:tunnel-ref; | |||
| + "/sr-policy:traffic-engineering/sr-policy:policies" | ||||
| + "/sr-policy:policy/sr-policy:endpoint"; | ||||
| } | ||||
| description | description | |||
| "Reference to sr-policy endpoint"; | "Reference to TE Tunnels"; | |||
| reference | ||||
| "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic | ||||
| Engineering Tunnels and Interfaces"; | ||||
| } | ||||
| list sr-policy { | ||||
| if-feature "sr-policy"; | ||||
| key "policy-color-ref policy-endpoint-ref"; | ||||
| description | ||||
| "SR Policy"; | ||||
| leaf policy-color-ref { | ||||
| type leafref { | ||||
| path | ||||
| "/rt:routing/sr-policy:segment-routing" | ||||
| + "/sr-policy:traffic-engineering/sr-policy:policies" | ||||
| + "/sr-policy:policy/sr-policy:color"; | ||||
| } | ||||
| description | ||||
| "Reference to sr-policy color"; | ||||
| } | ||||
| leaf policy-endpoint-ref { | ||||
| type leafref { | ||||
| path | ||||
| "/rt:routing/sr-policy:segment-routing" | ||||
| + "/sr-policy:traffic-engineering/sr-policy:policies" | ||||
| + "/sr-policy:policy/sr-policy:endpoint"; | ||||
| } | ||||
| description | ||||
| "Reference to sr-policy endpoint"; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | leaf te-mapping-template-ref { | |||
| leaf te-mapping-template-ref { | if-feature "template"; | |||
| if-feature "template"; | type leafref { | |||
| type leafref { | path "/tsmt:te-mapping-templates/" | |||
| path "/tsmt:te-mapping-templates/" | + "tsmt:te-mapping-template/tsmt:id"; | |||
| + "tsmt:te-mapping-template/tsmt:id"; | } | |||
| description | ||||
| "An identifier to the TE Mapping Template where the TE | ||||
| constraints and optimization criteria are specified."; | ||||
| } | } | |||
| description | ||||
| "An identifier to the TE Mapping Template where the TE | ||||
| constraints and optimization criteria are specified."; | ||||
| } | } | |||
| } | ||||
| //grouping | //grouping | |||
| grouping te-endpoint-ref { | grouping te-endpoint-ref { | |||
| description | ||||
| "The reference to TE endpoints."; | ||||
| choice te { | ||||
| description | description | |||
| "How the TE endpoint is defined by VN's AP or TE's LTP"; | "The reference to TE endpoints."; | |||
| case vn { | choice te { | |||
| leaf-list vn-ap { | description | |||
| type leafref { | "How the TE endpoint is defined by VN's AP or TE's LTP"; | |||
| path "/vn:ap/vn:ap/vn:vn-ap/vn:vn-ap-id"; | case vn { | |||
| leaf-list vn-ap { | ||||
| type leafref { | ||||
| path "/vn:access-point/vn:ap/vn:vn-ap/vn:vn-ap-id"; | ||||
| } | ||||
| description | ||||
| "The reference to VNAP"; | ||||
| reference | ||||
| "RFC 8453: Framework for Abstraction and Control of TE | ||||
| Networks (ACTN)"; | ||||
| } | } | |||
| description | ||||
| "The reference to VNAP"; | ||||
| reference | ||||
| "RFC 8453: Framework for Abstraction and Control of TE | ||||
| Networks (ACTN)"; | ||||
| } | } | |||
| } | case te { | |||
| case te { | leaf ltp { | |||
| leaf ltp { | type te-types:te-tp-id; | |||
| type te-types:te-tp-id; | description | |||
| description | "Reference LTP in the TE-topology"; | |||
| "Reference LTP in the TE-topology"; | reference | |||
| reference | "RFC 8795: YANG Data Model for Traffic Engineering (TE) | |||
| "RFC 8795: YANG Data Model for Traffic Engineering (TE) | Topologies"; | |||
| Topologies"; | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| } | ||||
| //grouping | //grouping | |||
| grouping te-policy { | grouping te-policy { | |||
| description | ||||
| "Various underlying TE policy requirements"; | ||||
| leaf color { | ||||
| type uint32; | ||||
| description | ||||
| "Maps to the underlying colored TE resources"; | ||||
| } | ||||
| leaf protection-type { | ||||
| type identityref { | ||||
| base te-types:lsp-protection-type; | ||||
| } | ||||
| description | description | |||
| "Desired protection level for the underlying | "Various underlying TE policy requirements"; | |||
| TE resources"; | leaf color { | |||
| } | type uint32; | |||
| leaf availability-type { | description | |||
| type identityref { | "Maps to the underlying colored TE resources"; | |||
| base availability-type; | ||||
| } | } | |||
| description | leaf protection-type { | |||
| "Availability Requirement for the Service"; | ||||
| } | ||||
| } | ||||
| //grouping | ||||
| grouping te-mapping { | ||||
| description | ||||
| "Mapping between Services and TE"; | ||||
| container te-mapping { | ||||
| description | ||||
| "Mapping between Services and TE"; | ||||
| leaf map-type { | ||||
| type identityref { | type identityref { | |||
| base map-type; | base te-types:lsp-protection-type; | |||
| } | } | |||
| description | description | |||
| "Isolation Requirements, Tunnel Bind or | "Desired protection level for the underlying | |||
| Tunnel Selection"; | TE resources"; | |||
| } | } | |||
| container te-policy { | leaf availability-type { | |||
| uses te-policy; | type identityref { | |||
| base availability-type; | ||||
| } | ||||
| description | description | |||
| "Desired Underlying TE Policy"; | "Availability Requirement for the Service"; | |||
| } | } | |||
| uses te-ref; | ||||
| } | } | |||
| } | ||||
| //grouping | //grouping | |||
| container te-mapping-templates { | grouping te-mapping { | |||
| description | description | |||
| "The TE constraints and optimization criteria"; | "Mapping between Services and TE"; | |||
| list te-mapping-template { | container te-mapping { | |||
| key "id"; | ||||
| leaf id { | ||||
| type te-mapping-template-id; | ||||
| description | ||||
| "Identification of the Template to be used."; | ||||
| } | ||||
| leaf description { | ||||
| type string; | ||||
| description | description | |||
| "Description of the template."; | "Mapping between Services and TE"; | |||
| leaf map-type { | ||||
| type identityref { | ||||
| base map-type; | ||||
| } | ||||
| description | ||||
| "Isolation Requirements, Tunnel Bind or | ||||
| Tunnel Selection"; | ||||
| } | ||||
| container te-policy { | ||||
| uses te-policy; | ||||
| description | ||||
| "Desired Underlying TE Policy"; | ||||
| } | ||||
| uses te-ref; | ||||
| } | } | |||
| leaf map-type { | } | |||
| type identityref { | ||||
| base map-type; | //grouping | |||
| container te-mapping-templates { | ||||
| description | ||||
| "The TE constraints and optimization criteria"; | ||||
| list te-mapping-template { | ||||
| key "id"; | ||||
| leaf id { | ||||
| type te-mapping-template-id; | ||||
| description | ||||
| "Identification of the Template to be used."; | ||||
| } | } | |||
| must "0 = derived-from-or-self(.,'none')" { | leaf description { | |||
| error-message "The map-type must be other than " | type string; | |||
| + "none"; | description | |||
| "Description of the template."; | ||||
| } | ||||
| leaf map-type { | ||||
| type identityref { | ||||
| base map-type; | ||||
| } | ||||
| must "0 = derived-from-or-self(.,'none')" { | ||||
| error-message "The map-type must be other than " | ||||
| + "none"; | ||||
| } | ||||
| description | ||||
| "Map type for the VN/Tunnel creation/ | ||||
| selection."; | ||||
| } | } | |||
| uses te-types:generic-path-constraints; | ||||
| uses te-types:generic-path-optimization; | ||||
| description | description | |||
| "Map type for the VN/Tunnel creation/ | "List for templates."; | |||
| selection."; | ||||
| } | } | |||
| uses te-types:generic-path-constraints; | ||||
| uses te-types:generic-path-optimization; | ||||
| description | ||||
| "List for templates."; | ||||
| } | } | |||
| } | } | |||
| } | <CODE ENDS> | |||
| <CODE ENDS> | ||||
| 7.2. Service Models | 7.2. Service Models | |||
| 7.2.1. ietf-l3sm-te-service-mapping | 7.2.1. ietf-l3sm-te-service-mapping | |||
| <CODE BEGINS> file "ietf-l3sm-te-service-mapping@2021-02-22.yang" | <CODE BEGINS> file "ietf-l3sm-te-service-mapping@2021-08-28.yang" | |||
| module ietf-l3sm-te-service-mapping { | module ietf-l3sm-te-service-mapping { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping"; | "urn:ietf:params:xml:ns:yang:ietf-l3sm-te-service-mapping"; | |||
| prefix l3-tsm; | prefix l3-tsm; | |||
| import ietf-te-service-mapping-types { | import ietf-te-service-mapping-types { | |||
| prefix tsmt; | prefix tsmt; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| import ietf-l3vpn-svc { | import ietf-l3vpn-svc { | |||
| prefix l3vpn-svc; | prefix l3vpn-svc; | |||
| reference | reference | |||
| "RFC 8299: YANG Data Model for L3VPN Service Delivery"; | "RFC 8299: YANG Data Model for L3VPN Service Delivery"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Working Group"; | Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
| Editor: Young Lee | Editor: Young Lee | |||
| <mailto:younglee.tx@gmail.com> | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | Editor: Dhruv Dhody | |||
| <mailto:dhruv.ietf@gmail.com> | <mailto:dhruv.ietf@gmail.com> | |||
| Editor: Qin Wu | Editor: Qin Wu | |||
| <mailto:bill.wu@huawei.com>"; | <mailto:bill.wu@huawei.com>"; | |||
| description | description | |||
| "This module contains a YANG module for the mapping of Layer 3 | "This module contains a YANG module for the mapping of Layer 3 | |||
| Service Model (L3SM) to the TE and VN. | Service Model (L3SM) to the TE and VN. | |||
| Copyright (c) 2020 IETF Trust and the persons identified as | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX; see the | ||||
| RFC itself for full legal notices."; | ||||
| This version of this YANG module is part of RFC XXXX; see the | revision 2021-08-28 { | |||
| RFC itself for full legal notices. | description | |||
| "Initial revision."; | ||||
| reference | ||||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | ||||
| } | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | /* | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | * Augmentation to L3SM | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | */ | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
| they appear in all capitals, as shown here."; | ||||
| revision 2021-02-22 { | augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services" | |||
| description | + "/l3vpn-svc:vpn-service" { | |||
| "Initial revision."; | description | |||
| reference | "L3SM augmented to include TE parameters and mapping"; | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | container te-service-mapping { | |||
| } | presence "Indicates L3 service to TE mapping"; | |||
| description | ||||
| "Container to augment l3sm to TE parameters and mapping"; | ||||
| uses tsmt:te-mapping; | ||||
| } | ||||
| } | ||||
| /* | //augment | |||
| * Augmentation to L3SM | ||||
| */ | ||||
| augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:vpn-services" | augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | |||
| + "/l3vpn-svc:vpn-service" { | + "/l3vpn-svc:site-network-accesses" | |||
| description | + "/l3vpn-svc:site-network-access" { | |||
| "L3SM augmented to include TE parameters and mapping"; | ||||
| container te-service-mapping { | ||||
| presence "Indicates L3 service to TE mapping"; | ||||
| description | description | |||
| "Container to augment l3sm to TE parameters and mapping"; | "This augment is only valid for TE mapping of L3SM network-access | |||
| uses tsmt:te-mapping; | to TE endpoints"; | |||
| uses tsmt:te-endpoint-ref; | ||||
| } | } | |||
| } | ||||
| //augment | //augment | |||
| augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | ||||
| + "/l3vpn-svc:site-network-accesses" | ||||
| + "/l3vpn-svc:site-network-access" { | ||||
| description | ||||
| "This augment is only valid for TE mapping of L3SM network-access | ||||
| to TE endpoints"; | ||||
| uses tsmt:te-endpoint-ref; | ||||
| } | ||||
| //augment | augment | |||
| "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | ||||
| + "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile" | ||||
| + "/l3vpn-svc:qos-profile/l3vpn-svc:custom" | ||||
| + "/l3vpn-svc:classes/l3vpn-svc:class" { | ||||
| description | ||||
| "This augment is for per-class in site for custom QoS profile"; | ||||
| uses tsmt:te-endpoint-ref; | ||||
| } | ||||
| augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | augment | |||
| + "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile" | "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | |||
| + "/l3vpn-svc:qos-profile/l3vpn-svc:custom" | ||||
| + "/l3vpn-svc:classes/l3vpn-svc:class" { | ||||
| description | ||||
| "This augment is for per-class in site for custom QoS profile"; | ||||
| uses tsmt:te-endpoint-ref; | ||||
| } | ||||
| augment "/l3vpn-svc:l3vpn-svc/l3vpn-svc:sites/l3vpn-svc:site" | + "/l3vpn-svc:site-network-accesses" | |||
| + "/l3vpn-svc:site-network-accesses" | + "/l3vpn-svc:site-network-access" | |||
| + "/l3vpn-svc:site-network-access" | + "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile" | |||
| + "/l3vpn-svc:service/l3vpn-svc:qos/l3vpn-svc:qos-profile" | + "/l3vpn-svc:qos-profile/l3vpn-svc:custom" | |||
| + "/l3vpn-svc:qos-profile/l3vpn-svc:custom" | + "/l3vpn-svc:classes/l3vpn-svc:class" { | |||
| + "/l3vpn-svc:classes/l3vpn-svc:class" { | description | |||
| description | "This augment is for per-class in site-network-access for custom | |||
| "This augment is for per-class in site-network-access for custom | QoS profile"; | |||
| QoS profile"; | uses tsmt:te-endpoint-ref; | |||
| uses tsmt:te-endpoint-ref; | } | |||
| } | } | |||
| } | <CODE ENDS> | |||
| <CODE ENDS> | ||||
| 7.2.2. ietf-l2sm-te-service-mapping | 7.2.2. ietf-l2sm-te-service-mapping | |||
| <CODE BEGINS> file "ietf-l2sm-te-service-mapping@2021-02-22.yang" | <CODE BEGINS> file "ietf-l2sm-te-service-mapping@2021-08-28.yang" | |||
| module ietf-l2sm-te-service-mapping { | module ietf-l2sm-te-service-mapping { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping"; | "urn:ietf:params:xml:ns:yang:ietf-l2sm-te-service-mapping"; | |||
| prefix l2-tsm; | prefix l2-tsm; | |||
| import ietf-te-service-mapping-types { | import ietf-te-service-mapping-types { | |||
| prefix tsmt; | prefix tsmt; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| import ietf-l2vpn-svc { | import ietf-l2vpn-svc { | |||
| prefix l2vpn-svc; | prefix l2vpn-svc; | |||
| reference | reference | |||
| "RFC 8466: A YANG Data Model for Layer 2 Virtual Private Network | "RFC 8466: A YANG Data Model for Layer 2 Virtual Private Network | |||
| (L2VPN) Service Delivery"; | (L2VPN) Service Delivery"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Working Group"; | Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
| Editor: Young Lee | ||||
| <mailto:younglee.tx@gmail.com> | ||||
| Editor: Dhruv Dhody | ||||
| <mailto:dhruv.ietf@gmail.com> | ||||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 2 | ||||
| Service Model (L2SM) to the TE and VN. | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | Editor: Young Lee | |||
| authors of the code. All rights reserved. | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | ||||
| <mailto:dhruv.ietf@gmail.com> | ||||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 2 | ||||
| Service Model (L2SM) to the TE and VN. | ||||
| Redistribution and use in source and binary forms, with or | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| without modification, is permitted pursuant to, and subject to | authors of the code. All rights reserved. | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the | Redistribution and use in source and binary forms, with or | |||
| RFC itself for full legal notices. | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | This version of this YANG module is part of RFC XXXX; see the | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | RFC itself for full legal notices."; | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
| they appear in all capitals, as shown here."; | ||||
| revision 2021-02-22 { | revision 2021-08-28 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| /* | /* | |||
| * Augmentation to L2SM | * Augmentation to L2SM | |||
| */ | */ | |||
| augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services/" | augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:vpn-services/" | |||
| + "l2vpn-svc:vpn-service" { | + "l2vpn-svc:vpn-service" { | |||
| description | description | |||
| "L2SM augmented to include TE parameters and mapping"; | "L2SM augmented to include TE parameters and mapping"; | |||
| container te-service-mapping { | container te-service-mapping { | |||
| presence "indicates L2 service to te mapping"; | presence "indicates L2 service to te mapping"; | |||
| description | description | |||
| "Container to augment L2SM to TE parameters and mapping"; | "Container to augment L2SM to TE parameters and mapping"; | |||
| uses tsmt:te-mapping; | ||||
| } | ||||
| } | ||||
| uses tsmt:te-mapping; | //augment | |||
| } | ||||
| } | ||||
| //augment | augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | |||
| + "/l2vpn-svc:site-network-accesses" | ||||
| + "/l2vpn-svc:site-network-access" { | ||||
| description | ||||
| "This augment the L2SM network-access with a reference | ||||
| to TE endpoints when underlying TE is used"; | ||||
| uses tsmt:te-endpoint-ref; | ||||
| augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | } | |||
| + "/l2vpn-svc:site-network-accesses" | ||||
| + "/l2vpn-svc:site-network-access" { | ||||
| description | ||||
| "This augment the L2SM network-access with a reference | ||||
| to TE endpoints when underlying TE is used"; | ||||
| uses tsmt:te-endpoint-ref; | ||||
| } | ||||
| //augment | //augment | |||
| augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | augment | |||
| + "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile" | "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | |||
| + "/l2vpn-svc:qos-profile/l2vpn-svc:custom" | + "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile" | |||
| + "/l2vpn-svc:classes/l2vpn-svc:class" { | + "/l2vpn-svc:qos-profile/l2vpn-svc:custom" | |||
| when './l2vpn-svc:bandwidth/l2vpn-svc:end-to-end' { | + "/l2vpn-svc:classes/l2vpn-svc:class" { | |||
| description | when './l2vpn-svc:bandwidth/l2vpn-svc:end-to-end' { | |||
| "applicable only with end-to-end"; | description | |||
| } | "applicable only with end-to-end"; | |||
| description | } | |||
| "This augment is for per-class in site for custom QoS profile"; | description | |||
| uses tsmt:te-endpoint-ref; | "This augment is for per-class in site for custom QoS profile"; | |||
| } | uses tsmt:te-endpoint-ref; | |||
| } | ||||
| augment "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | augment | |||
| + "/l2vpn-svc:site-network-accesses" | "/l2vpn-svc:l2vpn-svc/l2vpn-svc:sites/l2vpn-svc:site" | |||
| + "/l2vpn-svc:site-network-access" | + "/l2vpn-svc:site-network-accesses" | |||
| + "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile" | + "/l2vpn-svc:site-network-access" | |||
| + "/l2vpn-svc:qos-profile/l2vpn-svc:custom" | + "/l2vpn-svc:service/l2vpn-svc:qos/l2vpn-svc:qos-profile" | |||
| + "/l2vpn-svc:classes/l2vpn-svc:class" { | + "/l2vpn-svc:qos-profile/l2vpn-svc:custom" | |||
| description | + "/l2vpn-svc:classes/l2vpn-svc:class" { | |||
| "This augment is for per-class in site-network-access for custom | description | |||
| QoS profile"; | "This augment is for per-class in site-network-access for custom | |||
| uses tsmt:te-endpoint-ref; | QoS profile"; | |||
| } | uses tsmt:te-endpoint-ref; | |||
| } | } | |||
| <CODE ENDS> | } | |||
| <CODE ENDS> | ||||
| 7.2.3. ietf-l1csm-te-service-mapping | 7.2.3. ietf-l1csm-te-service-mapping | |||
| <CODE BEGINS> file "ietf-l1csm-te-service-mapping@2021-02-22.yang" | <CODE BEGINS> file "ietf-l1csm-te-service-mapping@2021-08-28.yang" | |||
| module ietf-l1csm-te-service-mapping { | module ietf-l1csm-te-service-mapping { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping"; | "urn:ietf:params:xml:ns:yang:ietf-l1csm-te-service-mapping"; | |||
| prefix l1-tsm; | prefix l1-tsm; | |||
| import ietf-te-service-mapping-types { | ||||
| prefix tsmt; | ||||
| reference | ||||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | ||||
| } | ||||
| import ietf-l1csm { | ||||
| prefix l1csm; | ||||
| reference | ||||
| "I-D.ietf-ccamp-l1csm-yang: A YANG Data Model for L1 Connectivity | ||||
| Service Model (L1CSM)"; | ||||
| } | ||||
| organization | import ietf-te-service-mapping-types { | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | prefix tsmt; | |||
| Working Group"; | reference | |||
| contact | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | } | |||
| WG List: <mailto:teas@ietf.org> | import ietf-l1csm { | |||
| prefix l1csm; | ||||
| reference | ||||
| "I-D.ietf-ccamp-l1csm-yang: A YANG Data Model for L1 Connectivity | ||||
| Service Model (L1CSM)"; | ||||
| } | ||||
| Editor: Young Lee | organization | |||
| <mailto:younglee.tx@gmail.com> | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Editor: Dhruv Dhody | Working Group"; | |||
| <mailto:dhruv.ietf@gmail.com> | contact | |||
| Editor: Qin Wu | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| <mailto:bill.wu@huawei.com>"; | WG List: <mailto:teas@ietf.org> | |||
| description | ||||
| "This module contains a YANG module for the mapping of | ||||
| Layer 1 Connectivity Service Module (L1CSM) to the TE and VN | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | Editor: Young Lee | |||
| authors of the code. All rights reserved. | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | ||||
| <mailto:dhruv.ietf@gmail.com> | ||||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of | ||||
| Layer 1 Connectivity Service Module (L1CSM) to the TE and VN | ||||
| Redistribution and use in source and binary forms, with or | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| without modification, is permitted pursuant to, and subject to | authors of the code. All rights reserved. | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the | Redistribution and use in source and binary forms, with or | |||
| RFC itself for full legal notices. | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | This version of this YANG module is part of RFC XXXX; see the | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | RFC itself for full legal notices."; | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
| they appear in all capitals, as shown here."; | ||||
| revision 2021-02-22 { | revision 2021-08-28 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| /* | /* | |||
| * Augmentation to L1CSM | * Augmentation to L1CSM | |||
| */ | */ | |||
| augment "/l1csm:l1-connectivity/l1csm:services/l1csm:service" { | augment "/l1csm:l1-connectivity/l1csm:services/l1csm:service" { | |||
| description | ||||
| "L1CSM augmented to include TE parameters and mapping"; | ||||
| container te-service-mapping { | ||||
| presence "Indicates L1 service to TE mapping"; | ||||
| description | description | |||
| "Container to augment L1CSM to TE parameters and mapping"; | "L1CSM augmented to include TE parameters and mapping"; | |||
| uses tsmt:te-mapping; | container te-service-mapping { | |||
| presence "Indicates L1 service to TE mapping"; | ||||
| description | ||||
| "Container to augment L1CSM to TE parameters and mapping"; | ||||
| uses tsmt:te-mapping; | ||||
| } | ||||
| } | } | |||
| } | ||||
| //augment | //augment | |||
| augment "/l1csm:l1-connectivity/l1csm:access/l1csm:unis/" | augment "/l1csm:l1-connectivity/l1csm:access/l1csm:unis/" | |||
| + "l1csm:uni" { | + "l1csm:uni" { | |||
| description | description | |||
| "This augment the L1CSM UNI with a reference | "This augment the L1CSM UNI with a reference | |||
| to TE endpoints"; | to TE endpoints"; | |||
| uses tsmt:te-endpoint-ref; | uses tsmt:te-endpoint-ref; | |||
| } | } | |||
| //augment | //augment | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 7.3. Network Models | 7.3. Network Models | |||
| 7.3.1. ietf-l3nm-te-service-mapping | 7.3.1. ietf-l3nm-te-service-mapping | |||
| <CODE BEGINS> file "ietf-l3nm-te-service-mapping@202-02-22.yang" | <CODE BEGINS> file "ietf-l3nm-te-service-mapping@2021-08-28.yang" | |||
| module ietf-l3nm-te-service-mapping { | module ietf-l3nm-te-service-mapping { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping"; | "urn:ietf:params:xml:ns:yang:ietf-l3nm-te-service-mapping"; | |||
| prefix l3nm-tsm; | prefix l3nm-tsm; | |||
| import ietf-te-service-mapping-types { | ||||
| prefix tsmt; | ||||
| reference | ||||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | ||||
| } | ||||
| import ietf-l3vpn-ntw { | ||||
| prefix l3vpn-ntw; | ||||
| reference | ||||
| "I-D.ietf-opsawg-l3sm-l3nm: A Layer 3 VPN Network YANG Model"; | ||||
| } | ||||
| organization | import ietf-te-service-mapping-types { | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | prefix tsmt; | |||
| Working Group"; | reference | |||
| contact | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | } | |||
| WG List: <mailto:teas@ietf.org> | import ietf-l3vpn-ntw { | |||
| prefix l3vpn-ntw; | ||||
| reference | ||||
| "I-D.ietf-opsawg-l3sm-l3nm: A Layer 3 VPN Network YANG Model"; | ||||
| } | ||||
| Editor: Young Lee | organization | |||
| <mailto:younglee.tx@gmail.com> | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Editor: Dhruv Dhody | Working Group"; | |||
| <mailto:dhruv.ietf@gmail.com> | contact | |||
| Editor: Qin Wu | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| <mailto:bill.wu@huawei.com>"; | WG List: <mailto:teas@ietf.org> | |||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 3 | ||||
| Network Model (L3NM) to the TE and VN. | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | Editor: Young Lee | |||
| authors of the code. All rights reserved. | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | ||||
| <mailto:dhruv.ietf@gmail.com> | ||||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 3 | ||||
| Network Model (L3NM) to the TE and VN. | ||||
| Redistribution and use in source and binary forms, with or | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| without modification, is permitted pursuant to, and subject to | authors of the code. All rights reserved. | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the | Redistribution and use in source and binary forms, with or | |||
| RFC itself for full legal notices. | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the | ||||
| RFC itself for full legal notices."; | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | revision 2021-08-28 { | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | description | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | "Initial revision."; | |||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | reference | |||
| they appear in all capitals, as shown here."; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | ||||
| revision 2021-02-22 { | /* | |||
| description | * Augmentation to L3NM | |||
| "Initial revision."; | */ | |||
| reference | ||||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | ||||
| } | ||||
| /* | augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services" | |||
| * Augmentation to L3NM | + "/l3vpn-ntw:vpn-service" { | |||
| */ | description | |||
| "L3SM augmented to include TE parameters and mapping"; | ||||
| container te-service-mapping { | ||||
| presence "Indicates L3 network to TE mapping"; | ||||
| description | ||||
| "Container to augment l3nm to TE parameters and mapping"; | ||||
| uses tsmt:te-mapping; | ||||
| } | ||||
| augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services" | } | |||
| + "/l3vpn-ntw:vpn-service" { | ||||
| description | ||||
| "L3SM augmented to include TE parameters and mapping"; | ||||
| container te-service-mapping { | ||||
| presence "Indicates L3 network to TE mapping"; | ||||
| description | ||||
| "Container to augment l3nm to TE parameters and mapping"; | ||||
| uses tsmt:te-mapping; | ||||
| } | ||||
| } | ||||
| //augment | //augment | |||
| augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services" | augment "/l3vpn-ntw:l3vpn-ntw/l3vpn-ntw:vpn-services" | |||
| + "/l3vpn-ntw:vpn-service" | + "/l3vpn-ntw:vpn-service" | |||
| + "/l3vpn-ntw:vpn-nodes/l3vpn-ntw:vpn-node" | + "/l3vpn-ntw:vpn-nodes/l3vpn-ntw:vpn-node" | |||
| + "/l3vpn-ntw:vpn-network-accesses" | + "/l3vpn-ntw:vpn-network-accesses" | |||
| + "/l3vpn-ntw:vpn-network-access" { | + "/l3vpn-ntw:vpn-network-access" { | |||
| description | description | |||
| "This augment the L3NM network-access with a reference | "This augment the L3NM network-access with a reference | |||
| to TE endpoints when underlying TE is used"; | to TE endpoints when underlying TE is used"; | |||
| uses tsmt:te-endpoint-ref; | uses tsmt:te-endpoint-ref; | |||
| } | } | |||
| //augment | //augment | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 7.3.2. ietf-l2nm-te-service-mapping | 7.3.2. ietf-l2nm-te-service-mapping | |||
| <CODE BEGINS> file "ietf-l2nm-te-service-mapping@2021-02-22.yang" | <CODE BEGINS> file "ietf-l2nm-te-service-mapping@2021-08-28.yang" | |||
| module ietf-l2nm-te-service-mapping { | module ietf-l2nm-te-service-mapping { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace | namespace | |||
| "urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping"; | "urn:ietf:params:xml:ns:yang:ietf-l2nm-te-service-mapping"; | |||
| prefix l2nm-tsm; | prefix l2nm-tsm; | |||
| import ietf-te-service-mapping-types { | import ietf-te-service-mapping-types { | |||
| prefix tsmt; | prefix tsmt; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| import ietf-l2vpn-ntw { | import ietf-l2vpn-ntw { | |||
| prefix l2vpn-ntw; | prefix l2vpn-ntw; | |||
| reference | reference | |||
| "I-D.ietf-opsawg-l2nm: A Layer 2 VPN Network YANG Model"; | "I-D.ietf-opsawg-l2nm: A Layer 2 VPN Network YANG Model"; | |||
| } | } | |||
| organization | organization | |||
| "IETF Traffic Engineering Architecture and Signaling (TEAS) | "IETF Traffic Engineering Architecture and Signaling (TEAS) | |||
| Working Group"; | Working Group"; | |||
| contact | contact | |||
| "WG Web: <http://tools.ietf.org/wg/teas/> | "WG Web: <http://tools.ietf.org/wg/teas/> | |||
| WG List: <mailto:teas@ietf.org> | WG List: <mailto:teas@ietf.org> | |||
| Editor: Young Lee | Editor: Young Lee | |||
| <mailto:younglee.tx@gmail.com> | <mailto:younglee.tx@gmail.com> | |||
| Editor: Dhruv Dhody | ||||
| <mailto:dhruv.ietf@gmail.com> | ||||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 2 | ||||
| Network Model (L2NM) to the TE and VN. | ||||
| Copyright (c) 2021 IETF Trust and the persons identified as | Editor: Dhruv Dhody | |||
| authors of the code. All rights reserved. | <mailto:dhruv.ietf@gmail.com> | |||
| Editor: Qin Wu | ||||
| <mailto:bill.wu@huawei.com>"; | ||||
| description | ||||
| "This module contains a YANG module for the mapping of Layer 2 | ||||
| Network Model (L2NM) to the TE and VN. | ||||
| Redistribution and use in source and binary forms, with or | Copyright (c) 2021 IETF Trust and the persons identified as | |||
| without modification, is permitted pursuant to, and subject to | authors of the code. All rights reserved. | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| This version of this YANG module is part of RFC XXXX; see the | Redistribution and use in source and binary forms, with or | |||
| RFC itself for full legal notices. | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | ||||
| forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
| Relating to IETF Documents | ||||
| (https://trustee.ietf.org/license-info). | ||||
| The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL | This version of this YANG module is part of RFC XXXX; see the | |||
| NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | RFC itself for full legal notices."; | |||
| 'MAY', and 'OPTIONAL' in this document are to be interpreted as | ||||
| described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | ||||
| they appear in all capitals, as shown here."; | ||||
| revision 2021-02-22 { | revision 2021-08-28 { | |||
| description | description | |||
| "Initial revision."; | "Initial revision."; | |||
| reference | reference | |||
| "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | "RFC XXXX: Traffic Engineering and Service Mapping Yang Model"; | |||
| } | } | |||
| /* | /* | |||
| * Augmentation to L2NM | * Augmentation to L2NM | |||
| */ | */ | |||
| augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services" | augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services" | |||
| + "/l2vpn-ntw:vpn-service" { | + "/l2vpn-ntw:vpn-service" { | |||
| description | description | |||
| "L2SM augmented to include TE parameters and mapping"; | "L2SM augmented to include TE parameters and mapping"; | |||
| container te-service-mapping { | container te-service-mapping { | |||
| presence "Indicates L2 network to TE mapping"; | presence "Indicates L2 network to TE mapping"; | |||
| description | description | |||
| "Container to augment l2nm to TE parameters and mapping"; | "Container to augment l2nm to TE parameters and mapping"; | |||
| uses tsmt:te-mapping; | uses tsmt:te-mapping; | |||
| } | } | |||
| } | } | |||
| //augment | //augment | |||
| augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services" | augment "/l2vpn-ntw:l2vpn-ntw/l2vpn-ntw:vpn-services" | |||
| + "/l2vpn-ntw:vpn-service" | + "/l2vpn-ntw:vpn-service" | |||
| + "/l2vpn-ntw:vpn-nodes/l2vpn-ntw:vpn-node" | + "/l2vpn-ntw:vpn-nodes/l2vpn-ntw:vpn-node" | |||
| + "/l2vpn-ntw:vpn-network-accesses" | + "/l2vpn-ntw:vpn-network-accesses" | |||
| + "/l2vpn-ntw:vpn-network-access" { | + "/l2vpn-ntw:vpn-network-access" { | |||
| description | description | |||
| "This augment the L2NM network-access with a reference | "This augment the L2NM network-access with a reference | |||
| to TE endpoints when underlying TE is used"; | to TE endpoints when underlying TE is used"; | |||
| uses tsmt:te-endpoint-ref; | uses tsmt:te-endpoint-ref; | |||
| } | } | |||
| //augment | //augment | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 8. Security Considerations | 8. Security Considerations | |||
| The YANG modules defined in this document is designed to be accessed | The YANG modules defined in this document is designed to be accessed | |||
| via network management protocol such as NETCONF [RFC6241] or RESTCONF | via network management protocol such as NETCONF [RFC6241] or RESTCONF | |||
| [RFC8040]. The lowest NETCONF layer is the secure transport layer | [RFC8040]. The lowest NETCONF layer is the secure transport layer | |||
| and the mandatory-to-implement secure transport is SSH [RFC6242]. | and the mandatory-to-implement secure transport is SSH [RFC6242]. | |||
| The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement | The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement | |||
| secure transport is TLS [RFC8446] | secure transport is TLS [RFC8446] | |||
| skipping to change at page 42, line 27 ¶ | skipping to change at page 42, line 39 ¶ | |||
| operations and content. | operations and content. | |||
| There are a number of data nodes defined in the YANG moduleS which | There are a number of data nodes defined in the YANG moduleS which | |||
| are writable/creatable/deletable (i.e., config true, which is the | are writable/creatable/deletable (i.e., config true, which is the | |||
| default). These data nodes may be considered sensitive or vulnerable | default). These data nodes may be considered sensitive or vulnerable | |||
| in some network environments. Write operations (e.g., <edit-config>) | in some network environments. Write operations (e.g., <edit-config>) | |||
| to these data nodes without proper protection can have a negative | to these data nodes without proper protection can have a negative | |||
| effect on network operations. These are the subtrees and data nodes | effect on network operations. These are the subtrees and data nodes | |||
| and their sensitivity/vulnerability: | and their sensitivity/vulnerability: | |||
| o /l3vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ | * /l3vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ | |||
| - configure TE Service mapping. | - can configure TE Service mapping. | |||
| o /l3vpn-svc/sites/site/site-network-accesses/site-network-access/ | * /l3vpn-svc/sites/site/site-network-accesses/site-network-access/ | |||
| te/ - configure TE Endpoint mapping. | te/ - can configure TE Endpoint mapping. | |||
| o /l2vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ | * /l2vpn-svc/vpn-services/vpn-service/te-service-mapping/te-mapping/ | |||
| - configure TE Service mapping. | - can configure TE Service mapping. | |||
| o /l2vpn-svc/sites/site/site-network-accesses/site-network-access/ | * /l2vpn-svc/sites/site/site-network-accesses/site-network-access/ | |||
| te/ - configure TE Endpoint mapping. | te/ - can configure TE Endpoint mapping. | |||
| o /l1-connectivity/services/service/te-service-mapping/te-mapping/ - | * /l1-connectivity/services/service/te-service-mapping/te-mapping/ - | |||
| configure TE Service mapping. | can configure TE Service mapping. | |||
| o /l1-connectivity/access/unis/uni/te/ - configure TE Endpoint | * /l1-connectivity/access/unis/uni/te/ - can configure TE Endpoint | |||
| mapping. | mapping. | |||
| o /l3vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ | * /l3vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ | |||
| - configure TE Network mapping. | - can configure TE Network mapping. | |||
| o /l3vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn- | * /l3vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn- | |||
| network-accesses/vpn-network-access/te/ - configure TE Endpoint | network-accesses/vpn-network-access/te/ - can configure TE | |||
| mapping. | Endpoint mapping. | |||
| o /l2vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ | * /l2vpn-ntw/vpn-services/vpn-service/te-service-mapping/te-mapping/ | |||
| - configure TE Network mapping. | - can configure TE Network mapping. | |||
| o /l2vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn- | * /l2vpn-ntw/vpn-services/vpn-service/vpn-nodes/vpn-node/vpn- | |||
| network-accesses/vpn-network-access/te/ - configure TE Endpoint | network-accesses/vpn-network-access/te/ - can configure TE | |||
| mapping. | Endpoint mapping. | |||
| Unauthorized access to above list can adversely affect the VPN | Unauthorized access to above list can adversely affect the VPN | |||
| service. | service. | |||
| Some of the readable data nodes in the YANG module may be considered | Some of the readable data nodes in the YANG module may be considered | |||
| sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
| important to control read access (e.g., via get, get-config, or | important to control read access (e.g., via get, get-config, or | |||
| notification) to these data nodes. The TE related parameters | notification) to these data nodes. The TE related parameters | |||
| attached to the VPN service can leak sensitive information about the | attached to the VPN service can leak sensitive information about the | |||
| network. This is applicable to all elements in the yang models | network. This is applicable to all elements in the yang models | |||
| skipping to change at page 45, line 44 ¶ | skipping to change at page 45, line 44 ¶ | |||
| 10. Acknowledgements | 10. Acknowledgements | |||
| We thank Diego Caviglia, and Igor Bryskin for useful discussions and | We thank Diego Caviglia, and Igor Bryskin for useful discussions and | |||
| motivation for this work. | motivation for this work. | |||
| 11. References | 11. References | |||
| 11.1. Normative References | 11.1. Normative References | |||
| [I-D.ietf-ccamp-l1csm-yang] | [I-D.ietf-ccamp-l1csm-yang] | |||
| Lee, Y., Lee, K., Zheng, H., Dios, O., and D. Ceccarelli, | Lee, Y., Lee, K., Zheng, H., Dios, O. G. D., and D. | |||
| "A YANG Data Model for L1 Connectivity Service Model | Ceccarelli, "A YANG Data Model for L1 Connectivity Service | |||
| (L1CSM)", draft-ietf-ccamp-l1csm-yang-13 (work in | Model (L1CSM)", Work in Progress, Internet-Draft, draft- | |||
| progress), November 2020. | ietf-ccamp-l1csm-yang-14, 20 February 2021, | |||
| <https://datatracker.ietf.org/doc/html/draft-ietf-ccamp- | ||||
| l1csm-yang-14>. | ||||
| [I-D.ietf-opsawg-l2nm] | [I-D.ietf-opsawg-l2nm] | |||
| barguil, s., Dios, O., Boucadair, M., Munoz, L., Jalil, | Barguil, S., Dios, O. G. D., Boucadair, M., and L. A. | |||
| L., and J. Ma, "A Layer 2 VPN Network YANG Model", draft- | Munoz, "A Layer 2 VPN Network YANG Model", Work in | |||
| ietf-opsawg-l2nm-01 (work in progress), November 2020. | Progress, Internet-Draft, draft-ietf-opsawg-l2nm-04, 28 | |||
| July 2021, <https://datatracker.ietf.org/doc/html/draft- | ||||
| ietf-opsawg-l2nm-04>. | ||||
| [I-D.ietf-opsawg-l3sm-l3nm] | [I-D.ietf-opsawg-l3sm-l3nm] | |||
| barguil, s., Dios, O., Boucadair, M., Munoz, L., and A. | Barguil, S., Dios, O. G. D., Boucadair, M., Munoz, L. A., | |||
| Aguado, "A Layer 3 VPN Network YANG Model", draft-ietf- | and A. Aguado, "A Layer 3 VPN Network YANG Model", Work in | |||
| opsawg-l3sm-l3nm-05 (work in progress), October 2020. | Progress, Internet-Draft, draft-ietf-opsawg-l3sm-l3nm-10, | |||
| 15 July 2021, <https://datatracker.ietf.org/doc/html/ | ||||
| draft-ietf-opsawg-l3sm-l3nm-10>. | ||||
| [I-D.ietf-spring-sr-policy-yang] | [I-D.ietf-spring-sr-policy-yang] | |||
| Raza, K., Sawaya, R., Shunwan, Z., Voyer, D., Durrani, M., | Raza, K., Sawaya, R., Shunwan, Z., Voyer, D., Durrani, M., | |||
| Matsushima, S., and V. Beeram, "YANG Data Model for | Matsushima, S., and V. P. Beeram, "YANG Data Model for | |||
| Segment Routing Policy", draft-ietf-spring-sr-policy- | Segment Routing Policy", Work in Progress, Internet-Draft, | |||
| yang-00 (work in progress), September 2020. | draft-ietf-spring-sr-policy-yang-01, 7 April 2021, | |||
| <https://datatracker.ietf.org/doc/html/draft-ietf-spring- | ||||
| sr-policy-yang-01>. | ||||
| [I-D.ietf-teas-actn-vn-yang] | [I-D.ietf-teas-actn-vn-yang] | |||
| Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., and B. | Lee, Y., Dhody, D., Ceccarelli, D., Bryskin, I., and B. Y. | |||
| Yoon, "A YANG Data Model for VN Operation", draft-ietf- | Yoon, "A YANG Data Model for VN Operation", Work in | |||
| teas-actn-vn-yang-10 (work in progress), November 2020. | Progress, Internet-Draft, draft-ietf-teas-actn-vn-yang-12, | |||
| 25 August 2021, <https://datatracker.ietf.org/doc/html/ | ||||
| draft-ietf-teas-actn-vn-yang-12>. | ||||
| [I-D.ietf-teas-yang-te] | [I-D.ietf-teas-yang-te] | |||
| Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | Saad, T., Gandhi, R., Liu, X., Beeram, V. P., Bryskin, I., | |||
| "A YANG Data Model for Traffic Engineering Tunnels, Label | and O. G. D. Dios, "A YANG Data Model for Traffic | |||
| Switched Paths and Interfaces", draft-ietf-teas-yang-te-25 | Engineering Tunnels, Label Switched Paths and Interfaces", | |||
| (work in progress), July 2020. | Work in Progress, Internet-Draft, draft-ietf-teas-yang-te- | |||
| 27, 8 July 2021, <https://datatracker.ietf.org/doc/html/ | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | draft-ietf-teas-yang-te-27>. | |||
| Requirement Levels", BCP 14, RFC 2119, | ||||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <https://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
| skipping to change at page 47, line 20 ¶ | skipping to change at page 47, line 24 ¶ | |||
| <https://www.rfc-editor.org/info/rfc7926>. | <https://www.rfc-editor.org/info/rfc7926>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
| <https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | |||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | |||
| <https://www.rfc-editor.org/info/rfc8040>. | <https://www.rfc-editor.org/info/rfc8040>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | ||||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | ||||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | ||||
| [RFC8299] Wu, Q., Ed., Litkowski, S., Tomotaki, L., and K. Ogaki, | [RFC8299] Wu, Q., Ed., Litkowski, S., Tomotaki, L., and K. Ogaki, | |||
| "YANG Data Model for L3VPN Service Delivery", RFC 8299, | "YANG Data Model for L3VPN Service Delivery", RFC 8299, | |||
| DOI 10.17487/RFC8299, January 2018, | DOI 10.17487/RFC8299, January 2018, | |||
| <https://www.rfc-editor.org/info/rfc8299>. | <https://www.rfc-editor.org/info/rfc8299>. | |||
| [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", | |||
| BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8340>. | <https://www.rfc-editor.org/info/rfc8340>. | |||
| [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | |||
| skipping to change at page 48, line 9 ¶ | skipping to change at page 48, line 9 ¶ | |||
| [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for | |||
| Routing Management (NMDA Version)", RFC 8349, | Routing Management (NMDA Version)", RFC 8349, | |||
| DOI 10.17487/RFC8349, March 2018, | DOI 10.17487/RFC8349, March 2018, | |||
| <https://www.rfc-editor.org/info/rfc8349>. | <https://www.rfc-editor.org/info/rfc8349>. | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
| <https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
| [RFC8453] Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for | ||||
| Abstraction and Control of TE Networks (ACTN)", RFC 8453, | ||||
| DOI 10.17487/RFC8453, August 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8453>. | ||||
| [RFC8466] Wen, B., Fioccola, G., Ed., Xie, C., and L. Jalil, "A YANG | [RFC8466] Wen, B., Fioccola, G., Ed., Xie, C., and L. Jalil, "A YANG | |||
| Data Model for Layer 2 Virtual Private Network (L2VPN) | Data Model for Layer 2 Virtual Private Network (L2VPN) | |||
| Service Delivery", RFC 8466, DOI 10.17487/RFC8466, October | Service Delivery", RFC 8466, DOI 10.17487/RFC8466, October | |||
| 2018, <https://www.rfc-editor.org/info/rfc8466>. | 2018, <https://www.rfc-editor.org/info/rfc8466>. | |||
| [RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | [RFC8776] Saad, T., Gandhi, R., Liu, X., Beeram, V., and I. Bryskin, | |||
| "Common YANG Data Types for Traffic Engineering", | "Common YANG Data Types for Traffic Engineering", | |||
| RFC 8776, DOI 10.17487/RFC8776, June 2020, | RFC 8776, DOI 10.17487/RFC8776, June 2020, | |||
| <https://www.rfc-editor.org/info/rfc8776>. | <https://www.rfc-editor.org/info/rfc8776>. | |||
| [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and | |||
| O. Gonzalez de Dios, "YANG Data Model for Traffic | O. Gonzalez de Dios, "YANG Data Model for Traffic | |||
| Engineering (TE) Topologies", RFC 8795, | Engineering (TE) Topologies", RFC 8795, | |||
| DOI 10.17487/RFC8795, August 2020, | DOI 10.17487/RFC8795, August 2020, | |||
| <https://www.rfc-editor.org/info/rfc8795>. | <https://www.rfc-editor.org/info/rfc8795>. | |||
| 11.2. Informative References | 11.2. Informative References | |||
| [I-D.ietf-teas-actn-yang] | [I-D.ietf-teas-actn-yang] | |||
| Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B., Dios, O., | Lee, Y., Zheng, H., Ceccarelli, D., Yoon, B. Y., and S. | |||
| Shin, J., and S. Belotti, "Applicability of YANG models | Belotti, "Applicability of YANG models for Abstraction and | |||
| for Abstraction and Control of Traffic Engineered | Control of Traffic Engineered Networks", Work in Progress, | |||
| Networks", draft-ietf-teas-actn-yang-06 (work in | Internet-Draft, draft-ietf-teas-actn-yang-07, 21 February | |||
| progress), August 2020. | 2021, <https://datatracker.ietf.org/doc/html/draft-ietf- | |||
| teas-actn-yang-07>. | ||||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module | [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module | |||
| Classification", RFC 8199, DOI 10.17487/RFC8199, July | Classification", RFC 8199, DOI 10.17487/RFC8199, July | |||
| 2017, <https://www.rfc-editor.org/info/rfc8199>. | 2017, <https://www.rfc-editor.org/info/rfc8199>. | |||
| [RFC8309] Wu, Q., Liu, W., and A. Farrel, "Service Models | [RFC8309] Wu, Q., Liu, W., and A. Farrel, "Service Models | |||
| Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, | Explained", RFC 8309, DOI 10.17487/RFC8309, January 2018, | |||
| <https://www.rfc-editor.org/info/rfc8309>. | <https://www.rfc-editor.org/info/rfc8309>. | |||
| [RFC8453] Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for | ||||
| Abstraction and Control of TE Networks (ACTN)", RFC 8453, | ||||
| DOI 10.17487/RFC8453, August 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8453>. | ||||
| Appendix A. Examples | Appendix A. Examples | |||
| This section details a few examples on how the TE-service mapping is | This section details a few examples on how the TE-service mapping is | |||
| used in various scenarios. | used in various scenarios. | |||
| Example 1: An L3VPN service with an optimization criteria for the | Example 1: An L3VPN service with an optimization criteria for the | |||
| underlying TE as delay can be set in the mapping template and then | underlying TE as delay can be set in the mapping template and then | |||
| augmented to the L3SM service. | augmented to the L3SM service. | |||
| { | { | |||
| skipping to change at page 51, line 7 ¶ | skipping to change at page 51, line 7 ¶ | |||
| </vpn-services> | </vpn-services> | |||
| </l2vpn-svc> | </l2vpn-svc> | |||
| Example 4: A VPN service may want different optimization criteria for | Example 4: A VPN service may want different optimization criteria for | |||
| some of its sites. The template does not allow for such a case but | some of its sites. The template does not allow for such a case but | |||
| it can be achieved by creating the TE resources separately and then | it can be achieved by creating the TE resources separately and then | |||
| mapping them to the service. | mapping them to the service. | |||
| Appendix B. Discussion | Appendix B. Discussion | |||
| o While the support to bind a tunnel to the VPN is supported. We do | * While the support to bind a tunnel to the VPN is supported. We do | |||
| not have a mechanism to map traffic to a path. The input can come | not have a mechanism to map traffic to a path. The input can come | |||
| from the user. E.g. the enterprise customer can tell, the traffic | from the user. E.g. the enterprise customer can tell, the traffic | |||
| from source X on port Y should go with delay less than Z. Further | from source X on port Y should go with delay less than Z. Further | |||
| discussion is required on how and where to model these. | discussion is required on how and where to model these. | |||
| o Support for Calendaring and scheduling TE resources. | * Support for Calendaring and scheduling TE resources. | |||
| Appendix C. Contributor Addresses | Appendix C. Contributor Addresses | |||
| Adrian Farrel | Adrian Farrel | |||
| Old Dog Consulting | Old Dog Consulting | |||
| EMail: adrian@olddog.co.uk | EMail: adrian@olddog.co.uk | |||
| Italo Busi | Italo Busi | |||
| Huawei Technologies | Huawei Technologies | |||
| skipping to change at page 53, line 7 ¶ | skipping to change at page 53, line 7 ¶ | |||
| Authors' Addresses | Authors' Addresses | |||
| Young Lee (editor) | Young Lee (editor) | |||
| Samsung Electronics | Samsung Electronics | |||
| Email: younglee.tx@gmail.com | Email: younglee.tx@gmail.com | |||
| Dhruv Dhody (editor) | Dhruv Dhody (editor) | |||
| Huawei Technologies | Huawei Technologies | |||
| Divyashree Techno Park, Whitefield | Divyashree Techno Park, Whitefield | |||
| Bangalore, Karnataka 560066 | Bangalore 560066 | |||
| Karnataka | ||||
| India | India | |||
| Email: dhruv.ietf@gmail.com | Email: dhruv.ietf@gmail.com | |||
| Giuseppe Fioccola | Giuseppe Fioccola | |||
| Huawei Technologies | Huawei Technologies | |||
| Email: giuseppe.fioccola@huawei.com | Email: giuseppe.fioccola@huawei.com | |||
| Qin Wu (editor) | Qin Wu (editor) | |||
| skipping to change at page 53, line 30 ¶ | skipping to change at page 53, line 31 ¶ | |||
| Email: bill.wu@huawei.com | Email: bill.wu@huawei.com | |||
| Daniele Ceccarelli | Daniele Ceccarelli | |||
| Ericsson | Ericsson | |||
| Torshamnsgatan,48 | Torshamnsgatan,48 | |||
| Stockholm, Sweden | Stockholm, Sweden | |||
| Email: daniele.ceccarelli@ericsson.com | Email: daniele.ceccarelli@ericsson.com | |||
| Jeff Tantsura | Jeff Tantsura | |||
| Apstra | Microsoft | |||
| Email: jefftant.ietf@gmail.com | Email: jefftant.ietf@gmail.com | |||
| End of changes. 235 change blocks. | ||||
| 996 lines changed or deleted | 1037 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||