module ietf-layer0-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-layer0-types";
prefix "layer0-types";
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
Editor: Aihua Guo
Editor: Young Lee
";
description
"This module defines Optical Layer 0 types. This module
provides groupings that can be applicable to Layer 0
Fixed Optical Networks (e.g., CWDM (Coarse Wavelength
Division Multiplexing) and DWDM (Dense Wavelength Division
Multiplexing)) and Flexi-grid Optical Networks.
Copyright (c) 2018 IETF Trust and the persons identified
as authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with
or 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
(http://trustee.ietf.org/license-info).";
revision "2018-11-19" {
description
"Initial Version";
reference "TBD";
}
typedef operational-mode {
type string;
description
"Vendor-specific mode that guarantees interoperability.
It must be an string with the following format:
B-DScW-ytz(v) where all these attributes are conformant
to the ITU-T recomendation";
reference "ITU-T G.698.2 (11/2009) Section 5.3";
}
typedef vendor-identifier {
type string;
description
"vendor identifier that uses vendor-specific mode";
reference "TBD";
}
typedef frequency-thz {
type decimal64 {
fraction-digits 5;
}
units THz;
description
"The DWDM frequency in THz, e.g., 193.12500";
reference
"RFC6205";
}
typedef frequency-ghz {
type decimal64 {
fraction-digits 5;
}
units GHz;
description
"The DWDM frequency in GHz, e.g., 193125.00";
reference
"RFC6205";
}
identity layer0-node-type {
description
"layer0 node type.";
reference
"RFC6163";
}
identity flex-grid-node {
base layer0-node-type;
description
"Flex Grid node";
}
identity wson-node-foadm {
base layer0-node-type;
description
"Fixed OADM (Optical Add-Drop Multiplexer) node";
}
identity wson-node-roadm {
base layer0-node-type;
description
"ROADM (Reconfigurable Optical Add-Drop Multiplexer)
or OXC (Optical Cross Connect) node";
}
identity wson-node-ila {
base layer0-node-type;
description
"ILA (In-Line Amplifier) node";
}
identity wavelength-assignment {
description
"Wavelength selection base";
}
identity unspecified-wavelength-assignment {
base wavelength-assignment;
description
"No method specified";
}
identity first-fit-wavelength-asignment {
base wavelength-assignment;
description
"All the available wavelengths are numbered,
and this WA (Wavelength Assignment) method chooses
the available wavelength with the lowest index";
}
identity random-wavelength-asignment {
base wavelength-assignment;
description
"This WA method chooses an available
wavelength randomly";
}
identity least-loaded-wavelength-asignment {
base wavelength-assignment;
description
"This WA method selects the wavelength that
has the largest residual capacity on the most loaded
link along the route (in multi-fiber networks)";
}
identity layer0-grid-type {
description
"Layer0 grid type.";
}
identity flex-grid-dwdm {
base layer0-grid-type;
description
"Flex grid";
}
identity wson-grid-dwdm {
base layer0-grid-type;
description
"DWDM grid";
}
identity wson-grid-cwdm {
base layer0-grid-type;
description
"CWDM grid";
}
identity term-type {
description
"Termination type.";
}
identity term-phys {
base term-type;
description
"Physical Layer Termination";
}
identity term-otu {
base term-type;
description
"OTU (Optical Transport Unit) Termination";
}
identity term-odu {
base term-type;
description
"ODU (Optical Data Unit) Termination";
}
identity term-opu {
base term-type;
description
"OPU (Optical Payload Unit) Termination";
}
identity term-section {
base term-type;
description
"Section Layer Termination";
}
identity layer0-bandwidth-type {
description
"Bandwidth type carried by a single wavelength channel";
}
identity bw-otu1 {
base layer0-bandwidth-type;
description
"OTU1 (2.66G)";
}
identity bw-otu1e {
base layer0-bandwidth-type;
description
"OTU1e (11.04G)";
}
identity bw-otu1f {
base layer0-bandwidth-type;
description
"OTU1f (11.27G)";
}
identity bw-otu2 {
base layer0-bandwidth-type;
description
"OTU2 (10.70G)";
}
identity bw-otu2e {
base layer0-bandwidth-type;
description
"OTU2e (11.09G)";
}
identity bw-otu2f {
base layer0-bandwidth-type;
description
"OTU2f (11.31G)";
}
identity bw-otu3 {
base layer0-bandwidth-type;
description
"OTU3 (43.01G)";
}
identity bw-otu3e1 {
base layer0-bandwidth-type;
description
"OTU3e1 (44.57G)";
}
identity bw-otu3e2 {
base layer0-bandwidth-type;
description
"OTU3e2 (44.58G)";
}
identity bw-otu4 {
base layer0-bandwidth-type;
description
"OTU4 (111.80G)";
}
identity bw-otucn {
base layer0-bandwidth-type;
description
"OTUCn (beyond 100G)";
}
identity dwdm-ch-spc-type {
description
"DWDM channel spacing type";
}
identity dwdm-100ghz {
base dwdm-ch-spc-type;
description
"100GHz channel spacing";
}
identity dwdm-50ghz {
base dwdm-ch-spc-type;
description
"50GHz channel spacing";
}
identity dwdm-25ghz {
base dwdm-ch-spc-type;
description
"25GHz channel spacing";
}
identity dwdm-12p5ghz {
base dwdm-ch-spc-type;
description
"12.5GHz channel spacing";
}
identity dwdm-6p25ghz {
base dwdm-ch-spc-type;
description
"6.25GHz channel spacing";
}
identity cwdm-ch-spc-type {
description
"CWDM channel spacing type.";
}
identity cwdm-20nm {
base cwdm-ch-spc-type;
description
"20nm channel spacing";
}
identity fec-type {
description
"FEC (Forward Error Correction) type";
}
identity g-fec {
base fec-type;
description
"G-FEC (Generic-FEC)";
}
identity e-fec {
base fec-type;
description
"E-FEC (Enhanced-FEC)";
}
identity no-fec {
base fec-type;
description
"No FEC";
}
/* Groupings. */
grouping wson-path-bandwidth {
description "WSON (Wavelength Switched Optical Network)
path bandwidth attributes";
leaf bandwidth-type {
type identityref {
base layer0-bandwidth-type;
}
description "WSON bandwidth type";
}
}
grouping wson-link-bandwidth {
description "WSON link bandwidth attributes";
leaf-list supported-bandwidth-list {
type identityref {
base layer0-bandwidth-type;
}
description "WSON bandwidth type";
}
}
grouping wson-link-label {
description
"Generic label for WSON links";
choice grid-type {
description
"Label for DWDM or CWDM grid";
case dwdm {
leaf channel-freq {
type frequency-thz;
description
"The DWDM fixed-grid channel frequency in THz,
e.g., 193.12500";
reference
"RFC6205";
}
}
case cwdm {
leaf channel-wavelength {
type uint32;
units nm;
description
"The CWDM wavelength in nanometer, e.g., 1511";
reference
"RFC6205";
}
}
}
}
grouping wson-path-label {
description
"Generic label for WSON paths";
choice grid-type {
description
"Label for DWDM or CWDM grid";
case dwdm {
choice single-or-super-channel {
description "single or super channel";
case single {
leaf channel-freq {
type frequency-thz;
description
"The DWDM fixed-grid channel frequency in THz,
e.g., 193.12500";
}
}
case super {
leaf-list subcarrier-channels {
type frequency-thz;
description
"List of subcarrier channels for super channel";
}
}
}
}
case cwdm {
leaf channel-wavelength {
type uint32;
units nm;
description
"The CWDM wavelength in nanometer, e.g., 1511";
reference
"RFC6205";
}
}
}
}
grouping layer0-label-restriction {
description
"layer0 label restriction.";
leaf grid-type {
type identityref {
base layer0-grid-type;
}
description "Grid type";
}
leaf priority {
type uint8;
description "priority";
}
}
grouping wson-label-step {
description "Label step information for WSON";
choice layer0-grid-type {
description
"WSON grid-type: DWDM, CWDM, etc.";
case dwdm {
leaf wson-dwdm {
type identityref {
base dwdm-ch-spc-type;
}
description
"Label-step is the channel-spacing (GHz), e.g.,
100, 50, 25, or 12.5 GHz for DWDM";
reference
"RFC6205";
}
}
case cwdm {
leaf wson-cwdm {
type identityref {
base cwdm-ch-spc-type;
}
description
"label-step is the channel-spacing (nm), i.e., 20 nm
for CWDM, which is the only value defined for CWDM";
reference
"RFC6205";
}
}
}
}
grouping flex-grid-node-attributes {
description "Flex-grid node attributes";
container flex-grid-node {
description "Flex-grid node attrtibutes";
leaf node-type {
type identityref {
base layer0-node-type;
}
description "Flex-grid node type";
}
}
}
grouping flex-grid-path-bandwidth {
description "Flex-grid path bandwidth attributes";
leaf bandwidth-type {
type identityref {
base layer0-bandwidth-type;
}
description "Flex-grid bandwidth type";
}
}
grouping flex-grid-link-bandwidth {
description "flex-grid link bandwidth attributes";
leaf-list supported-bandwidth-list {
type identityref {
base layer0-bandwidth-type;
}
description "Flex-grid bandwidth type";
}
}
grouping flex-grid-link-label {
description "Flex-grid link label.";
leaf central-frequency {
type frequency-thz;
description
"The DWDM flex-grid channel central frequency
in THz, e.g., 193.12500";
reference
"RFC7698";
}
}
grouping flex-grid-channel {
description "Flex-grid channel grouping.";
leaf central-frequency {
type frequency-thz;
description
"Flex-grid central frequency in THz, e.g., 193.12500";
reference
"RFC7698";
}
leaf slot-width {
type frequency-ghz;
description
"Flex-grid The DWDM slot width in GHz, e.g., 50, 100, 150";
reference
"RFC7698";
}
}
grouping flex-grid-path-label {
description "Flex-grid path label.";
choice single-or-super-channel {
description "single of super channel";
case single {
uses flex-grid-channel;
}
case super {
list subcarrier-channels {
key central-frequency;
uses flex-grid-channel;
description
"List of subcarrier channels for flex-grid
super channel";
}
}
}
}
grouping flex-grid-label-restriction {
description
"Flex Grid-specific label restriction";
uses layer0-label-restriction;
container flex-grid {
description "flex-grid definition";
leaf nominal-central-frequency-granularity {
type frequency-ghz;
default 6.25;
description
"It is the spacing between allowed nominal central
frequencies and it is set to 6.25 GHz";
reference
"RFC7698";
}
leaf slot-width-granularity {
type frequency-ghz;
default 12.5;
description
"Minimum space between slot widths";
reference
"RFC7698";
}
}
}
grouping flex-grid-label-step {
description "Label step information for flex grid";
leaf flex {
type identityref {
base dwdm-ch-spc-type;
}
description
"Label-step is the nominal central frequency
granularity (GHz), e.g., 6.25 GHz";
reference
"RFC7698";
}
}
}