netconfcentral logo

openconfig-transport-types@2017-08-16



  module openconfig-transport-types {

    yang-version 1;

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

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "This module contains general type definitions and identities
    for optical transport models.";

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

    }

    oc-ext:openconfig-version "0.5.0";

    typedef frequency-type {
      type uint64;
      units "MHz";
      description
        "Type for optical spectrum frequency values";
    }

    typedef admin-state-type {
      type enumeration {
        enum "ENABLED" {
          value 0;
          description
            "Sets the channel admin state to enabled";
        }
        enum "DISABLED" {
          value 1;
          description
            "Sets the channel admin state to disabled";
        }
        enum "MAINT" {
          value 2;
          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" {
          value 0;
          description
            "No loopback is applied";
        }
        enum "FACILITY" {
          value 1;
          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" {
          value 2;
          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 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-nm

    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-ps

    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-precision2-ps2

    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";
      }
    }  // grouping avg-min-max-instant-stats-precision18-ber

    identity TRIBUTARY_PROTOCOL_TYPE {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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 {
      base 
      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.";
    }
  }  // module openconfig-transport-types