netconfcentral logo

ieee802-ethernet-pon@2017-10-18



  module ieee802-ethernet-pon {

    yang-version 1.1;

    namespace
      "urn:ieee:std:802.3:yang:ieee802-ethernet-pon";

    prefix eth-pon;

    import ietf-yang-types {
      prefix yang;
    }
    import ietf-interfaces {
      prefix if;
    }
    import ieee802-ethernet-interface {
      prefix eth-if;
    }

    organization
      "IEEE 802.3 Ethernet Working Group
     Web URL: http://www.ieee802.org/3/";

    contact
      "Web URL: http://www.ieee802.org/3/cf/";

    description
      "This module contains a collection of YANG definitions for
     managing the Multi Point Control Protocol for Ethernet PON (EPON),
     as defined in IEEE Std 802.3, Clause 64/77

     This YANG module augments the 'ethernet' module.";

    reference
      "IEEE Std 802.3-2015, Clause 64/77, unless dated explicitly
      IEEE Std 802.3.1-2013, Clause 9, unless dated explicitly";


    revision "2017-10-18" {
      description
        "Restructed to be NMDA compliant.";
      reference
        "IEEE P802.3.2 (IEEE 802.3cf) YANG Data Model Definitions Task
        Force";

    }


    typedef mpcp-supported {
      type boolean;
      description
        "This object indicates that the given Ethernet interface
       supports MPCP, i.e., it is an Ethernet PON (EPON) interface.";
    }

    typedef mpcp-llid {
      type uint32 {
        range "0 .. 32767";
      }
      description
        "A unique identifier for a MAC within an EPON network.
       Logical Link Identifiers (LLIDs) are dynamically assigned by
       the OLT during the registration process. For a complete
       description of how the LLID is used in an EPON device see
       IEEE Std 802.3 subclause 65.1.3.3 for 1G-EPON or
       76.2.6.1.3 for 10G-EPON.
       The third and fourth octets following the SLD contain the mode
       and logical_link_id values. OLTs and ONUs act upon these values
       in a different manner.

       If the device is an OLT, then the following comparison is made:
       a) The received mode bit is ignored.
       b) If the received logical_link_id value matches
       0x7FFF or 0x7FFE and an enabled MAC exists with a
       logical_link_id variable with the same value,
       then the comparison is considered a match to that MAC.
       c) If the received logical_link_id has a value other than
       0x7FFF or 0x7FFE and an enabled MAC exists with a mode variable
       with a value of 0 and a logical_link_id variable matching
       the received logical_link_id value, then the comparison
       is considered a match to that MAC.

       If the device is an ONU then the following comparison is made:
       d) If the received mode bit is equal to 0 and the received
       logical_link_id value matches the logical_link_id variable,
       then the comparison is considered a match.
       e) If the received mode bit is equal to 1 and the received
       logical_link_id value does not match the logical_link_id
       variable, or the received logical_link_id matches 0x7FFE,
       then the comparison is considered a match.
       f) If the received logical_link_id value matches one of the
       assigned multicast LLIDs, then the comparison
       is considered a match.

       If no match is found, then the packet shall be discarded
       within the RS. If a match is found, then the packet
       is intended to be transferred.

       If the packet is transferred, then both octets of the LLID
       field shall be replaced with normal preamble octets.

       If the packet is transferred, the one octet preceding the LLID
       is passed without modification. A number of LLIDs have been
       reserved (see IEEE Std 802.3, Figure 76-4) for various purposes
       including downstream broadcast, discovery messages, and upstream
       registration request messages. An additional block of LLIDs has
       been set aside for future use and definition. A registered ONU
       shall not transmit frames with one of these reserved LLIDs.";
      reference
        "IEEE Std 802.3, 76.2.6.1.3.2 (1G-EPON and 10G-EPON)";

    }

    typedef mpcp-maximum-queue-count-per-report {
      type uint8 {
        range "0..7";
      }
      default "0";
      description
        "Defines the maximum number of queues (0-7) in the REPORT
       MPCPDU as defined in IEEE Std 802.3, Clause 64 and Clause 77.";
    }

    typedef mpcp-llid-count {
      type uint32 {
        range "0 .. 32767";
      }
      description
        "Indicates the number of registered LLIDs. The initialization value is
       0. This is applicable for an OLT with the same value for all virtual
       interfaces and for an ONU.";
      reference
        "IEEE Std 802.3, 76.2.6.1.3.2 (1G-EPON and 10G-EPON)";

    }

    typedef mpcp-admin-state {
      type enumeration {
        enum "enabled" {
          value 0;
          description
            "When selecting the value of 'enabled', the MultiPoint
           Control Protocol sublayer on the OLT / ONU is enabled.";
        }
        enum "disabled" {
          value 1;
          description
            "When selecting the value of 'disabled', the MultiPoint
           Control Protocol sublayer on the OLT / ONU is disabled.";
        }
      }
      description
        "Enumeration of valid administrative states for a MultiPoint MAC
       Control sublayer on the OLT or ONU";
      reference
        "IEEE Std 802.3, 30.3.5.2.1";

    }

    typedef mpcp-mode {
      type enumeration {
        enum "olt" {
          value 0;
          description "mpcp mode: olt";
        }
        enum "onu" {
          value 1;
          description "mpcp mode: onu";
        }
      }
      description
        "Enumeration of valid mpcp modes for Ethernet interfaces";
      reference
        "IEEE Std 802.3, 30.3.5.1.3";

    }

    typedef mpcp-logical-link-state {
      type enumeration {
        enum "unregistered" {
          value 0;
          description
            "MPCP registration state: logical link is NOT registered";
        }
        enum "registering" {
          value 1;
          description
            "MPCP registration state: logical link is currently in the
           process of registering";
        }
        enum "registered" {
          value 2;
          description
            "MPCP registration state: logical link is currently
           registered";
        }
      }
      description
        "Enumeration of valid MPCP registration states for Ethernet
       interfaces";
      reference
        "IEEE Std 802.3, 30.3.5.1.6";

    }

    typedef mpcp-logical-link-admin-state {
      type enumeration {
        enum "reset" {
          value 0;
          description
            "When read, the value of 'reset' indicates that the given
           logical link on the OLT / ONU has been reset.
           When set, the value of 'reset' requests the OLT / ONU to
           reset the given logical link.";
        }
        enum "operate" {
          value 1;
          description
            "When read, the value of 'operate' indicates that the
           given logical link on the OLT / ONU has moved into
           operating mode.
           When set, the value of 'operate' requests the OLT / ONU to
           move the given logical link into operating mode.";
        }
        enum "disabled" {
          value 2;
          description
            "When read, the value of 'disabled' indicates that the
           given logical link on the OLT / ONU has been disabled.
           When set, the value of 'disabled' requests the OLT / ONU
           to disable the given logical link. ";
        }
        enum "enabled" {
          value 3;
          description
            "When read, the value of 'enabled' indicates that the
           given logical link on the OLT / ONU has been enabled.
           When set, the value of 'enabled' requests the OLT / ONU to
           enable the given logical link. ";
        }
        enum "unknown" {
          value 4;
          description
            "When read, the value of 'unknown' indicates that the
           status of the given logical link on the OLT / ONU is
           currently not known.
           An attempt to set the value of 'unknown' is illegal.";
        }
        enum "registered" {
          value 5;
          description
            "When read, the value of 'registered' indicates that the
           given logical link on the OLT / ONU has been registered.
           When set, the value of 'registered' requests the OLT / ONU
           to register the given logical link. ";
        }
        enum "deregistered" {
          value 6;
          description
            "When read, the value of 'deregistered' indicates that the
           given logical link on the OLT / ONU has been deregistered.
           When set, the value of 'deregistered' requests the
           OLT / ONU to deregister the given logical link. ";
        }
        enum "reregistered" {
          value 7;
          description
            "When read, the value of 'reregistered' indicates that the
           given logical link on the OLT / ONU has been reregistered.
           When set, the value of 'reregistered' requests the
           OLT / ONU to reregister the given logical link. ";
        }
      }
      description
        "Enumeration of valid administrative states for a logical link
       on the OLT or ONU";
    }

    typedef ompe-mode {
      type enumeration {
        enum "unknown" {
          value 0;
          description
            "omp-emulation mode: unknown = system is initializing";
        }
        enum "olt" {
          value 1;
          description
            "omp-emulation mode: olt";
        }
        enum "onu" {
          value 2;
          description
            "omp-emulation mode: onu";
        }
      }
      description
        "Enumeration of valid OMP-Emulation modes for Ethernet
       interfaces";
      reference
        "IEEE Std 802.3, 30.3.7.1.2";

    }

    typedef fec-capability {
      type enumeration {
        enum "unknown" {
          value 0;
          description
            "FEC capability: unknown = system is initializing";
        }
        enum "supported" {
          value 1;
          description
            "FEC capability: supported";
        }
        enum "not supported" {
          value 2;
          description
            "FEC capability: not supported";
        }
      }
      description
        "Enumeration of valid FEC capability values for Ethernet
       interfaces with enabled MPCP";
      reference
        "IEEE Std 802.3, 30.5.1.1.15";

    }

    typedef fec-mode {
      type enumeration {
        enum "unknown" {
          value 0;
          description
            "FEC mode: unknown = system is initializing";
        }
        enum "disabled" {
          value 1;
          description
            "FEC mode: disabled = FEC is disabled for the given
           logical link (both Tx and Rx directions)";
        }
        enum "enabled-Tx-Rx" {
          value 2;
          description
            "FEC mode: enabled-Tx-Rx = FEC is enabled for the given
           logical link in both Tx and Rx directions";
        }
        enum "enabled-Tx-only" {
          value 3;
          description
            "FEC mode: enabled-Tx-only = FEC is enabled for
        the given logical link but only in Tx direction";
        }
        enum "enabled-Rx-only" {
          value 4;
          description
            "FEC mode: enabled-Rx-only = FEC is enabled for
        the given logical link but only in Rx direction";
        }
      }
      description
        "Enumeration of valid FEC modes for Ethernet interfaces";
      reference
        "IEEE Std 802.3, 30.5.1.1.16";

    }

    typedef trx-admin-state {
      type enumeration {
        enum "enabled" {
          value 0;
          description
            "When read as 'enabled', the transmitter is enabled and
           operating under the control of the logical control protocol.
           When set to 'enabled', the transmitter is enabled to
           operate under the control of the logical control protocol. ";
        }
        enum "disabled" {
          value 1;
          description
            "When read as 'disabled', the transmitter is disabled.
           When set to 'disabled', the transmitter is disabled. ";
        }
      }
      description
        "Enumeration of valid administrative states for an optical
       transceiver";
      reference
        "IEEE Std 802.3.1, dot3ExtPkgOptIfTransmitEnable";

    }

    feature trx-power-level-reporting-supported {
      description
        "This object indicates the support for optical transceiver power
    level monitoring and reporting capability. When 'true', the given
    interface supports the optical power level monitoring and reporting
    function. Otherwise, the value is 'false'.";
      reference
        "";

    }

    feature fec-supported {
      description
        "This object indicates the support of operation of the optional FEC
       sublayer of the 1000BASE-PX PHY specified in IEEE Std 802.3, 65.2. The
       value of 'unknown' is reported in the initialization, for non FEC
       support state or type not yet known. The value of 'not supported' is
       reported when the sublayer is not supported. The value of 'supported'
       is reported when the sublayer is supported. This object is applicable
       for an OLT, with the same value for all logical links, and for an ONU.
       All objects in the fec/statistics container have a zero value
       when the interface is not supporting FEC.";
      reference
        "IEEE Std 802.3, 30.5.1.1.15";

    }
  }  // module ieee802-ethernet-pon