< 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/