Skip to content
openconfig-terminal-device.yang 42.9 KiB
Newer Older
module openconfig-terminal-device {

  yang-version "1";

  // namespace
  namespace "http://openconfig.net/yang/terminal-device";

  prefix "oc-opt-term";

  import openconfig-types { prefix oc-types; }
  import openconfig-transport-types { prefix oc-opt-types; }
  import openconfig-if-ethernet { prefix oc-eth; }
  import openconfig-platform { prefix oc-platform; }
  import openconfig-platform-transceiver { prefix oc-transceiver; }
  import openconfig-lldp { prefix oc-lldp; }
  import openconfig-extensions { prefix oc-ext; }
  import ietf-yang-types { prefix yang; }
  import openconfig-yang-types { prefix oc-yang; }


  // meta
  organization "OpenConfig working group";

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

  description
    "This module describes a terminal optics device model for
    managing the terminal systems (client and line side) in a
    DWDM transport network.

    Elements of the model:

    physical port: corresponds to a physical, pluggable client
    port on the terminal device. Examples includes 10G, 40G, 100G
    (e.g., 10x10G, 4x25G or 1x100G) and 400G/1T in the future.
    Physical client ports will have associated operational state or
    PMs.

    physical channel: a physical lane or channel in the
    physical client port.  Each physical client port has 1 or more
    channels. An example is 100GBASE-LR4 client physical port having
    4x25G channels. Channels have their own optical PMs and can be
    monitored independently within a client physical port (e.g.,
    channel power).  Physical client channels are defined in the
    model as part of a physical client port, and are modeled
    primarily for reading their PMs.

    logical channel: a logical grouping of logical grooming elements
    that may be assigned to subsequent grooming stages for
    multiplexing / de-multiplexing, or to an optical channel for
    line side transmission.  The logical channels can represent, for
    example, an ODU/OTU logical packing of the client
    data onto the line side.  Tributaries are similarly logical
    groupings of demand that can be represented in this structure and
    assigned to an optical channel.  Note that different types of
    logical channels may be present, each with their corresponding
    PMs.

    optical channel:  corresponds to an optical carrier and is
    assigned a wavelength/frequency.  Optical channels have PMs
    such as power, BER, and operational mode.

    Directionality:

    To maintain simplicity in the model, the configuration is
    described from client-to-line direction.  The assumption is that
    equivalent reverse configuration is implicit, resulting in
    the same line-to-client configuration.

    Physical layout:

    The model does not assume a particular physical layout of client
    and line ports on the terminal device (e.g., such as number of
    ports per linecard, separate linecards for client and line ports,
    etc.).";

  oc-ext:openconfig-version "1.7.2";

  revision "2019-11-28" {
    description
      "Additional xpath fixes in when statement";
    reference "1.7.2";
  }

  revision "2019-10-12" {
    description
      "Fix when statement paths";
    reference "1.7.1";
  }

  revision "2019-08-08" {
    description
      "Add ALS config to logical-channel/ethernet/config and remove
       legacy interfaces augment for this config. Client FEC was
       previosuly migrated to the components model and should not
       be here anymore.";
    reference "1.7.0";
  }

  revision "2019-07-26" {
    description
      "Add support for LLDP natively on logical-channels.";
    reference "1.6.0";
  }

  revision "2018-11-21" {
    description
      "Add OpenConfig module metadata extensions.";
    reference "1.5.1";
  }

  revision "2018-10-23" {
    description
      "Adds support of logical-channel tributary slot allocation to
       logical-channel-assignments with different channel speeds.
       Enables logical channel mapping procedure specification.";
    reference "1.5.0";
  }

  revision "2018-08-28" {
    description
      "Adds terminal device related Ethernet counters";
    reference "1.4.0";
  }

  revision "2018-07-30" {
    description
      "Adds lldp snooping config leaf and augmented it to oc-lldp";
    reference "1.3.0";
  }

  revision "2018-07-26" {
    description
      "Adds OTN protocol counter stats of errored-blocks and
       fec-uncorrectable-blocks, adds ethernet-config-ext grouping
       and uses it to augment oc-eth";
    reference "1.2.0";
  }

  revision "2018-07-17" {
    description
      "Adds testing enum to link-state";
    reference "1.1.0";
  }

  revision "2017-07-08" {
    description
      "Adds test-signal";
    reference "1.0.0";
  }

  revision "2016-12-22" {
    description
      "Fixes and additions to terminal optics model";
    reference "0.4.0";
  }

  // OpenConfig specific extensions for module metadata.
  oc-ext:regexp-posix;
  oc-ext:catalog-organization "openconfig";
  oc-ext:origin "openconfig";

  grouping terminal-input-optical-power {
    description
      "Reusable leaves related to input optical power";

    leaf input-power {
      type decimal64 {
        fraction-digits 2;
      }
      units dBm;
      description
        "The input optical power of this port in units of 0.01dBm.
        If the port is an aggregate of multiple physical channels,
        this attribute is the total power or sum of all channels.";
    }
  }

  grouping terminal-ethernet-protocol-config {
    description
      "Configuration data for logical channels with Ethernet
      framing";

    leaf client-als {
      type enumeration {
        enum NONE {
          description
            "The client port will do nothing when a failure is
            detected on the line port or the remote client port";
        }
        enum LASER_SHUTDOWN {
          description
            "The client port will shut down the laser to notify the
            subtending Ethernet equipment of the failure detected on
            the line port or the remote client port.";
        }
        enum ETHERNET {
          description
Loading
Loading full blame…