| 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; |
| revision-date "2016-06-06"; |
| } |
| import openconfig-extensions { |
| prefix oc-ext; |
| revision-date "2015-10-09"; |
| } |
| |
| // 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.4.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_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 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."; |
| } |
| |
| } |