blob: 276f24b2c10cb64cc2a6c8ce1ecb2662a1551936 [file] [log] [blame]
module openconfig-transport-types {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/transport-types";
prefix "oc-opt-types";
import openconfig-platform-types { prefix oc-platform-types; }
import openconfig-extensions { prefix oc-ext; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module contains general type definitions and identities
for optical transport models.";
oc-ext:openconfig-version "0.5.0";
revision "2017-08-16" {
description
"Added ODU Cn protocol type";
reference "0.5.0";
}
revision "2016-12-22" {
description
"Fixes and additions for terminal optics model";
reference "0.4.0";
}
// typedef statements
typedef frequency-type {
type uint64;
units "MHz";
description
"Type for optical spectrum frequency values";
}
typedef admin-state-type {
type enumeration {
enum ENABLED {
description
"Sets the channel admin state to enabled";
}
enum DISABLED {
description
"Sets the channel admin state to disabled";
}
enum MAINT {
description
"Sets the channel to maintenance / diagnostic mode";
}
}
description "Administrative state modes for
logical channels in the transponder model.";
}
typedef loopback-mode-type {
type enumeration {
enum NONE {
description
"No loopback is applied";
}
enum FACILITY {
description
"A loopback which directs traffic normally transmitted
on the port back to the device as if received on the same
port from an external source.";
}
enum TERMINAL {
description
"A loopback which directs traffic received from an external
source on the port back out the transmit side of the same
port.";
}
}
default NONE;
description
"Loopback modes for transponder logical channels";
}
// grouping statements
grouping avg-min-max-instant-stats-precision2-ps-nm {
description
"Common grouping for recording picosecond per nanometer
values with 2 decimal precision. Values include the
instantaneous, average, minimum, and maximum statistics";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The arithmetic mean value of the statistic over the
sampling period.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The minimum value of the statistic over the sampling
period";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The maximum value of the statistic over the sampling
period";
}
}
grouping avg-min-max-instant-stats-precision2-ps {
description
"Common grouping for recording picosecond values with
2 decimal precision. Values include the instantaneous,
average, minimum, and maximum statistics";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The arithmetic mean value of the statistic over the
sampling period.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The minimum value of the statistic over the sampling
period";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The maximum value of the statistic over the sampling
period";
}
}
grouping avg-min-max-instant-stats-precision2-ps2 {
description
"Common grouping for recording picosecond^2 values with
2 decimal precision. Values include the instantaneous,
average, minimum, and maximum statistics";
leaf instant {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The arithmetic mean value of the statistic over the
sampling period.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The minimum value of the statistic over the sampling
period";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The maximum value of the statistic over the sampling
period";
}
}
grouping avg-min-max-instant-stats-precision18-ber {
description
"Common grouping for recording bit error rate (BER) values
with 18 decimal precision. Note that decimal64 supports
values as small as i x 10^-18 where i is an integer. Values
smaller than this should be reported as 0 to inidicate error
free or near error free performance. Values include the
instantaneous, average, minimum, and maximum statistics";
leaf instant {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The instantaneous value of the statistic.";
}
leaf avg {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The arithmetic mean value of the statistic over the
sampling period.";
}
leaf min {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The minimum value of the statistic over the sampling
period";
}
leaf max {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The maximum value of the statistic over the sampling
period";
}
}
// identity statements
identity TRIBUTARY_PROTOCOL_TYPE {
description
"Base identity for protocol framing used by tributary
signals.";
}
identity PROT_1GE {
base TRIBUTARY_PROTOCOL_TYPE;
description "1G Ethernet protocol";
}
identity PROT_OC48 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OC48 protocol";
}
identity PROT_STM16 {
base TRIBUTARY_PROTOCOL_TYPE;
description "STM 16 protocol";
}
identity PROT_10GE_LAN {
base TRIBUTARY_PROTOCOL_TYPE;
description "10G Ethernet LAN protocol";
}
identity PROT_10GE_WAN {
base TRIBUTARY_PROTOCOL_TYPE;
description "10G Ethernet WAN protocol";
}
identity PROT_OC192 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OC 192 (9.6GB) port protocol";
}
identity PROT_STM64 {
base TRIBUTARY_PROTOCOL_TYPE;
description "STM 64 protocol";
}
identity PROT_OTU2 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU 2 protocol";
}
identity PROT_OTU2E {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU 2e protocol";
}
identity PROT_OTU1E {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU 1e protocol";
}
identity PROT_ODU2 {
base TRIBUTARY_PROTOCOL_TYPE;
description "ODU 2 protocol";
}
identity PROT_ODU2E {
base TRIBUTARY_PROTOCOL_TYPE;
description "ODU 2e protocol";
}
identity PROT_40GE {
base TRIBUTARY_PROTOCOL_TYPE;
description "40G Ethernet port protocol";
}
identity PROT_OC768 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OC 768 protocol";
}
identity PROT_STM256 {
base TRIBUTARY_PROTOCOL_TYPE;
description "STM 256 protocol";
}
identity PROT_OTU3 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU 3 protocol";
}
identity PROT_ODU3 {
base TRIBUTARY_PROTOCOL_TYPE;
description "ODU 3 protocol";
}
identity PROT_100GE {
base TRIBUTARY_PROTOCOL_TYPE;
description "100G Ethernet protocol";
}
identity PROT_100G_MLG {
base TRIBUTARY_PROTOCOL_TYPE;
description "100G MLG protocol";
}
identity PROT_OTU4 {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU4 signal protocol (112G) for transporting
100GE signal";
}
identity PROT_OTUCN {
base TRIBUTARY_PROTOCOL_TYPE;
description "OTU Cn protocol";
}
identity PROT_ODUCN {
base TRIBUTARY_PROTOCOL_TYPE;
description "ODU Cn protocol";
}
identity PROT_ODU4 {
base TRIBUTARY_PROTOCOL_TYPE;
description "ODU 4 protocol";
}
identity TRANSCEIVER_FORM_FACTOR_TYPE {
description
"Base identity for identifying the type of pluggable optic
transceiver (i.e,. form factor) used in a port.";
}
identity CFP {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"C form-factor pluggable, that can support up to a
100 Gb/s signal with 10x10G or 4x25G physical channels";
}
identity CFP2 {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"1/2 C form-factor pluggable, that can support up to a
200 Gb/s signal with 10x10G, 4x25G, or 8x25G physical
channels";
}
identity CFP2_ACO {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"CFP2 analog coherent optics transceiver, supporting
100 Gb, 200Gb, and 250 Gb/s signal.";
}
identity CFP4 {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"1/4 C form-factor pluggable, that can support up to a
100 Gb/s signal with 10x10G or 4x25G physical channels";
}
identity QSFP {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"OriginalQuad Small Form-factor Pluggable transceiver that can
support 4x1G physical channels. Not commonly used.";
}
identity QSFP_PLUS {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Quad Small Form-factor Pluggable transceiver that can support
up to 4x10G physical channels.";
}
identity QSFP28 {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"QSFP pluggable optic with support for up to 4x28G physical
channels";
}
identity CPAK {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Cisco CPAK transceiver supporting 100 Gb/s.";
}
identity SFP {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Small form-factor pluggable transceiver supporting up to
10 Gb/s signal";
}
identity SFP_PLUS {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Enhanced small form-factor pluggable transceiver supporting
up to 16 Gb/s signals, including 10 GbE and OTU2";
}
identity XFP {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"10 Gigabit small form factor pluggable transceiver supporting
10 GbE and OTU2";
}
identity X2 {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"10 Gigabit small form factor pluggable transceiver supporting
10 GbE using a XAUI inerface and 4 data channels.";
}
identity NON_PLUGGABLE {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Represents a port that does not require a pluggable optic,
e.g., with on-board optics like COBO";
}
identity OTHER {
base TRANSCEIVER_FORM_FACTOR_TYPE;
description
"Represents a transceiver form factor not otherwise listed";
}
identity FIBER_CONNECTOR_TYPE {
description
"Type of optical fiber connector";
}
identity SC_CONNECTOR {
base FIBER_CONNECTOR_TYPE;
description
"SC type fiber connector";
}
identity LC_CONNECTOR {
base FIBER_CONNECTOR_TYPE;
description
"LC type fiber connector";
}
identity MPO_CONNECTOR {
base FIBER_CONNECTOR_TYPE;
description
"MPO (multi-fiber push-on/pull-off) type fiber connector
1x12 fibers";
}
identity ETHERNET_PMD_TYPE {
description
"Ethernet compliance codes (PMD) supported by transceivers";
}
identity ETH_10GBASE_LRM {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_LRM";
}
identity ETH_10GBASE_LR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_LR";
}
identity ETH_10GBASE_ZR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_ZR";
}
identity ETH_10GBASE_ER {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_ER";
}
identity ETH_10GBASE_SR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 10GBASE_SR";
}
identity ETH_40GBASE_CR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_CR4";
}
identity ETH_40GBASE_SR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_SR4";
}
identity ETH_40GBASE_LR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_LR4";
}
identity ETH_40GBASE_ER4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_ER4";
}
identity ETH_40GBASE_PSM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 40GBASE_PSM4";
}
identity ETH_4X10GBASE_LR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 4x10GBASE_LR";
}
identity ETH_4X10GBASE_SR {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 4x10GBASE_SR";
}
identity ETH_100G_AOC {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100G_AOC";
}
identity ETH_100G_ACC {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100G_ACC";
}
identity ETH_100GBASE_SR10 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_SR10";
}
identity ETH_100GBASE_SR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_SR4";
}
identity ETH_100GBASE_LR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_LR4";
}
identity ETH_100GBASE_ER4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_ER4";
}
identity ETH_100GBASE_CWDM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CWDM4";
}
identity ETH_100GBASE_CLR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CLR4";
}
identity ETH_100GBASE_PSM4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_PSM4";
}
identity ETH_100GBASE_CR4 {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: 100GBASE_CR4";
}
identity ETH_UNDEFINED {
base ETHERNET_PMD_TYPE;
description "Ethernet compliance code: undefined";
}
identity SONET_APPLICATION_CODE {
description
"Supported SONET/SDH application codes";
}
identity VSR2000_3R2 {
base SONET_APPLICATION_CODE;
description
"SONET/SDH application code: VSR2000_3R2";
}
identity VSR2000_3R3 {
base SONET_APPLICATION_CODE;
description
"SONET/SDH application code: VSR2000_3R3";
}
identity VSR2000_3R5 {
base SONET_APPLICATION_CODE;
description
"SONET/SDH application code: VSR2000_3R5";
}
identity SONET_UNDEFINED {
base SONET_APPLICATION_CODE;
description
"SONET/SDH application code: undefined";
}
identity OTN_APPLICATION_CODE {
description
"Supported OTN application codes";
}
identity P1L1_2D1 {
base OTN_APPLICATION_CODE;
description
"OTN application code: P1L1_2D1";
}
identity P1S1_2D2 {
base OTN_APPLICATION_CODE;
description
"OTN application code: P1S1_2D2";
}
identity P1L1_2D2 {
base OTN_APPLICATION_CODE;
description
"OTN application code: P1L1_2D2";
}
identity OTN_UNDEFINED {
base OTN_APPLICATION_CODE;
description
"OTN application code: undefined";
}
identity TRIBUTARY_RATE_CLASS_TYPE {
description
"Rate of tributary signal _- identities will typically reflect
rounded bit rate.";
}
identity TRIB_RATE_1G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"1G tributary signal rate";
}
identity TRIB_RATE_2.5G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"2.5G tributary signal rate";
}
identity TRIB_RATE_10G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"10G tributary signal rate";
}
identity TRIB_RATE_40G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"40G tributary signal rate";
}
identity TRIB_RATE_100G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"100G tributary signal rate";
}
identity TRIB_RATE_150G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"150G tributary signal rate";
}
identity TRIB_RATE_200G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"200G tributary signal rate";
}
identity TRIB_RATE_250G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"250G tributary signal rate";
}
identity TRIB_RATE_300G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"300G tributary signal rate";
}
identity TRIB_RATE_400G {
base TRIBUTARY_RATE_CLASS_TYPE;
description
"400G tributary signal rate";
}
identity LOGICAL_ELEMENT_PROTOCOL_TYPE {
description
"Type of protocol framing used on the logical channel or
tributary";
}
identity PROT_ETHERNET {
base LOGICAL_ELEMENT_PROTOCOL_TYPE;
description
"Ethernet protocol framing";
}
identity PROT_OTN {
base LOGICAL_ELEMENT_PROTOCOL_TYPE;
description
"OTN protocol framing";
}
identity OPTICAL_CHANNEL {
base oc-platform-types:OPENCONFIG_HARDWARE_COMPONENT;
description
"Optical channels act as carriers for transport traffic
directed over a line system. They are represented as
physical components in the physical inventory model.";
}
}