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."; } }