blob: bc8276602f3b88f975d30742ca5222be0dcfce83 [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; }
import openconfig-types { prefix oc-types; }
// 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.6.0";
revision "2018-05-16" {
description
"Added interval,min,max time to interval stats.";
reference "0.6.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 modulation-format {
type enumeration {
enum UNKNOWN {
description
"quadrature phase-shift keying";
}
enum BPSK {
description
"quadrature phase-shift keying";
}
enum DP_BPSK {
description
"quadrature phase-shift keying";
}
enum QPSK {
description
"quadrature phase-shift keying";
}
enum DP_QPSK {
description
"quadrature phase-shift keying";
}
enum 8QAM {
description
"quadrature amplitude modulation 8";
}
enum DP_8QAM {
description
"quadrature amplitude modulation 8";
}
enum 16QAM {
description
"quadrature amplitude modulation 16";
}
enum DP_16QAM {
description
"quadrature amplitude modulation 16";
}
enum 32QAM {
description
"quadrature amplitude modulation 16";
}
enum DP_32QAM {
description
"quadrature amplitude modulation 16";
}
enum 64QAM {
description
"quadrature amplitude modulation 16";
}
enum DP_64QAM {
description
"quadrature amplitude modulation 16";
}
}
description
"Modulation format";
}
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.
Statistics are computed and reported based on a moving time
interval (e.g., the last 30s). If supported by the device,
the time interval over which the statistics are computed, and
the times at which the minimum and maximum values occurred,
are also reported.";
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
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps-nm;
description
"The maximum value of the statistic over the time interval.";
}
uses oc-types:stat-interval-state;
uses oc-types:min-max-time;
}
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.
Statistics are computed and reported based on a moving time
interval (e.g., the last 30s). If supported by the device,
the time interval over which the statistics are computed, and
the times at which the minimum and maximum values occurred,
are also reported.";
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
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps;
description
"The maximum value of the statistic over the time interval.";
}
uses oc-types:stat-interval-state;
uses oc-types:min-max-time;
}
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.
Statistics are computed and reported based on a moving time
interval (e.g., the last 30s). If supported by the device,
the time interval over which the statistics are computed, and
the times at which the minimum and maximum values occurred,
are also reported.";
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
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The minimum value of the statistic over the time interval.";
}
leaf max {
type decimal64 {
fraction-digits 2;
}
units ps^2;
description
"The maximum value of the statistic over the time
interval.";
}
uses oc-types:stat-interval-state;
uses oc-types:min-max-time;
}
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.
Statistics are computed and reported based on a moving time
interval (e.g., the last 30s). If supported by the device,
the time interval over which the statistics are computed, and
the times at which the minimum and maximum values occurred,
are also reported.";
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
time interval.";
}
leaf min {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The minimum value of the statistic over the time
interval.";
}
leaf max {
type decimal64 {
fraction-digits 18;
}
units bit-errors-per-second;
description
"The maximum value of the statistic over the time
interval.";
}
uses oc-types:stat-interval-state;
uses oc-types:min-max-time;
}
// 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.";
}
}