CCAMP Working Group H. Zheng
Internet-Draft A. Guo
Intended status: Standards Track I. Busi
Expires: March 3, 2019 Huawei Technologies
Y. Xu
CAICT
Y. Zhao
China Mobile
X. Liu
Volta Networks
G. Fioccola
Telecom Italia
August 30, 2018
A YANG Data Model for Client-layer Topology
draft-zheng-ccamp-client-topo-yang-03
Abstract
A transport network is a server-layer network to provide connectivity
services to its client. In this draft the topology of client is
described.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 3, 2019.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Zheng, et al. Expires March 3, 2019 [Page 1]
Internet-Draft ETH Topology Transport YANG Model August 2018
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology and Notations . . . . . . . . . . . . . . . . . . 3
3. YANG Model for Topology of Client Layer . . . . . . . . . . . 3
3.1. YANG Tree for Ethernet Topology . . . . . . . . . . . . . 3
3.2. YANG Tree for topology Model of other Client Layer . . . 5
4. YANG Code for Topology Client Layer . . . . . . . . . . . . . 5
4.1. The ETH Topology YANG Code . . . . . . . . . . . . . . . 5
4.2. Other OTN client signal YANG Code . . . . . . . . . . . . 13
5. Considerations and Open Issue . . . . . . . . . . . . . . . . 13
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. Manageability Considerations . . . . . . . . . . . . . . . . 13
8. Security Considerations . . . . . . . . . . . . . . . . . . . 13
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
11.1. Normative References . . . . . . . . . . . . . . . . . . 14
11.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction
A transport network is a server-layer network designed to provide
connectivity services for a client-layer network to carry the client
traffic transparently across the server-layer network resources. The
topology model in Traffic-Engineered network has been defined in both
generic way and technology-specific way. The generic model, which is
the base TE YANG model, can be found at [I-D.ietf-teas-yang-te-topo].
Technology-specific models, such as OTN/WSON topology model, have
also been defined in [I-D.ietf-ccamp-otn-topo-yang] and
[I-D.ietf-ccamp-wson-yang] respectively. Corresponding topology on
client-layer is also required, to have a complete topology view from
the perspective of network controllers.
This document defines a data model of all client-layer Topology,
using YANG language defined in [RFC7950]. The model is augmenting
the generic TE topology model, and can be used by either applications
exposing to a network controller or among controllers. Furthermore,
Zheng, et al. Expires March 3, 2019 [Page 2]
Internet-Draft ETH Topology Transport YANG Model August 2018
it can be used by an application for topology description in client-
layer network.
2. Terminology and Notations
A simplified graphical representation of the data model is used in
this document. The meaning of the symbols in the YANG data tree
presented later in this document is defined in [RFC8340]. They are
provided below for reference.
o Brackets "[" and "]" enclose list keys.
o Abbreviations before data node names: "rw" means configuration
(read-write) and "ro" state data (read-only).
o Symbols after data node names: "?" means an optional node, "!"
means a presence container, and "*" denotes a list and leaf-list.
o Parentheses enclose choice and case nodes, and case nodes are also
marked with a colon (":").
o Ellipsis ("...") stands for contents of subtrees that are not
shown.
3. YANG Model for Topology of Client Layer
3.1. YANG Tree for Ethernet Topology
module: ietf-eth-te-topology
augment /nd:networks/nd:network/nd:network-types/tet:te-topology:
+--rw eth-tran-topology!
augment /nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes:
+--rw max-bandwidth? uint64
+--rw available-bandwidth? uint64
+--rw available-vlan-range? etht-types:vid-range-type
augment /nd:networks/nd:network/nd:node/lnk:termination-point:
+--rw ltp-mac-address? yang:mac-address
+--rw port-vlan-id? etht-types:vlanid
+--rw maximum-frame-size? uint16
+--rw (direction)?
| +--:(symmetrical)
| | +--rw ingress-egress-bandwidth-profile
| | +--rw bandwidth-profile-name? string
| | +--rw bandwidth-profile-type? etht-types:bandwidth-profile-type
| | +--rw CIR? uint64
Zheng, et al. Expires March 3, 2019 [Page 3]
Internet-Draft ETH Topology Transport YANG Model August 2018
| | +--rw CBS? uint64
| | +--rw EIR? uint64
| | +--rw EBS? uint64
| | +--rw color-aware? boolean
| | +--rw coupling-flag? boolean
| +--:(asymmetrical)
| +--rw ingress-bandwidth-profile
| | +--rw bandwidth-profile-name? string
| | +--rw bandwidth-profile-type? etht-types:bandwidth-profile-type
| | +--rw CIR? uint64
| | +--rw CBS? uint64
| | +--rw EIR? uint64
| | +--rw EBS? uint64
| | +--rw color-aware? boolean
| | +--rw coupling-flag? boolean
| +--rw egress-bandwidth-profile
| +--rw bandwidth-profile-name? string
| +--rw bandwidth-profile-type? etht-types:bandwidth-profile-type
| +--rw CIR? uint64
| +--rw CBS? uint64
| +--rw EIR? uint64
| +--rw EBS? uint64
| +--rw color-aware? boolean
| +--rw coupling-flag? boolean
+--rw svc!
+--rw client-facing? boolean
+--rw supported-classification
| +--rw port-classification? boolean
| +--rw vlan-classification
| +--rw vlan-tag-classification? boolean
| +--rw outer-tag
| | +--rw supported-tag-types* etht-types:eth-tag-classify
| | +--rw vlan-bundling? boolean
| | +--rw vlan-range? etht-types:vid-range-type
| +--rw second-tag
| +--rw second-tag-classification? boolean
| +--rw supported-tag-types* etht-types:eth-tag-classify
| +--rw vlan-bundling? boolean
| +--rw vlan-range? etht-types:vid-range-type
+--rw supported-vlan-operations
+--rw asymmetrical-operations? boolean
+--rw transparent-vlan-operations? boolean
+--rw vlan-pop
| +--rw vlan-pop-operations? boolean
| +--rw max-pop-tags? uint8
+--rw vlan-push
+--rw vlan-push-operation? boolean
+--rw outer-tag
Zheng, et al. Expires March 3, 2019 [Page 4]
Internet-Draft ETH Topology Transport YANG Model August 2018
| +--rw supported-tag-types* etht-types:eth-tag-type
| +--rw vlan-range? etht-types:vid-range-type
+--rw second-tag
+--rw push-second-tag? boolean
+--rw supported-tag-types* etht-types:eth-tag-type
+--rw vlan-range? etht-types:vid-range-type
3.2. YANG Tree for topology Model of other Client Layer
This section will be completed later.
4. YANG Code for Topology Client Layer
4.1. The ETH Topology YANG Code
<CODE BEGINS> file "ietf-eth-te-topology@2018-03-01.yang"
module ietf-eth-te-topology {
namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-topology";
prefix "ethtetopo";
import ietf-network {
prefix "nd";
}
import ietf-network-topology {
prefix "lnk";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-yang-types {
prefix "yang";
}
import ietf-eth-tran-types {
prefix "etht-types";
}
Zheng, et al. Expires March 3, 2019 [Page 5]
Internet-Draft ETH Topology Transport YANG Model August 2018
organization
"Internet Engineering Task Force (IETF) CCAMP WG";
contact
"
WG List: <mailto:ccamp@ietf.org>
ID-draft editor:
Haomian Zheng (zhenghaomian@huawei.com);
Italo Busi (italo.busi@huawei.com);
Aihua Guo (aihuaguo@huawei.com);
Yunbin Xu (xuyunbin@ritt.cn);
Yang Zhao (zhaoyangyjy@chinamobile.com);
Xufeng Liu (Xufeng_Liu@jabil.com);
Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it);
";
description
"This module defines a YANG data model for describing
layer-2 Ethernet transport topologies.";
revision 2018-03-01 {
description
"Initial revision";
reference
"draft-zheng-ccamp-client-topo-yang";
}
/*
Groupings
*/
grouping eth-tran-topology-type {
description
"Identifies the Ethernet Transport topology type";
container eth-tran-topology {
presence "indicates a topology type of Ethernet
Transport Network.";
description "Eth transport topology type";
}
}
grouping eth-link-te-attributes {
description "Ethernet TE link attributes";
leaf max-bandwidth {
type uint64{
range "0..10000000000";
Zheng, et al. Expires March 3, 2019 [Page 6]
Internet-Draft ETH Topology Transport YANG Model August 2018
}
units "Kbps";
description
"Maximum bandwith value expressed in kilobits per second";
}
leaf available-bandwidth {
type uint64{
range "0..10000000000";
}
units "Kbps";
description
"Available bandwith value expressed in kilobits per second";
}
leaf available-vlan-range {
type etht-types:vid-range-type;
description
"The range of the VLAN values that are available.";
}
}
grouping ltp-bandwidth-profiles {
description
"A grouping which represents the bandwidt profile(s) for the ETH LTP.";
choice direction {
description
"Whether the bandwidth profiles are symmetrical or
asymmetrical";
case symmetrical {
description
"The same bandwidth profile is used to describe the ingress
and the egress bandwidth profile.";
container ingress-egress-bandwidth-profile {
description
"The bandwith profile used in the ingress and egress direction.";
uses etht-types:etht-bandwidth-profiles;
}
}
case asymmetrical {
description
"Different ingress and egress bandwidth profiles
can be specified.";
container ingress-bandwidth-profile {
description
"The bandwidth profile used in the ingress direction.";
Zheng, et al. Expires March 3, 2019 [Page 7]
Internet-Draft ETH Topology Transport YANG Model August 2018
uses etht-types:etht-bandwidth-profiles;
}
container egress-bandwidth-profile {
description
"The bandwidth profile used in the egress direction.";
uses etht-types:etht-bandwidth-profiles;
}
}
}
}
grouping eth-ltp-attributes {
description
"Ethernet transport link termination point attributes";
/*
Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)?
*/
leaf ltp-mac-address {
type yang:mac-address;
description "the MAC address of the LTP.";
}
/*
Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)?
*/
leaf port-vlan-id {
type etht-types:vlanid;
description "the port VLAN ID of the LTP.";
}
/*
Open Issue: should we remove this attribute (duplicates with I2RS L2 attributes)?
*/
leaf maximum-frame-size {
type uint16 {
range "64 .. 65535";
}
description
"Maximum frame size";
}
uses ltp-bandwidth-profiles;
}
grouping svc-vlan-classification {
description
"Grouping defining the capabilities for VLAN classification.";
leaf-list supported-tag-types {
type etht-types:eth-tag-classify;
Zheng, et al. Expires March 3, 2019 [Page 8]
Internet-Draft ETH Topology Transport YANG Model August 2018
description
"List of VLAN tag types that can be used for the VLAN classification.
In case VLAN classification is not supported, the list is empty.";
}
leaf vlan-bundling {
type boolean;
description
"In case VLAN classification is supported, indicates whether VLAN bundling classification is also supported.";
}
leaf vlan-range {
type etht-types:vid-range-type;
description
"In case VLAN classification is supported, indicates the of available VLAN ID values.";
}
}
grouping svc-vlan-push {
description
"Grouping defining the capabilities for VLAN push or swap operations.";
leaf-list supported-tag-types {
type etht-types:eth-tag-type;
description
"List of VLAN tag types that can be used to push or swap a VLAN tag.
In case VLAN push/swap is not supported, the list is empty.";
}
leaf vlan-range {
type etht-types:vid-range-type;
description
"In case VLAN push/swap operation is supported, the range of available VLAN ID values.";
}
}
grouping eth-ltp-svc-attributes {
description
"Ethernet link termination point (LTP) service attributes.";
leaf client-facing {
type boolean;
description
"indicates whether this LTP is a client-facing ltp.";
}
container supported-classification {
description
"Service classification capabilities supported by the ETH LTP.";
leaf port-classification {
Zheng, et al. Expires March 3, 2019 [Page 9]
Internet-Draft ETH Topology Transport YANG Model August 2018
type boolean;
description
"Indicates that the ETH LTP support port-based service classification.";
}
container vlan-classification {
description
"Service classification capabilities based on the VLAN tag(s)
supported by the ETH LTP.";
leaf vlan-tag-classification {
type boolean;
description
"Indicates that the ETH LTP supports VLAN service classification.";
}
container outer-tag {
description
"Service classification capabilities based on the outer VLAN tag,
supported by the ETH LTP.";
uses svc-vlan-classification;
}
container second-tag {
description
"Service classification capabilities based on the second VLAN tag,
supported by the ETH LTP.";
/*
Open issue: indicates that second-tag-classification can be True only if
outer-tag-classification is also True.
*/
leaf second-tag-classification {
type boolean;
description
"Indicates that the ETH LTP support VLAN service classification
based on the second VLAN tag.";
}
uses svc-vlan-classification;
}
}
}
container supported-vlan-operations {
description
"Description.";
leaf asymmetrical-operations {
type boolean;
description
"Indicates whether the ETH LTP supports also asymmetrical VLAN operations.
It is assumed that symmetrical VLAN operations are alwyas supported.";
}
Zheng, et al. Expires March 3, 2019 [Page 10]
Internet-Draft ETH Topology Transport YANG Model August 2018
leaf transparent-vlan-operations {
type boolean;
description
"Indicates that the ETH LTP supports transparent operations.";
}
container vlan-pop {
description
"Indicates VLAN pop or swap operations capabilities.";
leaf vlan-pop-operations {
type boolean;
description
"Indicates that the ETH LTP supports VLAN pop or swap operations.";
}
leaf max-pop-tags {
type uint8 {
range "1..2";
}
description
"Indicates the maximum number of tags that can be popped/swapped.";
}
}
container vlan-push {
description
"Indicates VLAN push or swap operations capabilities.";
leaf vlan-push-operation {
type boolean;
description
"Indicates that the ETH LTP supports VLAN push or swap operations.";
}
container outer-tag {
description
"Indicates the supported VLAN operation capabilities on the outer VLAN tag.";
uses svc-vlan-push;
}
container second-tag {
description
"Indicates the supported VLAN operation capabilities on the second VLAN tag.";
leaf push-second-tag {
type boolean;
description
"Indicates that the ETH LTP supports VLAN push or swap operations
for the second VLAN tag.";
}
uses svc-vlan-push;
}
Zheng, et al. Expires March 3, 2019 [Page 11]
Internet-Draft ETH Topology Transport YANG Model August 2018
}
}
}
/*
Data nodes
*/
augment "/nd:networks/nd:network/nd:network-types/tet:te-topology" {
description
"Augment network types to include ETH transport newtork";
uses eth-tran-topology-type;
}
augment "/nd:networks/nd:network/lnk:link/tet:te/tet:te-link-attributes" {
when "../../../nd:network-types/tet:te-topology/eth-tran-topology" {
description
"Augment only for ETH transport network.";
}
description
"Augment ETH transport link config attributes";
uses eth-link-te-attributes;
}
augment "/nd:networks/nd:network/nd:node/lnk:termination-point" {
when "../../nd:network-types/tet:te-topology/eth-tran-topology" {
description
"Augment only for ETH transport network";
}
description
"Augment ETH LTP attributes";
uses eth-ltp-attributes;
container svc {
presence "client-facing LTP.";
description
"ETH LTP Service attributes.";
uses eth-ltp-svc-attributes;
}
}
}
<CODE ENDS>
Zheng, et al. Expires March 3, 2019 [Page 12]
Internet-Draft ETH Topology Transport YANG Model August 2018
4.2. Other OTN client signal YANG Code
TBD.
5. Considerations and Open Issue
Editor Notes: This section is used to note temporary discussion/
conclusion that to be fixed in the future version, and will be
removed before publication.
6. IANA Considerations
TBD.
7. Manageability Considerations
TBD.
8. Security Considerations
The data following the model defined in this document is exchanged
via, for example, the interface between an orchestrator and a
transport network controller. The security concerns mentioned in
[I-D.ietf-teas-yang-te-topo] for using ietf-te-topology.yang model
also applies to this document.
The YANG module defined in this document can be accessed via the
RESTCONF protocol defined in [RFC8040], or maybe via the NETCONF
protocol [RFC6241].
There are a number of data nodes defined in the YANG module which are
writable/creatable/deletable (i.e., config true, which is the
default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., POST) to these
data nodes without proper protection can have a negative effect on
network operations.
Editors note: to list specific subtrees and data nodes and their
sensitivity/vulnerability.
9. Acknowledgements
We would like to thank Igor Bryskin and Daniel King for their
comments and discussions.
Zheng, et al. Expires March 3, 2019 [Page 13]
Internet-Draft ETH Topology Transport YANG Model August 2018
10. Contributors
Yanlei Zheng
China Unicom
Email: zhengyl@dimpt.com
Zhe Liu
Huawei Technologies,
Email: liuzhe123@huawei.com
Zheyu Fan
Huawei Technologies,
Email: fanzheyu2@huawei.com
Sergio Belotti
Nokia,
Email: sergio.belotti@nokia.com
Yingxi Yao
Shanghai Bell,
yingxi.yao@nokia-sbell.com
11. References
11.1. Normative References
[I-D.ietf-ccamp-otn-topo-yang]
zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma,
A., Liu, X., Belotti, S., Xu, Y., Wang, L., and O. Dios,
"A YANG Data Model for Optical Transport Network
Topology", draft-ietf-ccamp-otn-topo-yang-05 (work in
progress), August 2018.
[I-D.ietf-ccamp-otn-tunnel-model]
zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma,
A., Rao, R., Belotti, S., Lopezalvarez, V., Li, Y., and Y.
Xu, "OTN Tunnel YANG Model", draft-ietf-ccamp-otn-tunnel-
model-05 (work in progress), August 2018.
[I-D.ietf-teas-yang-te-topo]
Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
O. Dios, "YANG Data Model for Traffic Engineering (TE)
Topologies", draft-ietf-teas-yang-te-topo-18 (work in
progress), June 2018.
Zheng, et al. Expires March 3, 2019 [Page 14]
Internet-Draft ETH Topology Transport YANG Model August 2018
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>.
[RFC7139] Zhang, F., Ed., Zhang, G., Belotti, S., Ceccarelli, D.,
and K. Pithewan, "GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks", RFC 7139,
DOI 10.17487/RFC7139, March 2014,
<https://www.rfc-editor.org/info/rfc7139>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016,
<https://www.rfc-editor.org/info/rfc7950>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<https://www.rfc-editor.org/info/rfc8040>.
11.2. Informative References
[I-D.ietf-ccamp-wson-yang]
Lee, Y., Dhody, D., Guo, A., Lopezalvarez, V., King, D.,
Yoon, B., and R. Vilata, "A Yang Data Model for WSON
Optical Networks", draft-ietf-ccamp-wson-yang-13 (work in
progress), August 2018.
[RFC7062] Zhang, F., Ed., Li, D., Li, H., Belotti, S., and D.
Ceccarelli, "Framework for GMPLS and PCE Control of G.709
Optical Transport Networks", RFC 7062,
DOI 10.17487/RFC7062, November 2013,
<https://www.rfc-editor.org/info/rfc7062>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>.
Authors' Addresses
Haomian Zheng
Huawei Technologies
F3 R&D Center, Huawei Industrial Base, Bantian, Longgang District
Shenzhen, Guangdong 518129
P.R.China
Email: zhenghaomian@huawei.com
Zheng, et al. Expires March 3, 2019 [Page 15]
Internet-Draft ETH Topology Transport YANG Model August 2018
Aihua Guo
Huawei Technologies
Email: aihuaguo@huawei.com
Italo Busi
Huawei Technologies
Email: Italo.Busi@huawei.com
Yunbin Xu
CAICT
Email: xuyunbin@ritt.cn
Yang Zhao
China Mobile
Email: zhaoyangyjy@chinamobile.com
Xufeng Liu
Volta Networks
Email: xufeng.liu.ietf@gmail.com
Giuseppe Fioccola
Telecom Italia
Email: giuseppe.fioccola@telecomitalia.it
Zheng, et al. Expires March 3, 2019 [Page 16]