draft-ietf-ccamp-otn-tunnel-model-00.txt   draft-ietf-ccamp-otn-tunnel-model-01.txt 
CCAMP Working Group H. Zheng CCAMP Working Group H. Zheng
Internet-Draft Z. Fan Internet-Draft Z. Fan
Intended status: Standards Track Huawei Technologies Intended status: Standards Track Huawei Technologies
Expires: January 18, 2018 A. Sharma Expires: May 3, 2018 A. Sharma
Google Google
R. Rao R. Rao
Infinera Infinera
S. Belotti S. Belotti
Nokia Nokia
V. Lopez V. Lopez
Telefonica Telefonica
Y. Li Y. Li
China Mobile China Mobile
July 17, 2017 Y. Xu
CAICT
October 30, 2017
OTN Tunnel YANG Model OTN Tunnel YANG Model
draft-ietf-ccamp-otn-tunnel-model-00 draft-ietf-ccamp-otn-tunnel-model-01
Abstract Abstract
This document describes the YANG data model for OTN Tunnels. This document describes the YANG data model for OTN Tunnels.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
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 http://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 January 18, 2018. This Internet-Draft will expire on May 3, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3 2. Terminology and Notations . . . . . . . . . . . . . . . . . . 2
3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 3 3. Model Overview . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. Mux Service in Multi-Domain OTN Network . . . . . . . . . 3 3.1. Mux Service in Multi-Domain OTN Network . . . . . . . . . 3
3.2. Bookended and Non-BookEnded OTN Tunnel . . . . . . . . . 4 3.2. Bookended and Non-BookEnded OTN Tunnel . . . . . . . . . 4
3.3. Network and Client side tunnel services . . . . . . . . . 4 3.3. Network and Client side tunnel services . . . . . . . . . 4
3.4. OTN Tunnel YANG Tree . . . . . . . . . . . . . . . . . . 5 3.4. OTN Tunnel YANG Tree . . . . . . . . . . . . . . . . . . 4
3.5. OTN Tunnel YANG Code . . . . . . . . . . . . . . . . . . 5 3.5. OTN Tunnel YANG Code . . . . . . . . . . . . . . . . . . 8
3.6. Transport Types YANG Code . . . . . . . . . . . . . . . . 10 3.6. OTN Types YANG Code . . . . . . . . . . . . . . . . . . . 18
4. Security Considerations . . . . . . . . . . . . . . . . . . . 19 4. Security Considerations . . . . . . . . . . . . . . . . . . . 26
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 26
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 19 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 26
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 19 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 26
8. Normative References . . . . . . . . . . . . . . . . . . . . 20 8. Normative References . . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27
1. Introduction 1. Introduction
OTN transport networks can carry various types of client services. OTN transport networks can carry various types of client services.
In many cases, the client signal is carried over an OTN tunnel across In many cases, the client signal is carried over an OTN tunnel across
connected domains in a multi-domain network. These OTN services can connected domains in a multi-domain network. These OTN services can
either be transported or switched in the OTN network. If an OTN either be transported or switched in the OTN network. If an OTN
tunnel is switched, then additional parameters need to be provided to tunnel is switched, then additional parameters need to be provided to
create a Mux OTN service. create a Mux OTN service.
This document provides YANG model for creating OTN tunnel. The model This document provides YANG model for creating OTN tunnel. The model
augments the TE Tunnel model, which is an abstract model to create TE augments the TE Tunnel model, which is an abstract model to create TE
Tunnels. Tunnels.
2. Terminology and Notations 2. Terminology and Notations
A simplified graphical representation of the data model is used in A simplified graphical representation of the data model is used in
this document. The meaning of the symbols in the YANG data tree this document. The meaning of the symbols in the YANG data tree
presented later in this draft is defined in presented later in this draft is defined in
[I-D.ietf-netmod-rfc6087bis]. They are provided below for reference. [I-D.ietf-netmod-yang-tree-diagrams]. They are provided below for
reference.
o Brackets "[" and "]" enclose list keys. o Brackets "[" and "]" enclose list keys.
o Abbreviations before data node names: "rw" means configuration o Abbreviations before data node names: "rw" means configuration
(read-write) and "ro" state data (read-only). (read-write) and "ro" state data (read-only).
o Symbols after data node names: "?" means an optional node, "!" o Symbols after data node names: "?" means an optional node, "!"
means a presence container, and "*" denotes a list and leaf-list. means a presence container, and "*" denotes a list and leaf-list.
o Parentheses enclose choice and case nodes, and case nodes are also o Parentheses enclose choice and case nodes, and case nodes are also
skipping to change at page 5, line 7 skipping to change at page 4, line 47
termination points on source and destination node represent source termination points on source and destination node represent source
and destination endpoints. and destination endpoints.
If a client to client tunnel needs to use one or more HO (or server) If a client to client tunnel needs to use one or more HO (or server)
network to network tunnels, ERO and routing constraints, defined in network to network tunnels, ERO and routing constraints, defined in
the base TE model, can be used to route the client tunnel over one or the base TE model, can be used to route the client tunnel over one or
more server tunnels. more server tunnels.
3.4. OTN Tunnel YANG Tree 3.4. OTN Tunnel YANG Tree
module: ietf-otn-tunnel module: ietf-otn-tunnel
augment /te:te/te:tunnels/te:tunnel/te:config: augment /te:te/te:tunnels/te:tunnel:
+--rw payload-treatment? enumeration +--rw payload-treatment? enumeration
+--rw src-client-signal? identityref +--rw src-client-signal? identityref
+--rw src-tpn? uint16 +--rw src-tpn? uint16
+--rw src-tsg? identityref +--rw src-tsg? identityref
+--rw src-tributary-slot-count? uint16 +--rw src-tributary-slot-count? uint16
+--rw src-tributary-slots +--rw src-tributary-slots
| +--rw values* uint8 | +--rw values* uint8
+--rw dst-client-signal? identityref +--rw dst-client-signal? identityref
+--rw dst-tpn? uint16 +--rw dst-tpn? uint16
+--rw dst-tsg? identityref +--rw dst-tsg? identityref
+--rw dst-tributary-slot-count? uint16 +--rw dst-tributary-slot-count? uint16
+--rw dst-tributary-slots +--rw dst-tributary-slots
+--rw values* uint8 +--rw values* uint8
augment /te:te/te:tunnels/te:tunnel/te:state:
+--ro payload-treatment? enumeration rpcs:
+--ro src-client-signal? identityref +---x otn-te-tunnel-path-compute
+--ro src-tpn? uint16 +---w input
+--ro src-tsg? identityref | +---w request* [id]
+--ro src-tributary-slot-count? uint16 | +---w id uint8
+--ro src-tributary-slots | +---w type? identityref
| +--ro values* uint8 | +---w source? inet:ip-address
+--ro dst-client-signal? identityref | +---w destination? inet:ip-address
+--ro dst-tpn? uint16 | +---w src-tp-id? binary
+--ro dst-tsg? identityref | +---w dst-tp-id? binary
+--ro dst-tributary-slot-count? uint16 | +---w switching-layer? identityref
+--ro dst-tributary-slots | +---w encoding? identityref
+--ro values* uint8 | +---w protection-type? identityref
| +---w restoration-type? identityref
| +---w provider-id? te-types:te-global-id
| +---w client-id? te-types:te-global-id
| +---w te-topology-id? te-types:te-topology-id
| +---w setup-priority? uint8
| +---w hold-priority? uint8
| +---w te-path-metric-type? identityref
| +---w odu-type? identityref
| +---w p2p-primary-paths
| | +---w p2p-primary-path* [name]
| | +---w name string
| | +---w te-default-metric? uint32
| | +---w te-delay-metric? uint32
| | +---w te-hop-metric? uint32
| | +---w explicit-route-objects
| | +---w explicit-route-object* [index]
| | +---w explicit-route-usage? identityref
| | +---w index uint32
| | +---w (type)?
| | +--:(numbered)
| | | +---w numbered-hop
| | | +---w address? te-types:te-tp-id
| | | +---w hop-type? te-hop-type
| | +--:(as-number)
| | | +---w as-number-hop
| | | +---w as-number? binary
| | | +---w hop-type? te-hop-type
| | +--:(unnumbered)
| | | +---w unnumbered-hop
| | | +---w node-id? te-types:te-node-id
| | | +---w link-tp-id? te-types:te-tp-id
| | | +---w hop-type? te-hop-type
| | +--:(label)
| | | +---w label-hop
| | | +---w value? rt-types:generalized-label
| | +--:(sid)
| | +---w sid-hop
| | +---w sid? rt-types:generalized-label
| +---w p2p-secondary-paths
| | +---w p2p-secondary-path* [name]
| | +---w name string
| | +---w te-default-metric? uint32
| | +---w te-delay-metric? uint32
| | +---w te-hop-metric? uint32
| | +---w explicit-route-objects
| | +---w explicit-route-object* [index]
| | +---w explicit-route-usage? identityref
| | +---w index uint32
| | +---w (type)?
| | +--:(numbered)
| | | +---w numbered-hop
| | | +---w address? te-types:te-tp-id
| | | +---w hop-type? te-hop-type
| | +--:(as-number)
| | | +---w as-number-hop
| | | +---w as-number? binary
| | | +---w hop-type? te-hop-type
| | +--:(unnumbered)
| | | +---w unnumbered-hop
| | | +---w node-id? te-types:te-node-id
| | | +---w link-tp-id? te-types:te-tp-id
| | | +---w hop-type? te-hop-type
| | +--:(label)
| | | +---w label-hop
| | | +---w value? rt-types:generalized-label
| | +--:(sid)
| | +---w sid-hop
| | +---w sid? rt-types:generalized-label
| +---w payload-treatment? enumeration
| +---w src-client-signal? identityref
| +---w src-tpn? uint16
| +---w src-tsg? identityref
| +---w src-tributary-slot-count? uint16
| +---w src-tributary-slots
| | +---w values* uint8
| +---w dst-client-signal? identityref
| +---w dst-tpn? uint16
| +---w dst-tsg? identityref
| +---w dst-tributary-slot-count? uint16
| +---w dst-tributary-slots
| +---w values* uint8
+--ro output
+--ro return-code? enumeration
+--ro result* [id]
+--ro id uint8
+--ro p2p-primary-paths
| +--ro p2p-primary-path* [name]
| +--ro name string
| +--ro te-default-metric? uint32
| +--ro te-delay-metric? uint32
| +--ro te-hop-metric? uint32
| +--ro explicit-route-objects
| +--ro explicit-route-object* [index]
| +--ro explicit-route-usage? identityref
| +--ro index uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(as-number)
| | +--ro as-number-hop
| | +--ro as-number? binary
| | +--ro hop-type? te-hop-type
| +--:(unnumbered)
| | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-node-id
| | +--ro link-tp-id? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(label)
| | +--ro label-hop
| | +--ro value? rt-types:generalized-label
| +--:(sid)
| +--ro sid-hop
| +--ro sid? rt-types:generalized-label
+--ro p2p-secondary-paths
+--ro p2p-secondary-path* [name]
+--ro name string
+--ro te-default-metric? uint32
+--ro te-delay-metric? uint32
+--ro te-hop-metric? uint32
+--ro explicit-route-objects
+--ro explicit-route-object* [index]
+--ro explicit-route-usage? identityref
+--ro index uint32
+--ro (type)?
+--:(numbered)
| +--ro numbered-hop
| +--ro address? te-types:te-tp-id
| +--ro hop-type? te-hop-type
+--:(as-number)
| +--ro as-number-hop
| +--ro as-number? binary
| +--ro hop-type? te-hop-type
+--:(unnumbered)
| +--ro unnumbered-hop
| +--ro node-id? te-types:te-node-id
| +--ro link-tp-id? te-types:te-tp-id
| +--ro hop-type? te-hop-type
+--:(label)
| +--ro label-hop
| +--ro value? rt-types:generalized-label
+--:(sid)
+--ro sid-hop
+--ro sid? rt-types:generalized-label
3.5. OTN Tunnel YANG Code 3.5. OTN Tunnel YANG Code
<CODE BEGINS>file "ietf-otn-tunnel@2017-05-25.yang" <CODE BEGINS>file "ietf-otn-tunnel@2017-10-30.yang"
module ietf-otn-tunnel { module ietf-otn-tunnel {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel";
prefix "otn-tunnel";
import ietf-te { prefix "te"; }
import ietf-transport-types { prefix "tran-types"; }
//import yang-ext { prefix ext; revision-date 2013-07-09; }
organization
"IETF CCAMP Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>
Editor: Haomian Zheng
<mailto:zhenghaomian@huawei.com>
Editor: Zheyu Fan
<mailto:fanzheyu2@huawei.com>
Editor: Anurag Sharma
<mailto:ansha@google.com>
Editor: Rajan Rao
<mailto:rrao@infinera.com>
Editor: Sergio Belotti namespace "urn:ietf:params:xml:ns:yang:ietf-otn-tunnel";
<mailto:sergio.belotti@nokia.com> prefix "otn-tunnel";
Editor: Victor Lopez import ietf-te {
<mailto:victor.lopezalvarez@telefonica.com> prefix "te";
}
Editor: Yunbo Li import ietf-otn-types {
<mailto:liyunbo@chinamobile.com>"; prefix "otn-types";
}
import ietf-te-types {
prefix "te-types";
}
description import ietf-inet-types {
"This module defines a model for OTN Tunnel Services."; prefix "inet";
}
revision "2017-05-25" { organization
description "IETF CCAMP Working Group";
"Revision 0.3"; contact
reference "WG Web: <http://tools.ietf.org/wg/ccamp/>
"draft-sharma-ccamp-otn-tunnel-model-02.txt"; WG List: <mailto:ccamp@ietf.org>
}
grouping otn-tunnel-endpoint { Editor: Haomian Zheng
description "Parameters for OTN tunnel."; <mailto:zhenghaomian@huawei.com>
leaf payload-treatment { Editor: Zheyu Fan
type enumeration { <mailto:fanzheyu2@huawei.com>
enum switching;
enum transport;
}
default switching;
description
"Treatment of the incoming payload. Payload can
either be switched, or transported as is.";
}
leaf src-client-signal { Editor: Anurag Sharma
type identityref { <mailto:ansha@google.com>
base tran-types:client-signal;
}
description
"Client signal at the source endpoint of
the tunnel.";
}
leaf src-tpn { Editor: Rajan Rao
type uint16 { <mailto:rrao@infinera.com>
range "0..4095";
}
description
"Tributary Port Number. Applicable in case of mux
services.";
reference
"RFC7139: GMPLS Signaling Extensions for Control of
Evolving G.709 Optical Transport Networks.";
}
leaf src-tsg { Editor: Sergio Belotti
type identityref { <mailto:sergio.belotti@nokia.com>
base tran-types:tributary-slot-granularity;
}
description
"Tributary slot granularity. Applicable in case of
mux services.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf src-tributary-slot-count { Editor: Victor Lopez
type uint16; <mailto:victor.lopezalvarez@telefonica.com>
description
"Number of tributary slots used at the source.";
}
container src-tributary-slots { Editor: Yunbo Li
description <mailto:liyunbo@chinamobile.com>
"A list of tributary slots used by the client
service. Applicable in case of mux services.";
leaf-list values {
type uint8;
description
"Tributary tributary slot value.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
}
leaf dst-client-signal { Editor: Yunbin Xu
type identityref { <mailto:xuyunbin@ritt.cn>";
base tran-types:client-signal;
}
description
"Client signal at the destination endpoint of
the tunnel.";
}
leaf dst-tpn { description
type uint16 { "This module defines a model for OTN Tunnel Services.";
range "0..4095";
}
description
"Tributary Port Number. Applicable in case of mux
services.";
reference
"RFC7139: GMPLS Signaling Extensions for Control of
Evolving G.709 Optical Transport Networks.";
}
leaf dst-tsg { revision "2017-10-30" {
type identityref { description
base tran-types:tributary-slot-granularity; "Revision 0.4";
} reference
description "draft-ietf-ccamp-otn-tunnel-model-01.txt";
"Tributary slot granularity. Applicable in case of }
mux services."; grouping otn-tunnel-endpoint {
reference description "Parameters for OTN tunnel";
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf dst-tributary-slot-count { leaf payload-treatment {
type uint16; type enumeration {
description enum switching {
"Number of tributary slots used at the destination."; description "Client signal is switched to another tunnel
in this domain";
} }
container dst-tributary-slots { enum transport {
description description "Client signal is transparently transmitted
"A list of tributary slots used by the client in this domain";
service. Applicable in case of mux services.";
leaf-list values {
type uint8;
description
"Tributary slot value.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
} }
}
default switching;
description
"Treatment of the incoming payload. Payload can be switched
or transported.";
} }
/* leaf src-client-signal {
Note: Comment has been given to authors of TE Tunnel model to add type identityref {
tunnel-types to the model in order to identify the technology base otn-types:client-signal;
type of the service. }
description
grouping otn-service-type { "Client signal at the source endpoint of the tunnel";
description
"Identifies the OTN Service type.";
container otn-service {
presence "Indicates OTN Service.";
description
"Its presence identifies the OTN Service type.";
}
} // otn-service-type
augment "/te:te/te:tunnels/te:tunnel/te:tunnel-types" {
description
"Introduce OTN service type for tunnel.";
ext:augment-identifier otn-service-type-augment;
uses otn-service-type;
} }
*/
/*
Note: Comment has been given to authors of TE Tunnel model to add
list of endpoints under config to support P2MP tunnel.
*/
augment "/te:te/te:tunnels/te:tunnel/te:config" {
description
"Augment with additional parameters required for OTN
service.";
//ext:augment-identifier otn-tunnel-endpoint-config-augment;
uses otn-tunnel-endpoint;
leaf src-tpn {
type uint16 {
range "0..4095";
}
description
"Tributary Port Number. Applicable in case of mux services";
reference
"RFC7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks";
} }
augment "/te:te/te:tunnels/te:tunnel/te:state" { leaf src-tsg {
description type identityref {
"Augment with additional parameters required for OTN base otn-types:tributary-slot-granularity;
service."; }
//ext:augment-identifier otn-tunnel-endpoint-state-augment; description
uses otn-tunnel-endpoint; "Tributary slot granularity.
Applicable in case of mux services";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
} }
/* leaf src-tributary-slot-count {
Note: Comment has been given to authors of TE Tunnel model to type uint16;
add tunnel-lifecycle-event to the model. This notification is description
reported for all lifecycle changes (create, delete, and update) "Number of tributary slots used at the source.";
to the tunnel or lsp. }
augment "/te:tunnel-lifecycle-event" {
description
"OTN service event";
uses otn-service-type;
uses otn-tunnel-params;
list endpoint { container src-tributary-slots {
key description
"endpoint-address tp-id"; "A list of tributary slots used by the client service.
Applicable in case of mux services";
leaf-list values {
type uint8;
description description
"List of Tunnel Endpoints."; "Tributary tributary slot value";
uses te:tunnel-endpoint; reference
uses otn-tunnel-params; "G.709/Y.1331, February 2016: Interfaces for the
} Optical Transport Network (OTN)";
} }
*/ }
}
<CODE ENDS>
3.6. Transport Types YANG Code
<CODE BEGINS> file "ietf-transport-types@2017-05-25.yang"
module ietf-transport-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-transport-types";
prefix "tran-types";
organization
"IETF CCAMP Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>
Editor: Haomian Zheng leaf dst-client-signal {
<mailto:zhenghaomian@huawei.com> type identityref {
base otn-types:client-signal;
}
description
"Client signal at the destination endpoint of the tunnel";
}
Editor: Zheyu Fan leaf dst-tpn {
<mailto:fanzheyu2@huawei.com> type uint16 {
range "0..4095";
}
description
"Tributary Port Number. Applicable in case of mux services";
reference
"RFC7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks.";
}
Editor: Anurag Sharma leaf dst-tsg {
<mailto:ansha@google.com> type identityref {
base otn-types:tributary-slot-granularity;
}
description
"Tributary slot granularity.
Editor: Rajan Rao Applicable in case of mux services";
<mailto:rrao@infinera.com> reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
Editor: Sergio Belotti leaf dst-tributary-slot-count {
<mailto:sergio.belotti@nokia.com> type uint16;
description
"Number of tributary slots used at the destination.";
}
Editor: Victor Lopez container dst-tributary-slots {
<mailto:victor.lopezalvarez@telefonica.com> description
"A list of tributary slots used by the client service.
Applicable in case of mux services";
leaf-list values {
type uint8;
description
"Tributary slot value";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
}
}
Editor: Yunbo Li /*
<mailto:liyunbo@chinamobile.com>"; Note: Comment has been given to authors of TE Tunnel model to add
list of endpoints under config to support P2MP tunnel.
*/
augment "/te:te/te:tunnels/te:tunnel" {
description
"Augment with additional parameters required for OTN service";
uses otn-tunnel-endpoint;
}
grouping p2p-path-ero {
description description
"This module defines transport types."; "TE tunnel ERO configuration grouping";
revision "2017-05-25" { leaf te-default-metric {
description type uint32;
"Revision 0.3"; description
reference "Traffic engineering metric.";
"draft-sharma-ccamp-otn-tunnel-model-02.txt";
} }
leaf te-delay-metric {
identity tributary-slot-granularity { type uint32;
description description
"Tributary slot granularity."; "Traffic engineering delay metric.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
} }
leaf te-hop-metric {
identity tsg-1.25G { type uint32;
base tributary-slot-granularity; description
description "Traffic engineering hop metric.";
"1.25G tributary slot granularity.";
} }
container explicit-route-objects {
identity tsg-2.5G { description "Explicit route objects container";
base tributary-slot-granularity; list explicit-route-object {
key "index";
description description
"2.5G tributary slot granularity."; "List of explicit route objects";
leaf explicit-route-usage {
type identityref {
base te-types:route-usage-type;
}
description "An explicit-route hop action.";
}
uses te-types:explicit-route-hop_config;
}
} }
}
identity tributary-protocol-type { rpc otn-te-tunnel-path-compute {
description description "OTN TE tunnel path computation";
"Base identity for protocol framing used by input {
tributary signals."; list request {
} key "id";
description "A list of path computation requests.";
identity prot-OTU1 { leaf id {
base tributary-protocol-type; type uint8;
description description
"OTU1 protocol (2.66G)"; "Request ID.";
} }
leaf type {
type identityref {
base te-types:tunnel-type;
}
description "TE tunnel type.";
}
leaf source {
type inet:ip-address;
description
"TE tunnel source address.";
}
leaf destination {
type inet:ip-address;
description
"TE tunnel destination address";
}
leaf src-tp-id {
type binary;
description
"TE tunnel source termination point identifier.";
}
leaf dst-tp-id {
type binary;
description
"TE tunnel destination termination point identifier.";
}
leaf switching-layer {
type identityref {
base te-types:switching-capabilities;
}
description
"Switching layer where the requests are computed.";
}
leaf encoding {
type identityref {
base te-types:lsp-encoding-types;
}
description "LSP encoding type";
}
leaf protection-type {
type identityref {
base te-types:lsp-protection-type;
}
description "LSP protection type";
}
leaf restoration-type {
type identityref {
base te-types:lsp-restoration-type;
}
description "LSP restoration type";
}
leaf provider-id {
type te-types:te-global-id;
description
"An identifier to uniquely identify a provider.";
}
leaf client-id {
type te-types:te-global-id;
description
"An identifier to uniquely identify a client.";
}
leaf te-topology-id {
type te-types:te-topology-id;
description
"It is presumed that a datastore will contain many
topologies. To distinguish between topologies it is
vital to have UNIQUE topology identifiers.";
}
leaf setup-priority {
type uint8 {
range "0..7";
}
description
"TE LSP setup priority";
}
leaf hold-priority {
type uint8 {
range "0..7";
}
description
"TE LSP hold priority";
}
leaf te-path-metric-type {
type identityref {
base te-types:path-metric-type;
}
default te-types:path-metric-te;
description
"The tunnel path metric type.";
}
/* leaf odu-type {
identity prot-OTU1e { type identityref{
base tributary-protocol-type; base otn-types:tributary-protocol-type;
description }
"OTU1e type (11.04G)"; description "Type of ODU";
}
container p2p-primary-paths {
description "Set of P2P primary paths container";
list p2p-primary-path {
key "name";
description
"List of primary paths for this tunnel.";
leaf name {
type string;
description "TE path name";
}
uses p2p-path-ero;
}
}
container p2p-secondary-paths {
description "Set of P2P secondary paths container";
list p2p-secondary-path {
key "name";
description
"List of secondary paths for this tunnel.";
leaf name {
type string;
description "TE path name";
}
uses p2p-path-ero;
}
}
uses otn-tunnel-endpoint;
}
} }
output {
leaf return-code {
type enumeration {
enum success {
description "success";
}
enum aborted {
description "aborted";
}
enum destination-not-found {
description "destination-not-found";
}
enum invalid-argument {
description "invalid-argument";
}
enum no-memory {
description "no-memory";
}
enum no-path-found {
description "no-path-found";
}
enum other-error {
description "other-error";
}
enum some-path-not-found {
description "some-path-not-found";
}
enum source-not-found {
description "source-not-found";
identity prot-OTU1f { }
base tributary-protocol-type; enum topology-error {
description "topology-error";
}
}
description description
"OTU1f type (11.27G)"; "Return code";
} }
*/ list result {
identity prot-OTU2 { key "id";
base tributary-protocol-type;
description description
"OTU2 type (10.70G)"; "A list of results for all requests.";
}
identity prot-OTU2e { leaf id {
base tributary-protocol-type; type uint8;
description description
"OTU2e type (11.09G)"; "Request ID";
}
container p2p-primary-paths {
description "Set of P2P primary paths container";
list p2p-primary-path {
key "name";
description
"List of resultant primary paths for this tunnel.";
leaf name {
type string;
description "TE path name";
}
uses p2p-path-ero;
}
}
container p2p-secondary-paths {
description "Set of P2P secondary paths container";
list p2p-secondary-path {
key "name";
description
"List of resultant secondary paths for this tunnel.";
leaf name {
type string;
description "TE path name";
}
uses p2p-path-ero;
}
}
}
} }
}
}
<CODE ENDS>
/* 3.6. OTN Types YANG Code
identity prot-OTU2f {
base tributary-protocol-type;
description
"OTU2f type (11.31G)";
}
*/
identity prot-OTU3 { <CODE BEGINS> file "ietf-otn-types@2017-10-30.yang"
base tributary-protocol-type;
description
"OTU3 type (43.01G)";
}
/* module ietf-otn-types {
identity prot-OTU3e1 { namespace "urn:ietf:params:xml:ns:yang:ietf-otn-types";
base tributary-protocol-type; prefix "otn-types";
description
"OTU3e1 type (44.57G)";
}
identity prot-OTU3e2 { organization
base tributary-protocol-type; "IETF CCAMP Working Group";
description contact
"OTU3e2 type (44.58G)"; "WG Web: <http://tools.ietf.org/wg/ccamp/>
} WG List: <mailto:ccamp@ietf.org>
*/
identity prot-OTU4 { Editor: Haomian Zheng
base tributary-protocol-type; <mailto:zhenghaomian@huawei.com>
description
"OTU4 type (111.80G)";
}
identity prot-OTUCn { Editor: Zheyu Fan
base tributary-protocol-type; <mailto:fanzheyu2@huawei.com>
description
"OTUCn type (beyond 100G)";
}
identity prot-ODU0 { Editor: Anurag Sharma
base tributary-protocol-type; <mailto:ansha@google.com>
description
"ODU0 protocol (1.24G).";
}
identity prot-ODU1 { Editor: Rajan Rao
base tributary-protocol-type; <mailto:rrao@infinera.com>
description
"ODU1 protocol (2.49G).";
}
/* Editor: Sergio Belotti
identity prot-ODU1e { <mailto:sergio.belotti@nokia.com>
base tributary-protocol-type;
description
"ODU1e protocol (10.35G).";
}
identity prot-ODU1f { Editor: Victor Lopez
base tributary-protocol-type; <mailto:victor.lopezalvarez@telefonica.com>
description
"ODU1f protocol (10.56G).";
}
*/
identity prot-ODU2 { Editor: Yunbo Li
base tributary-protocol-type; <mailto:liyunbo@chinamobile.com>
description
"ODU2 protocol (10.03G).";
}
identity prot-ODU2e { Editor: Yunbin Xu
base tributary-protocol-type; <mailto:xuyunbin@ritt.cn>";
description
"ODU2e protocol (10.39G).";
}
/* description
identity prot-ODU2f { "This module defines OTN types.";
base tributary-protocol-type;
description
"ODU2f protocol (10.60G).";
}
*/
identity prot-ODU3 { revision "2017-10-30" {
base tributary-protocol-type; description
description "Revision 0.4";
"ODU3 protocol (40.31G).";
}
/* reference
identity prot-ODU3e1 { "draft-ietf-ccamp-otn-tunnel-model-01.txt";
base tributary-protocol-type; }
description
"ODU3e1 protocol (41.77G).";
}
identity prot-ODU3e2 { identity tributary-slot-granularity {
base tributary-protocol-type; description
description "Tributary slot granularity";
"ODU3e2 protocol (41.78G)."; reference
} "G.709/Y.1331, February 2016: Interfaces for the Optical
*/ Transport Network (OTN)";
}
identity prot-ODU4 { identity tsg-1.25G {
base tributary-protocol-type; base tributary-slot-granularity;
description description
"ODU4 protocol (104.79G)."; "1.25G tributary slot granularity";
} }
identity prot-ODUFlex-cbr { identity tsg-2.5G {
base tributary-protocol-type; base tributary-slot-granularity;
description description
"ODU Flex CBR protocol for transporting constant bit "2.5G tributary slot granularity";
rate signal."; }
} /*
identity tsg-1.25Gand2.5G {
base tributary-slot-granularity;
description
"Both 1.25G and 2.5G tributary slot granularity";
}
*/
identity tributary-protocol-type {
description
"Base identity for protocol framing used by tributary signals";
}
identity prot-ODUFlex-gfp { identity prot-OTU1 {
base tributary-protocol-type; base tributary-protocol-type;
description description
"ODU Flex GFP protocol for transporting stream of packets "OTU1 protocol (2.66G)";
using Generic Framing Procedure."; }
} /*
identity prot-OTU1e {
base tributary-protocol-type;
description
"OTU1e type (11.04G)";
}
identity prot-ODUCn { identity prot-OTU1f {
base tributary-protocol-type; base tributary-protocol-type;
description description
"ODUCn protocol (beyond 100G)."; "OTU1f type (11.27G)";
} }
*/
identity prot-OTU2 {
base tributary-protocol-type;
description
"OTU2 type (10.70G)";
}
identity prot-1GbE { identity prot-OTU2e {
base tributary-protocol-type; base tributary-protocol-type;
description description
"1G Ethernet protocol"; "OTU2e type (11.09G)";
} }
/*
identity prot-OTU2f {
base tributary-protocol-type;
description
"OTU2f type (11.31G)";
}
*/
identity prot-OTU3 {
base tributary-protocol-type;
description
"OTU3 type (43.01G)";
}
/*
identity prot-OTU3e1 {
base tributary-protocol-type;
description
"OTU3e1 type (44.57G)";
}
identity prot-10GbE-LAN { identity prot-OTU3e2 {
base tributary-protocol-type; base tributary-protocol-type;
description description
"10G Ethernet LAN protocol"; "OTU3e2 type (44.58G)";
} }
*/
identity prot-OTU4 {
base tributary-protocol-type;
description
"OTU4 type (111.80G)";
}
identity prot-40GbE { identity prot-OTUCn {
base tributary-protocol-type; base tributary-protocol-type;
description description
"40G Ethernet protocol"; "OTUCn type (beyond 100G)";
} }
identity prot-100GbE {
base tributary-protocol-type;
description
"100G Ethernet protocol";
}
identity client-signal { identity prot-ODU0 {
description base tributary-protocol-type;
"Base identity from which specific client signals for the description
tunnel are derived."; "ODU0 protocol (1.24G)";
} }
identity client-signal-1GbE { identity prot-ODU1 {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of 1GbE"; "ODU1 protocol (2.49G)";
} }
/*
identity prot-ODU1e {
base tributary-protocol-type;
description
"ODU1e protocol (10.35G).";
}
identity client-signal-10GbE-LAN { identity prot-ODU1f {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of 10GbE LAN"; "ODU1f protocol (10.56G).";
} }
*/
identity prot-ODU2 {
base tributary-protocol-type;
description
"ODU2 protocol (10.03G)";
}
identity client-signal-10GbE-WAN { identity prot-ODU2e {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of 10GbE WAN"; "ODU2e protocol (10.39G)";
} }
/*
identity prot-ODU2f {
base tributary-protocol-type;
description
"ODU2f protocol (10.60G).";
}
*/
identity prot-ODU3 {
base tributary-protocol-type;
description
"ODU3 protocol (40.31G)";
}
/*
identity prot-ODU3e1 {
base tributary-protocol-type;
description
"ODU3e1 protocol (41.77G).";
}
identity client-signal-40GbE { identity prot-ODU3e2 {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of 40GbE"; "ODU3e2 protocol (41.78G).";
} }
*/
identity prot-ODU4 {
base tributary-protocol-type;
description
"ODU4 protocol (104.79G)";
}
identity client-signal-100GbE { identity prot-ODUFlex-cbr {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of 100GbE"; "ODU Flex CBR protocol for transporting constant bit rate
} signal";
}
identity client-signal-OC3_STM1 { identity prot-ODUFlex-gfp {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of OC3 & STM1"; "ODU Flex GFP protocol for transporting stream of packets
} using Generic Framing Procedure";
}
identity client-signal-OC12_STM4 { identity prot-ODUCn {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of OC12 & STM4"; "ODUCn protocol (beyond 100G)";
} }
identity client-signal-OC48_STM16 { identity prot-1GbE {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of OC48 & STM16"; "1G Ethernet protocol";
} }
identity prot-10GbE-LAN {
base tributary-protocol-type;
description
"10G Ethernet LAN protocol";
}
identity client-signal-OC192_STM64 { identity prot-40GbE {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of OC192 & STM64"; "40G Ethernet protocol";
} }
identity client-signal-OC768_STM256 { identity prot-100GbE {
base client-signal; base tributary-protocol-type;
description description
"Client signal type of OC768 & STM256"; "100G Ethernet protocol";
} }
identity client-signal-ODU0 { identity client-signal {
base client-signal; description
description "Base identity from which specific client signals for the
"Client signal type of ODU0 (1.24G)"; tunnel are derived";
} }
identity client-signal-ODU1 { identity client-signal-1GbE {
base client-signal; base client-signal;
description description
"ODU1 protocol (2.49G)"; "Client signal type of 1GbE";
} }
identity client-signal-ODU2 { identity client-signal-10GbE-LAN {
base client-signal; base client-signal;
description description
"Client signal type of ODU2 (10.03G)"; "Client signal type of 10GbE LAN";
} }
identity client-signal-ODU2e { identity client-signal-10GbE-WAN {
base client-signal; base client-signal;
description description
"Client signal type of ODU2e (10.39G)"; "Client signal type of 10GbE WAN";
} }
identity client-signal-ODU3 {
base client-signal;
description
"Client signal type of ODU3 (40.31G)";
}
/* identity client-signal-40GbE {
identity client-signal-ODU3e2 { base client-signal;
base client-signal; description
description "Client signal type of 40GbE";
"Client signal type of ODU3e2 (41.78G)"; }
} identity client-signal-100GbE {
*/ base client-signal;
description
"Client signal type of 100GbE";
}
identity client-signal-ODU4 { identity client-signal-OC3_STM1 {
base client-signal; base client-signal;
description description
"Client signal type of ODU4 (104.79G)"; "Client signal type of OC3 & STM1";
} }
identity client-signal-ODUFlex-cbr { identity client-signal-OC12_STM4 {
base client-signal; base client-signal;
description description
"Client signal type of ODU Flex CBR"; "Client signal type of OC12 & STM4";
} }
identity client-signal-ODUFlex-gfp { identity client-signal-OC48_STM16 {
base client-signal; base client-signal;
description description
"Client signal type of ODU Flex GFP"; "Client signal type of OC48 & STM16";
} }
identity client-signal-ODUCn { identity client-signal-OC192_STM64 {
base client-signal; base client-signal;
description description
"Client signal type of ODUCn (beyond 100G)."; "Client signal type of OC192 & STM64";
} }
identity client-signal-FC400 { identity client-signal-OC768_STM256 {
base client-signal; base client-signal;
description description
"Client signal type of Fibre Channel FC400."; "Client signal type of OC768 & STM256";
} }
identity client-signal-FC800 { identity client-signal-ODU0 {
base client-signal; base client-signal;
description description
"Client signal type of Fibre Channel FC800."; "Client signal type of ODU0 (1.24G)";
}
} identity client-signal-ODU1 {
base client-signal;
description
"ODU1 protocol (2.49G)";
}
identity client-signal-ODU2 {
base client-signal;
description
"Client signal type of ODU2 (10.03G)";
}
identity client-signal-FICON-4G { identity client-signal-ODU2e {
base client-signal; base client-signal;
description description
"Client signal type of Fibre Connection 4G."; "Client signal type of ODU2e (10.39G)";
} }
identity client-signal-FICON-8G { identity client-signal-ODU3 {
base client-signal; base client-signal;
description description
"Client signal type of Fibre Connection 8G."; "Client signal type of ODU3 (40.31G)";
} }
/*
identity client-signal-ODU3e2 {
base client-signal;
description
"Client signal type of ODU3e2 (41.78G)";
}
*/
identity client-signal-ODU4 {
base client-signal;
description
"Client signal type of ODU4 (104.79G)";
}
identity client-signal-ODUflex-cbr {
base client-signal;
description
"Client signal type of ODU Flex CBR";
}
identity client-signal-ODUflex-gfp {
base client-signal;
description
"Client signal type of ODU Flex GFP";
}
identity client-signal-ODUCn {
base client-signal;
description
"Client signal type of ODUCn (beyond 100G)";
}
identity client-signal-FC400 {
base client-signal;
description
"Client signal type of Fibre Channel FC400";
}
identity client-signal-FC800 {
base client-signal;
description
"Client signal type of Fibre Channel FC800";
}
identity client-signal-FICON-4G {
base client-signal;
description
"Client signal type of Fibre Connection 4G";
}
identity client-signal-FICON-8G {
base client-signal;
description
"Client signal type of Fibre Connection 8G";
}
} }
<CODE ENDS> <CODE ENDS>
4. Security Considerations 4. Security Considerations
TBD. TBD.
5. IANA Considerations 5. IANA Considerations
TBD. TBD.
skipping to change at page 20, line 9 skipping to change at page 27, line 20
Lei Wang Lei Wang
China Mobile China Mobile
Email: wangleiyj@chinamobile.com Email: wangleiyj@chinamobile.com
Oscar Gonzalez de Dios Oscar Gonzalez de Dios
Telefonica Telefonica
Email: oscar.gonzalezdedios@telefonica.com Email: oscar.gonzalezdedios@telefonica.com
8. Normative References 8. Normative References
[I-D.ietf-netmod-rfc6087bis] [I-D.ietf-netmod-yang-tree-diagrams]
Bierman, A., "Guidelines for Authors and Reviewers of YANG Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
Data Model Documents", draft-ietf-netmod-rfc6087bis-12 ietf-netmod-yang-tree-diagrams-02 (work in progress),
(work in progress), March 2017. October 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
Authors' Addresses Authors' Addresses
Haomian Zheng Haomian Zheng
Huawei Technologies Huawei Technologies
F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District
Shenzhen, Guangdong 518129 Shenzhen, Guangdong 518129
P.R.China P.R.China
Email: zhenghaomian@huawei.com Email: zhenghaomian@huawei.com
skipping to change at line 960 skipping to change at page 28, line 26
Victor Lopez Victor Lopez
Telefonica Telefonica
Email: victor.lopezalvarez@telefonica.com Email: victor.lopezalvarez@telefonica.com
Yunbo Li Yunbo Li
China Mobile China Mobile
Email: liyunbo@chinamobile.com Email: liyunbo@chinamobile.com
Yunbin Xu
CAICT
Email: xuyunbin@ritt.cn
 End of changes. 114 change blocks. 
603 lines changed or deleted 947 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/