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.";
revision "2019-06-06" {
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)";
}
identity ODU1 {
base odu-type;
description
"ODU1 protocol (2.49G)";
}
/*
identity ODU1e {
base odu-type;
description
"ODU1e protocol (10.35G).";
}
identity ODU1f {
base odu-type;
description
"ODU1f protocol (10.56G).";
}
*/
identity ODU2 {
base odu-type;
description
"ODU2 protocol (10.03G)";
}
identity ODU2e {
base odu-type;
description
"ODU2e protocol (10.39G)";
}
/*
identity ODU2f {
base odu-type;
description
"ODU2f protocol (10.60G).";
}
*/
identity ODU3 {
base odu-type;
description
"ODU3 protocol (40.31G)";
}
/*
identity ODU3e1 {
base odu-type;
description
"ODU3e1 protocol (41.77G).";
}
identity ODU3e2 {
base odu-type;
description
"ODU3e2 protocol (41.78G).";
}
*/
identity ODU4 {
base odu-type;
description
"ODU4 protocol (104.79G)";
}
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 ODUCn {
base odu-type;
description
"ODUCn protocol (beyond 100G)";
}
identity client-signal {
description
"Base identity from which specific client signals for the
tunnel are derived";
}
// Editor Notes: may consider add the OTUk as client signal;
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";
}
// Editor Notes: following grouping only used in otn topology model,
// so suggest to move to ietf-otn-topology and remove from types.
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";
}
}
}
// Editor Notes: following groupings are used in both otn topology
// and tunnel model, so suggest to be kept in the types.
grouping otn-path-bandwidth {
description "path bandwidth attributes for OTN";
leaf odu-type {
type identityref {
base layer1-types:odu-type;
}
description "ODU type";
}
}
// Editor Notes: following groupings are used in both otn topology
// and tunnel model, so suggest to be kept in the types.
grouping otn-label-restriction {
description "label restriction 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 priority {
type uint8;
description "priority.";
}
}
// Editor Notes: following groupings are used in both otn topology
// and tunnel model, so suggest to be kept in the types.
grouping otn-link-label {
description "link label information for OTN, for label-start/end";
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.";
}
}
}
}
// Editor Notes: following groupings are used in both otn topology
// and tunnel model, so suggest to be kept in the types.
grouping otn-path-label {
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 9999.
For example 1-20,25,50-1000";
reference "RFC 7139: GMPLS Signaling Extensions for Control
of Evolving G.709 Optical Transport Networks";
}
}
// Editor Notes: following grouping only used in otn topology model,
// so suggest to move to ietf-otn-topology and remove from types.
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-step {
type uint16 {
range "1..80";
}
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..80";
}
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.";
}
}
}
}
// Editor Notes: to be reviewed for the following coding functions.
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";
}
// Editor Notes: To add the performance monitor parameters per L1CSM;
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";
}
//Editor Notes: it's useful to separate network specific performance
//monitoring with service-specific
identity network-performance-metric {
description "list of network-specific performance metric";
}
identity pm-placeholder {
base "network-performance-metric";
description "A placeholder for potential performance monitoring
on L1 networks";
}
}