draft-ietf-ccamp-l1csm-yang-01.txt   draft-ietf-ccamp-l1csm-yang-02.txt 
CCAMP Working Group G. Fioccola (Ed.) CCAMP Working Group G. Fioccola (Ed.)
Telecom Italia Telecom Italia
Internet Draft K. Lee Internet Draft K. Lee
Intended Status: Standard Track Korea Telecom Intended Status: Standard Track Korea Telecom
Expires: October 25, 2018 Y. Lee (Ed.) Expires: December 20, 2018 Y. Lee (Ed.)
D. Dhody D. Dhody
Huawei Huawei
O. Gonzalez de-Dios O. Gonzalez de-Dios
Telefonica Telefonica
D. Ceccarelli D. Ceccarelli
Ericsson Ericsson
April 25, 2018 June 20, 2018
A Yang Data Model for L1 Connectivity Service Model (L1CSM) A Yang Data Model for L1 Connectivity Service Model (L1CSM)
draft-ietf-ccamp-l1csm-yang-01 draft-ietf-ccamp-l1csm-yang-02
Abstract Abstract
This document provides a YANG data model for Layer 1 Connectivity This document provides a YANG data model for Layer 1 Connectivity
Service Model (L1CSM). Service Model (L1CSM).
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79. the provisions of BCP 78 and BCP 79.
skipping to change at page 2, line 25 skipping to change at page 2, line 25
warranty as described in the Simplified BSD License. warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction...................................................2 1. Introduction...................................................2
1.1. Deployment Scenarios......................................3 1.1. Deployment Scenarios......................................3
1.2. Terminology...............................................6 1.2. Terminology...............................................6
1.3. Tree diagram..............................................6 1.3. Tree diagram..............................................6
2. Definitions....................................................7 2. Definitions....................................................7
3. L1SM YANG Model (Tree Structure)...............................7 3. L1SM YANG Model (Tree Structure)...............................7
4. YANG Models....................................................8 4. L1SM YANG Code.................................................8
4.1. YANG model for ietf-l1-service-types......................8 5. Security Considerations.......................................21
4.2. YANG model for ietf-l1csm................................16
5. Security Considerations.......................................20
6. IANA Considerations...........................................21 6. IANA Considerations...........................................21
7. Acknowledgments...............................................22 7. Acknowledgments...............................................22
8. References....................................................22 8. References....................................................23
8.1. Normative References.....................................22 8.1. Normative References.....................................23
8.2. Informative References...................................22 8.2. Informative References...................................23
9. Contributors..................................................22 9. Contributors..................................................23
Authors' Addresses...............................................22 Authors' Addresses...............................................23
1. Introduction 1. Introduction
This document provides a YANG data model for L1VPN Connectivity This document provides a YANG data model for L1VPN Connectivity
Service Model (L1CSM). The intent of this document is to provide a Service Model (L1CSM). The intent of this document is to provide a
transport service model exploiting Yang data model, which can be transport service model exploiting Yang data model, which can be
utilized by a client network controller to initiate a service utilized by a client network controller to initiate a service
request connectivity request as well as retrieving service states request connectivity request as well as retrieving service states
toward a transport network controller communicating with the client toward a transport network controller communicating with the client
controller via a Netconf/Restconf interface. controller via a Netconf/Restconf interface.
skipping to change at page 3, line 34 skipping to change at page 3, line 32
parameters of the part of the provider's network dedicated to the parameters of the part of the provider's network dedicated to the
customer. customer.
The primary focus of this document is to describe L1CS YANG model The primary focus of this document is to describe L1CS YANG model
required for the instantiation of point-to-point L1VPN service. A required for the instantiation of point-to-point L1VPN service. A
L1VPN is a service offered by a core layer 1 network to provide L1VPN is a service offered by a core layer 1 network to provide
layer 1 connectivity between two or more customer sites where the layer 1 connectivity between two or more customer sites where the
customer has some control over the establishment and type of the customer has some control over the establishment and type of the
connectivity. connectivity.
The model presented in Section 3 is consistent with [MEF-L1CS]. The model presented in Section 3 is in consistent with [MEF-L1CS].
1.1. Deployment Scenarios 1.1. Deployment Scenarios
Figure 1 depicts a deployment scenario of the L1VPN SDN control- Figure 1 depicts a deployment scenario of the L1VPN SDN control-
based service model for an external customer instantiating L1 point- based service model for an external customer instantiating L1 point-
to-point connectivity to the provider. to-point connectivity to the provider.
+------------+ +------------+
| Customer | | Customer |
| Service | | Service |
|Orchestrator| |Orchestrator|
+------------+ +------------+
| |
.. .. .. .. .. |.. .. .. .. .. ... .. .. .. .. ..|.. .. .. .. ..
: | : : | :
: +--------------------+ : : +--------------------+ :
: | | : : | | :
: | +----------+ | : : | +----------+ | :
: | | Network | | : : | | Network | | :
: | | SDN | | : : | | SDN | | :
: | |Controller| | : : | |Controller| | :
: | |/NMS/EMS | | : : | |/NMS/EMS | | :
: | +----------+ | : : | +----------+ | :
: | | : : | | :
: | | : : | | :
skipping to change at page 7, line 28 skipping to change at page 7, line 26
o Ellipsis ("...") stands for contents of subtrees that are not o Ellipsis ("...") stands for contents of subtrees that are not
shown. shown.
2. Definitions 2. Definitions
TDB TDB
3. L1SM YANG Model (Tree Structure) 3. L1SM YANG Model (Tree Structure)
module: ietf-l1csm module: ietf-l1csm
+--rw l1cs +--rw l1cs
+--rw access +--rw access
| +--rw uni-list* [UNI-ID] | +--rw uni-list* [UNI-ID]
| +--rw UNI-ID string | +--rw UNI-ID string
| +--rw protocol? identityref | +--rw protocol? identityref
| +--rw coding? identityref | +--rw coding? identityref
| +--rw optical_interface? identityref | +--rw optical_interface? identityref
+--rw service +--rw service
+--rw service-list* [subscriber-l1vc-id] +--rw service-list* [subscriber-l1vc-id]
+--rw subscriber-l1vc-id string +--rw subscriber-l1vc-id string
+--rw service-config +--rw service-config
+--rw subscriber-l1vc-id? string +--rw subscriber-l1vc-id? string
+--rw subscriber-l1vc-ep-ingress? -> /l1cs/access/uni-list/UNI- +--rw subscriber-l1vc-ep-id-1? string
ID +--rw subscriber-l1vc-ep-id-2? string
+--rw subscriber-l1vc-ep-egress? -> /l1cs/access/uni-list/UNI- +--rw subscriber-l1vc-ep-UNI-1? -> /l1cs/access/uni-
ID list/UNI-ID
+--rw time-start? yang:date-and-time +--rw subscriber-l1vc-ep-UNI-2? -> /l1cs/access/uni-
+--rw time-interval? int64 list/UNI-ID
+--rw performance-metric? Identityref +--rw time-start? yang:date-and-time
+--rw time-interval? int64
+--rw performance-metric? identityref
4. YANG Models 4. L1SM YANG Code
We have two YANG models described in this section. The YANG code is as follows:
The first model is ietf-l1-service-types that describes generic <CODE BEGINS> file "ietf-l1csm@2018-06-20.yang"
physical layer service attributes and performance-metric. (See
Section 4.1)
The second model is ietf-l1csm that describes L1 Connectivity module ietf-l1csm {
Service. (See Section 4.2) yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l1csm";
4.1. YANG model for ietf-l1-service-types prefix "l1csm";
The YANG code is as follows: import ietf-yang-types {
prefix "yang";
}
<CODE BEGINS> file "ietf-l1-service-types@2018-04-11.yang" import ietf-l1-mef-service-types {
prefix "l1-st";
}
module ietf-l1-service-types { organization
namespace "urn:ietf:params:xml:ns:yang:ietf-l1-service-types"; "Internet Engineering Task Force (IETF) CCAMP WG";
contact
"Editor: G. Fioccolla (giuseppe.fioccola@telecomitalia.it)
Editor: K. Lee (kwangkoog.lee@kt.com)
Editor: Y. Lee (leeyoung@huawei.com)
Editor: D. Dhody (dhruv.ietf@gmail.com)
Editor: O. Gonzalez de-Dio(oscar.gonzalezdedios@telefonica.com)
Editor: D. Ceccarelli (daniele.ceccarelli@ericsson.com)";
description
"this module describes Layer 1 connectivity service
model for subscriber Layer 1 Connectivity Services
and Attributes";
revision 2018-06-20 {
description
"updated version to incorporate MEF
comments";
reference "to add the draft name";
}
revision 2018-04-11 {
description
"Initial revision.";
reference "to add the draft name";
}
grouping protocol-coding-optical_interface {
description
"describes <p,c,o>";
leaf protocol {
type identityref {
base "l1-st:protocol-type";
}
description "List of physical layer L1VC
client protocol";
}
leaf coding {
type identityref {
base "l1-st:coding-func";
}
description "coding function";
}
leaf optical_interface {
type identityref {
base "l1-st:optical-interface-func";
}
description "optical-interface-function";
}
}
grouping uni-attributes {
description
"uni-service-attributes";
leaf UNI-ID {
type string;
description "the UNI id of UNI
Service Attributes";
}
uses protocol-coding-optical_interface;
}
grouping subscriber-l1vc-sls-service-attribute {
description
"The value of the Subscriber L1VC SLS
(Service Level Specification) Service Attribute expressed in a 3-tuple of the
form.";
leaf time-start {
type yang:date-and-time;
description "a time that represent
the date and time for the start of the SLS";
}
leaf time-interval {
type int64;
units seconds;
description "a time interval
(e.g., 1 month) that is used in conjunction wuth time-start to specify a
contiguous sequence of time intervals T for determining when performance
objectives are met.";
}
leaf performance-metric {
type identityref {
base "l1-st:performance-"
+"metriclist";
}
description "list of performance
metric";
}
}
grouping subscriber-l1vc-service-attributes {
description
"subscriber layer 1 connection service
service level";
leaf subscriber-l1vc-id {
type string;
description "subscriber L1VC identifier";
}
leaf subscriber-l1vc-ep-id-1 {
type string;
description "subscriber end point ID";
}
leaf subscriber-l1vc-ep-id-2 {
type string;
description "subscriber end point ID";
}
leaf subscriber-l1vc-ep-UNI-1 {
type leafref {
path "/l1cs/access/uni-list/UNI-ID";
}
description "this is one end of subscriber L1VC end
point ID value = UNI-1";
}
leaf subscriber-l1vc-ep-UNI-2 {
type leafref {
path "/l1cs/access/uni-list/UNI-ID";
}
description "this is the other end of subscriber
L1VC end point ID value = UNI-2";
}
uses subscriber-l1vc-sls-service-attribute;
}
grouping subscriber-attributes {
description
"subscriber attributes";
uses subscriber-l1vc-service-attributes;
}
container l1cs {
description
"serves as a top-level container for a list of layer 1
connection services (l1cs)";
container access {
description "UNI configurations";
list uni-list {
key "UNI-ID";
description "uni identifier";
uses uni-attributes {
description "UNI attributes
information";
}
}
}
container service {
description "L1VC service";
list service-list {
key "subscriber-l1vc-id";
description
"an unique identifier of a service";
leaf subscriber-l1vc-id {
type string;
description "a unique service identifier for
L1VC.";
}
container service-config {
description "service-config container";
uses subscriber-attributes;
}//end of service-config
}//end of service list
} //end of service container
}//service top container
}
<CODE ENDS>
<CODE BEGINS> file "ietf-l1-mef-service-types@2018-06-20.yang"
module ietf-l1-mef-service-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-l1-mef-service-types";
prefix "l1-st"; prefix "l1-st";
organization organization
"IETF CCAMP Working Group"; "IETF CCAMP Working Group";
contact contact
"WG Web: <http://tools.ietf.org/wg/ccamp/> "WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org> WG List: <mailto:ccamp@ietf.org>
Editor: G. Fioccolla(giuseppe.fioccola@telecomitalia.it) Editor: G. Fioccolla(giuseppe.fioccola@telecomitalia.it)
Editor: K. Lee (kwangkoog.lee@kt.com) Editor: K. Lee (kwangkoog.lee@kt.com)
Editor: Y. Lee (leeyoung@huawei.com) Editor: Y. Lee (leeyoung@huawei.com)
Editor: D. Dhody (dhruv.ietf@gmail.com) Editor: D. Dhody (dhruv.ietf@gmail.com)
Editor: O. Gonzalez de-Dios(oscar.gonzalezdedios@telefonica.com) Editor: O. Gonzalez de-Dios(oscar.gonzalezdedios@telefonica.com)
Editor: D. Ceccarelli(daniele.ceccarelli@ericsson.com)"; Editor: D. Ceccarelli(daniele.ceccarelli@ericsson.com)";
description description
"This module defines L1 service types."; "This module defines L1 service types based on MEF subscriber Layer 1
Connectivity Service Attribute.";
revision "2019-06-20" {
description
"Revision 0.2";
reference "TBD";
}
revision "2018-04-11" { revision "2018-04-11" {
description description
"Revision 0.1"; "Revision 0.1";
reference "TBD"; reference "TBD";
} }
identity protocol-type { identity protocol-type {
description description
"base identity from which client protocol type is derived."; "base identity from which client protocol type is derived.";
skipping to change at page 15, line 42 skipping to change at page 20, line 42
description "one-way-unavailable-second"; description "one-way-unavailable-second";
} }
identity One-way-Availability { identity One-way-Availability {
base "performance-metriclist"; base "performance-metriclist";
description "one-way-availability"; description "one-way-availability";
} }
} }
<CODE BEGINS>
4.2. YANG model for ietf-l1csm
The YANG code is as follows:
<CODE BEGINS> file "ietf-l1csm@2018-04-11.yang"
module ietf-l1csm {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-l1csm";
prefix "l1csm";
import ietf-yang-types {
prefix "yang";
}
import ietf-l1-service-types {
prefix "l1-st";
}
organization
"Internet Engineering Task Force (IETF) CCAMP WG";
contact
"Editor: G. Fioccolla (giuseppe.fioccola@telecomitalia.it)
Editor: K. Lee (kwangkoog.lee@kt.com)
Editor: Y. Lee (leeyoung@huawei.com)
Editor: D. Dhody (dhruv.ietf@gmail.com)
Editor: O. Gonzalez de-Dio(oscar.gonzalezdedios@telefonica.com)
Editor: D. Ceccarelli (daniele.ceccarelli@ericsson.com)";
description
"this module describes Layer 1 connectivity service
model for subscriber Layer 1 Connectivity Services
and Attributes";
revision 2018-04-11 {
description
"Initial revision.";
reference "to add the draft name";
}
grouping protocol-coding-optical_interface {
description
"describes <p,c,o>";
leaf protocol {
type identityref {
base "l1-st:protocol-type";
}
description "List of physical layer L1VC
client protocol";
}
leaf coding {
type identityref {
base "l1-st:coding-func";
}
description "coding function";
}
leaf optical_interface {
type identityref {
base "l1-st:optical-interface-func";
}
description "optical-interface-function";
}
}
grouping uni-attributes {
description
"uni-service-attributes";
leaf UNI-ID {
type string;
description "the UNI id of UNI
Service Attributes";
}
uses protocol-coding-optical_interface;
}
grouping subscriber-l1vc-sls-service-attribute {
description
"The value of the Subscriber L1VC SLS
(Service Level Specification) Service Attribute expressed in a 3-tuple of the
form.";
leaf time-start {
type yang:date-and-time;
description "a time that represent
the date and time for the start of the SLS";
}
leaf time-interval {
type int64;
units seconds;
description "a time interval
(e.g., 1 month) that is used in conjunction wuth time-start to specify a
contiguous sequence of time intervals T for determining when performance
objectives are met.";
}
leaf performance-metric {
type identityref {
base "l1-st:performance-"
+"metriclist";
}
description "list of performance
metric";
}
}
grouping subscriber-l1vc-service-attributes {
description
"subscriber layer 1 connection service
service level";
leaf subscriber-l1vc-id {
type string;
description "subscriber L1VC identifier";
}
leaf subscriber-l1vc-ep-ingress {
type leafref {
path "/l1cs/access/uni-list/UNI-ID";
}
description "this is one end of subscriber L1VC end
point ID value = UNI-1";
}
leaf subscriber-l1vc-ep-egress {
type leafref {
path "/l1cs/access/uni-list/UNI-ID";
}
description "this is the other end of subscriber
L1VC end point ID value = UNI-2";
}
uses subscriber-l1vc-sls-service-attribute;
}
grouping subscriber-attributes {
description
"subscriber attributes";
uses subscriber-l1vc-service-attributes;
}
container l1cs {
description
"serves as a top-level container for a list of layer 1
connection services (l1cs)";
container access {
description "UNI configurations";
list uni-list {
key "UNI-ID";
description "uni identifier";
uses uni-attributes {
description "UNI attributes
information";
}
}
}
container service {
description "L1VC service";
list service-list {
key "subscriber-l1vc-id";
description
"an unique identifier of a service";
leaf subscriber-l1vc-id {
type string;
description "a unique service identifier for
L1VC.";
}
container service-config {
description "service-config container";
uses subscriber-attributes;
}//end of service-config
}//end of service list
} //end of service container
}//service top container
}
<CODE ENDS> <CODE ENDS>
5. Security Considerations 5. Security Considerations
The configuration, state, and action data defined in this document The configuration, state, and action data defined in this document
are designed to be accessed via a management protocol with a secure are designed to be accessed via a management protocol with a secure
transport layer, such as NETCONF [RFC6241]. The NETCONF access transport layer, such as NETCONF [RFC6241]. The NETCONF access
control model [RFC6536] provides the means to restrict access for control model [RFC6536] provides the means to restrict access for
particular NETCONF users to a preconfigured subset of all available particular NETCONF users to a preconfigured subset of all available
NETCONF protocol operations and content. NETCONF protocol operations and content.
skipping to change at page 21, line 21 skipping to change at page 21, line 30
This document registers the following namespace URIs in the IETF XML This document registers the following namespace URIs in the IETF XML
registry [RFC3688]: registry [RFC3688]:
-------------------------------------------------------------------- --------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-l1csm URI: urn:ietf:params:xml:ns:yang:ietf-l1csm
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
-------------------------------------------------------------------- --------------------------------------------------------------------
URI: urn:ietf:params:xml:ns:yang:ietf-l1-service-types URI: urn:ietf:params:xml:ns:yang:ietf-l1-mef-service-types
Registrant Contact: The IESG. Registrant Contact: The IESG.
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
-------------------------------------------------------------------- --------------------------------------------------------------------
This document registers the following YANG modules in the YANG This document registers the following YANG modules in the YANG
Module Module
Names registry [RFC7950]: Names registry [RFC7950]:
-------------------------------------------------------------------- --------------------------------------------------------------------
skipping to change at page 21, line 36 skipping to change at page 22, line 4
This document registers the following YANG modules in the YANG This document registers the following YANG modules in the YANG
Module Module
Names registry [RFC7950]: Names registry [RFC7950]:
-------------------------------------------------------------------- --------------------------------------------------------------------
name: ietf-l1csm name: ietf-l1csm
namespace: urn:ietf:params:xml:ns:yang:ietf-l1csm namespace: urn:ietf:params:xml:ns:yang:ietf-l1csm
reference: RFC XXXX (TDB) reference: RFC XXXX (TDB)
-------------------------------------------------------------------- --------------------------------------------------------------------
-------------------------------------------------------------------- --------------------------------------------------------------------
name: ietf-l1-service-types name: ietf-l1-mef-service-types
namespace: urn:ietf:params:xml:ns:yang:ietf-l1-service-types namespace: urn:ietf:params:xml:ns:yang:ietf-l1-mef-service-types
reference: RFC XXXX (TDB) reference: RFC XXXX (TDB)
-------------------------------------------------------------------- --------------------------------------------------------------------
7. Acknowledgments 7. Acknowledgments
The authors would like to thank Italo Busi for his helpful comments The authors would like to thank Italo Busi for his helpful comments
and valuable contributions. and valuable contributions.
8. References 8. References
 End of changes. 21 change blocks. 
254 lines changed or deleted 261 lines changed or added

This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/