module ietf-layer1-types {
namespace "urn:ietf:params:xml:ns:yang:ietf-layer1-types";
prefix "layer1-types";
organization
"IETF CCAMP Working Group";
contact
"WG Web:
WG List:
Editor: Haomian Zheng
Editor: Italo Busi
";
description
"This module defines Layer 1 types. The model fully conforms
to the Network Management Datastore Architecture (NMDA).
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
(https://trustee.ietf.org/license-info).
This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";
revision "2019-11-01" {
description
"Initial Version";
reference
"RFC XXXX: A YANG Data Model for Layer 1 Types";
// RFC Ed.: replace XXXX with actual RFC number, update date
// information and remove this note
}
identity tributary-slot-granularity {
description
"Tributary slot granularity";
reference
"G.709/Y.1331, February 2016: Interfaces for the Optical
Transport Network (OTN)";
}
identity tsg-1.25G {
base tributary-slot-granularity;
description
"1.25G tributary slot granularity";
}
identity tsg-2.5G {
base tributary-slot-granularity;
description
"2.5G tributary slot granularity";
}
identity tsg-5G {
base tributary-slot-granularity;
description
"5G tributary slot granularity";
}
identity odu-type {
description
"Base identity for protocol framing used by tributary signals.";
}
identity ODU0 {
base odu-type;
description
"ODU0 protocol (1.24G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODU1 {
base odu-type;
description
"ODU1 protocol (2.49G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODU1e {
base odu-type;
description
"ODU1e protocol (10.35G), RFC7963/ITU-T G.sup43, as informational.";
}
identity ODU2 {
base odu-type;
description
"ODU2 protocol (10.03G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODU2e {
base odu-type;
description
"ODU2e protocol (10.39G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODU3 {
base odu-type;
description
"ODU3 protocol (40.31G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODU3e1 {
base odu-type;
description
"ODU3e1 protocol (41.77G), RFC7963/ITU-T G.sup43, as informational.";
}
identity ODU3e2 {
base odu-type;
description
"ODU3e2 protocol (41.78G), RFC7963/ITU-T G.sup43, as informational.";
}
identity ODU4 {
base odu-type;
description
"ODU4 protocol (104.79G), RFC7139/ITU-T G.709, as standard track.";
}
identity ODUFlex-cbr {
base odu-type;
description
"ODU Flex CBR protocol for transporting constant bit rate
signal";
}
identity ODUFlex-gfp {
base odu-type;
description
"ODU Flex GFP protocol for transporting stream of packets
using Generic Framing Procedure";
}
identity client-signal {
description
"Base identity from which specific client signals for the
tunnel are derived";
}
identity ETH-1Gb {
base client-signal;
description
"Client signal type of 1GbE";
}
identity ETH-10Gb-LAN {
base client-signal;
description
"Client signal type of 10GbE LAN";
}
identity ETH-10Gb-WAN {
base client-signal;
description
"Client signal type of 10GbE WAN";
}
identity ETH-40Gb {
base client-signal;
description
"Client signal type of 40GbE";
}
identity ETH-100Gb {
base client-signal;
description
"Client signal type of 100GbE";
}
identity STM-1 {
base client-signal;
description
"Client signal type of STM-1";
}
identity STM-4 {
base client-signal;
description
"Client signal type of STM-4";
}
identity STM-16 {
base client-signal;
description
"Client signal type of STM-16";
}
identity STM-64 {
base client-signal;
description
"Client signal type of STM-64";
}
identity STM-256 {
base client-signal;
description
"Client signal type of STM-256";
}
identity OC-3 {
base client-signal;
description
"Client signal type of OC3";
}
identity OC-12 {
base client-signal;
description
"Client signal type of OC12";
}
identity OC-48 {
base client-signal;
description
"Client signal type of OC48";
}
identity OC-192 {
base client-signal;
description
"Client signal type of OC192";
}
identity OC-768 {
base client-signal;
description
"Client signal type of OC768";
}
identity FC-100 {
base client-signal;
description
"Client signal type of Fibre Channel FC-100";
}
identity FC-200 {
base client-signal;
description
"Client signal type of Fibre Channel FC-200";
}
identity FC-400 {
base client-signal;
description
"Client signal type of Fibre Channel FC-400";
}
identity FC-800 {
base client-signal;
description
"Client signal type of Fibre Channel FC-800";
}
identity FC-1200 {
base client-signal;
description
"Client signal type of Fibre Channel FC-1200";
}
identity FC-1600 {
base client-signal;
description
"Client signal type of Fibre Channel FC-1600";
}
identity FC-3200 {
base client-signal;
description
"Client signal type of Fibre Channel FC-3200";
}
identity FICON-4G {
base client-signal;
description
"Client signal type of Fibre Connection 4G";
}
identity FICON-8G {
base client-signal;
description
"Client signal type of Fibre Connection 8G";
}
identity otn-label-range-type {
description
"Base identity from which specific OTN label
range types derived";
}
identity label-range-trib-slot {
base otn-label-range-type;
description
"Defines a range of OTN tributary slots";
}
identity label-range-trib-port {
base otn-label-range-type;
description
"Defines a range of OTN tributary ports";
}
grouping otn-link-bandwidth {
description "link bandwidth attributes for OTN";
list odulist {
key "odu-type";
description
"OTN bandwidth definition";
leaf odu-type {
type identityref {
base layer1-types:odu-type;
}
description "ODU type";
}
leaf number {
type uint16;
description "Number of ODUs";
}
}
}
grouping otn-path-bandwidth {
description
"path bandwidth attributes for OTN";
leaf odu-type {
type identityref {
base layer1-types:odu-type;
}
description "ODU type";
}
}
grouping otn-label-range-info {
description "label range information for OTN";
leaf range-type {
type identityref {
base layer1-types:otn-label-range-type;
}
description "type for range";
}
leaf tsg {
type identityref {
base layer1-types:tributary-slot-granularity;
}
description
"Tributary slot granularity.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf-list odu-type-list {
type identityref {
base odu-type;
}
description
"List of ODU types to which the label range applies.
Empty odu-type-list means all the ODU types are applicable
per label range. ";
}
leaf priority {
type uint8;
description "priority.";
}
}
grouping otn-label-start-end {
description
"The OTN label-start or label-end used to specify an OTN label range.";
choice otn-label-type {
description
"OTN label range type, either TPN range or TS range";
case tributary-port {
leaf tpn {
type uint16 {
range "1..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.";
}
}
case tributary-slot {
leaf ts {
type uint16 {
range "1..4095";
}
description
"Tributary Slot Number. Applicable in case of mux services.";
reference
"RFC7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks.";
}
}
}
}
grouping otn-label-hop {
description "label information for OTN, for label-hop";
leaf tpn {
type uint16 {
range "1..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 tsg {
type identityref {
base layer1-types:tributary-slot-granularity;
}
description "Tributary slot granularity.";
reference
"G.709/Y.1331, February 2016: Interfaces for the
Optical Transport Network (OTN)";
}
leaf ts-list {
type string {
pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?"
+ "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)";
}
description
"A list of available tributary slots ranging
between 1 and 4095.
For example 1-20,25,50-1000";
reference "RFC 7139: GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks";
}
}
grouping otn-label-step {
description "Label step for OTN";
choice otn-label-type {
description
"OTN label range type, either TPN range or TS range";
case tributary-port {
leaf tpn {
type uint16 {
range "1..4095";
}
default 1;
description
"Label step which represents possible increments for
Tributary Port Number.";
reference
"RFC7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks.";
}
}
case tributary-slot {
leaf ts {
type uint16 {
range "1..4095";
}
default 1;
description
"Label step which represents possible increments for
Tributary Slot Number.";
reference
"RFC7139: GMPLS Signaling Extensions for Control of Evolving
G.709 Optical Transport Networks.";
}
}
}
}
identity coding-func {
description
"base identity from which coding func is derived.";
}
identity ETH-1000X-PCS-36 {
base "coding-func";
description
"PCS clause 36 coding function that corresponds to
1000BASE-X";
reference "MEF63 & IEEE802.3";
}
identity ETH-10GW-PCS-49-WIS-50 {
base "coding-func";
description
"PCS clause 49 and WIS clause 50 coding func that
corresponds to 10GBASE-W (WAN PHY)";
reference "MEF63 & IEEE802.3";
}
identity ETH-10GR-PCS-49 {
base "coding-func";
description
"PCS clause 49 coding function that corresponds to
10GBASE-R (LAN PHY)";
reference "MEF63 & IEEE802.3";
}
identity ETH-40GR-PCS-82 {
base "coding-func";
description
"PCS clause 82 coding function that corresponds to
40GBASE-R";
reference "MEF63 & IEEE802.3";
}
identity ETH-100GR-PCS-82 {
base "coding-func";
description
"PCS clause 82 coding function that corresponds to
100GBASE-R";
reference "MEF63 & IEEE802.3";
}
identity optical-interface-func {
description
"base identity from which optical-interface-function is
derived.";
}
identity SX-PMD-clause-38 {
base "optical-interface-func";
description
"SX-PMD-clause-38 Optical Interface function for
1000BASE-X PCS-36";
reference "MEF63 & IEEE802.3";
}
identity LX-PMD-clause-38 {
base "optical-interface-func";
description
"LX-PMD-clause-38 Optical Interface function for
1000BASE-X PCS-36";
reference "MEF63 & IEEE802.3";
}
identity LX10-PMD-clause-59 {
base "optical-interface-func";
description
"LX10-PMD-clause-59 Optical Interface function for
1000BASE-X PCS-36";
reference "MEF63 & IEEE802.3";
}
identity BX10-PMD-clause-59 {
base "optical-interface-func";
description
"BX10-PMD-clause-59 Optical Interface function for
1000BASE-X PCS-36";
reference "MEF63 & IEEE802.3";
}
identity LW-PMD-clause-52 {
base "optical-interface-func";
description
"LW-PMD-clause-52 Optical Interface function for
10GBASE-W PCS-49-WIS-50";
reference "MEF63 & IEEE802.3";
}
identity EW-PMD-clause-52 {
base "optical-interface-func";
description
"EW-PMD-clause-52 Optical Interface function for
10GBASE-W PCS-49-WIS-50";
reference "MEF63 & IEEE802.3";
}
identity LR-PMD-clause-52 {
base "optical-interface-func";
description
"LR-PMD-clause-52 Optical Interface function for
10GBASE-R PCS-49";
reference "MEF63 & IEEE802.3";
}
identity ER-PMD-clause-52 {
base "optical-interface-func";
description
"ER-PMD-clause-52 Optical Interface function for
10GBASE-R PCS-49";
reference "MEF63 & IEEE802.3";
}
identity LR4-PMD-clause-87 {
base "optical-interface-func";
description
"LR4-PMD-clause-87 Optical Interface function for
40GBASE-R PCS-82";
reference "MEF63 & IEEE802.3";
}
identity ER4-PMD-clause-87 {
base "optical-interface-func";
description
"ER4-PMD-clause-87 Optical Interface function for
40GBASE-R PCS-82";
reference "MEF63 & IEEE802.3";
}
identity FR-PMD-clause-89 {
base "optical-interface-func";
description
"FR-PMD-clause-89 Optical Interface function for
40GBASE-R PCS-82";
reference "MEF63 & IEEE802.3";
}
identity LR4-PMD-clause-88 {
base "optical-interface-func";
description
"LR4-PMD-clause-88 Optical Interface function for
100GBASE-R PCS-82";
reference "MEF63 & IEEE802.3";
}
identity ER4-PMD-clause-88 {
base "optical-interface-func";
description
"ER4-PMD-clause-88 Optical Interface function for
100GBASE-R PCS-82";
reference "MEF63 & IEEE802.3";
}
identity service-performance-metric {
description
"list of service-specific performance metric";
}
identity One-way-Delay {
base "service-performance-metric";
description "one-way-delay";
}
identity One-way-Errored-Second {
base "service-performance-metric";
description "one-way-errored-second";
}
identity One-way-Severely-Errored-Second {
base "service-performance-metric";
description "one-way-severely-errored-second";
}
identity One-way-Unavailable-Second {
base "service-performance-metric";
description "one-way-unavailable-second";
}
identity One-way-Availability {
base "service-performance-metric";
description "one-way-availability";
}
identity network-performance-metric {
description "list of network-specific performance metric";
}
}