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"; reference "IETF RFC 7223"; } import ietf-interfaces { prefix "if"; reference "IETF RFC 7223"; } 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 // comment 10 (PYANG error fixed) "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."; revision 2018-04-18 {//comment 9 (missing revision) description "Initial revision."; //removed tabs appearing with reference statement. (comment 29) reference //removed tabs "IEEE Std 802.3-2018, Clause 64/77, unless dated explicitly IEEE Std 802.3.1-2013, Clause 9, unless dated explicitly"; } 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 uint64 { range "0 .. 32767"; } description "Logical Link Identifiers (LLIDs) are used to identify a single MAC from a number of MACs which may be present in the EPON OLT or ONU. LLIDs between the value of 0x07FFE and 0x7FFF are reserved for ONU discovery and registration. Other 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, 65.1.3.3 for 1G-EPON and 76.2.6.1.3 for 10G-EPON."; 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 uint64 { range "0 .. 32767"; } description //comment 10 "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 { description "When selecting the value of 'enabled', the MultiPoint Control Protocol sublayer on the OLT / ONU is enabled."; } enum disabled { 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 { description "mpcp mode: olt"; } enum onu { 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 { description "MPCP registration state: logical link is NOT registered"; } enum registering { description "MPCP registration state: logical link is currently in the process of registering"; } enum registered { 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 { //comment 31 type enumeration { enum reset { description "The value of 'reset' indicates that the given logical link on the OLT / ONU is being reset."; } enum operate { description "The value of 'operate' indicates that the given logical link on the OLT / ONU is in the operating mode."; } enum unknown { description "The value of 'unknown' indicates that the status of the given logical link on the OLT / ONU is currently not known."; } enum registered { description "The value of 'registered' indicates that the given logical link on the OLT / ONU is being registered."; } enum deregistered { description "The value of 'deregistered' indicates that the given logical link on the OLT / ONU is being deregistered."; } enum reregistered { description "The value of 'reregistered' indicates that the given logical link on the OLT / ONU is being reregistered."; } } description "Enumeration of valid administrative states for a logical link on the OLT or ONU"; } typedef ompe-mode { type enumeration { enum unknown { description "omp-emulation mode: unknown = system is initializing"; } enum olt { description "omp-emulation mode: olt"; } enum onu { 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 { description "FEC capability: unknown = system is initializing"; } enum supported { description "FEC capability: supported"; } enum "not supported" { 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 { description "FEC mode: unknown = system is initializing"; } enum disabled { description "FEC mode: disabled = FEC is disabled for the given logical link (both Tx and Rx directions)"; } enum enabled-Tx-Rx { description "FEC mode: enabled-Tx-Rx = FEC is enabled for the given logical link in both Tx and Rx directions"; } enum enabled-Tx-only { description "FEC mode: enabled-Tx-only = FEC is enabled for the given logical link but only in Tx direction"; } enum enabled-Rx-only { 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 { description //comment 10 "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 { 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 //comment 10 "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 //comment 10 & 18 "This object indicates whether optional FEC sublayer of the 1000BASE-PX PHY specified in IEEE Std 802.3, 65.2 is supported. "; reference "IEEE Std 802.3, 30.5.1.1.15"; } identity power-action-type {// comment 22, 24, 31 description "Type of power action requested."; } identity power-down { base power-action-type; description "Power down the EPON virtual interface. Power-down actions are applicable for the OLT and ONU. A power down of a specific virtual interface affects only the virtual interface (and not the physical interface). the virtual interface will be unavailable while the power-down occurs and data may be lost. Other virtual interface are unaffected by power-down. This action is relevant when the admin state is active."; } identity power-up { base power-action-type; description "Exit EPON virtual interface power-down state"; } identity reset-action-type {// comment 22, 24, 31 description "Type of reset action requested."; } identity reset-interface { base reset-action-type; description "Reset the EPON virtual interface. Resetting an interface can lead an interruption of service for the users connected to the respective EPON interface. This object is applicable for an OLT and an ONU. At the OLT, it has a distinct value for each virtual interface. A reset for a specific virtual interface resets only this virtual interface and not the physical interface. Thus, a virtual link that is malfunctioning can be reset without affecting the operation of other virtual interfaces. The reset can cause Discontinuities in the values of the counters of the interface, similar to re-initialization of the management system."; } identity register-type {// comment 22, 24, 31 description "Type of registration requested."; } identity register { base register-type; description "Register indicates a request to register an LLID. This action applies to an OLT or ONU virtual interface."; } identity reregister { base register-type; description "Re-register indicates an request to re-register an LLID. This action applies to an OLT or ONU virtual interface."; } identity deregister { base register-type; description "De-register indicates an request to de-register an LLID. This action applies to an OLT or ONU virtual interface. Deregister may result in an interruption of service to users connected to the respective EPON interface."; } augment "/if:interfaces/if:interface/eth-if:ethernet" { description "Augments the definition of Ethernet interface (/if:interfaces/ if:interface/eth-if:ethernet) module with nodes specific to Ethernet PON (EPON)"; container mpcp-control { description "This container contains mpcp control attributes."; leaf mpcp-supported { type mpcp-supported; default "true"; config false; description //comment 10 "This object indicates that the given Ethernet interface supports MPCP, i.e., it is an Ethernet PON (EPON) interface."; } leaf mpcp-admin-state { type mpcp-admin-state; description // comment 10 "This object reflects the current administrative state of the MultiPoint MAC Control sublayer, as defined in IEEE Std 802.3, Clause 64 and Clause 77, for the OLT/ONU. When reading the value of 'enabled', the MultiPoint Control Protocol on the OLT / ONU is enabled. When reading the value of 'disabled', the MultiPoint Control Protocol on the OLT / ONU is disabled. This object is applicable for an OLT and an ONU. It has the same value for all logical links."; reference "IEEE Std 802.3, 30.3.5.1.2"; } leaf mpcp-mode { type mpcp-mode; config false; description //comment 10 "This object is used to identify the operational state of the MultiPoint MAC Control sublayer as defined in IEEE Std 802.3, Clause 64 and Clause 77. Reading 'olt' for an OLT (controller) mode and 'onu' for an ONU (client) mode. This object is used to identify the operational mode for the MPCP objects. This object is applicable for an OLT, with the same value for all logical links, and for an ONU."; reference "IEEE Std 802.3, 30.3.5.1.3"; } leaf mpcp-logical-link-admin-state { type mpcp-logical-link-admin-state; config false; description // comment 10, 31 "This object reflects the current administrative state of a logical link on an ONU or OLT. When reading the value of 'reset', the given logical link is undergoing a reset. When reading the value of 'unknown', the current status of the given logical link is unknown and the link might be undergoing initialization. When reading the value of 'operate', the given logical link is operating normally. When reading the value of 'registered', the given logical link was requested to perform registration. When reading the value of 'deregistered', the given logical link was requested to perform deregistration. When reading the value of 'reregistered', the given logical link was requested to perform reregistration. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgObjectRegisterAction"; } leaf mpcp-sync-time { type uint64; units "TQ (16ns)"; config false; description // comment 10 "This object reports the 'sync lock time' of the OLT receiver in units of Time Quanta (TQ; 1 TQ = 16 ns; see IEEE Std 802.3, Clause 64 and Clause 77). The value returned shall be equal to [sync lock time ns]/16, rounded up to the nearest TQ. If this value exceeds 4,294,967,295 TQ, the value 4,294,967,295 TQ shall be returned. This object is applicable for an OLT, with distinct values for all logical links, and for an ONU."; reference "IEEE Std 802.3, 64.3.3.2"; } leaf mpcp-logical-link-id { type mpcp-supported; config false; description // comment 10 "This object is used to identify the operational state of the MultiPoint MAC Control sublayer as defined in IEEE Std 802.3, Clause 64 and Clause 77. Reading 'olt' for an OLT (controller) mode and 'onu' for an ONU (client) mode. This object is used to identify the operational mode for the MPCP objects. This object is applicable for an OLT, with the same value for all logical links, and for an ONU."; reference "IEEE Std 802.3, 30.3.5.1.3"; } leaf mpcp-remote-mac-address { type yang:mac-address; config false; description //comment 10 "This object identifies the source_address parameter of the last MPCPDUs passed to the MAC Control. This value is updated on reception of a valid frame with: 1) a destination Field equal to the reserved multicast address for MAC Control as specified in IEEE Std 802.3, Annex 31A; 2) the lengthOrType field value equal to the reserved Type for MAC Control as specified in IEEE Std 802.3, Annex 31A; 3) an MPCP Control opcode value equal to the subtype reserved for MPCP as specified in IEEE Std 802.3, Annex 31A. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. The value reflects the MAC address of the remote entity and therefore the OLT holds a value for each LLID, which is the MAC address of the ONU. The ONU has a single value that is the OLT MAC address."; reference "IEEE Std 802.3, 30.3.5.1.5"; } leaf mpcp-logical-link-state { type mpcp-logical-link-state; config false; description // comment 10 "This object identifies the registration state of the MultiPoint MAC Control sublayer as defined in IEEE Std 802.3, Clause 64 and Clause 77. When this object has the enumeration 'unregistered', the interface is unregistered and may be used for registering a link partner. When this object has the enumeration 'registering', the interface is in the process of registering a link-partner. When this object has the enumeration 'registered', the interface has an established link-partner. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3, 30.3.5.1.6"; } leaf mpcp-elapsed-time-out { type uint64; units "TQ (16ns)"; config false; description // comment 10 "This object reports the interval from the last MPCP frame transmission in increments of Time Quanta (TQ; 1 TQ = 16 ns; see IEEE Std 802.3, Clause 64 and Clause 77). The value returned shall be equal to [interval from last MPCP frame transmission on this Ethernet interface, expressed in ns]/16. If this value exceeds 4,294,967,295 TQ, the value 4,294,967,295 TQ shall be returned. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3, 30.3.5.1.19"; } leaf mpcp-elapsed-time-in { type uint64; units "TQ (16ns)"; config false; description // comment 10 "This object reports the interval from the last MPCP frame reception in increments of Time Quanta (TQ; 1 TQ = 16 ns; see IEEE Std 802.3, Clause 64 and Clause 77). The value returned shall be equal to [interval from last MPCP frame reception on this Ethernet interface, expressed in ns]/16. If this value exceeds 4,294,967,295 TQ, the value 4,294,967,295 TQ shall be returned. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3, 30.3.5.1.20"; } leaf mpcp-round-trip-time { type uint16; units "TQ (16ns)"; config false; description // comment 10 "This object reports the MPCP round trip time in increments of Time Quanta (TQ; 1 TQ = 16 ns; see IEEE Std 802.3, Clause 64 and Clause 77). The value returned shall be equal to [round trip time in ns]/16. If this value exceeds 65,535 TQ, the value 65,535 TQ shall be returned. This object is applicable for an OLT. It has a distinct value for each logical link."; reference "IEEE Std 802.3, 30.3.5.1.21"; } leaf mpcp-maximum-grant-count { type uint8; config false; description // comment 10 "This object reports the maximum number of grants that an ONU can store for handling. The maximum number of grants that an ONU can store for handling has a range of 0 to 255. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the OLT, the value should be zero."; reference "IEEE Std 802.3, 30.3.5.1.24"; } leaf mpcp-logical-link-count { type mpcp-llid-count; units LLID; config false; description // comment 10 "This object reflects the number of logical links registered on the OLT / ONU. The LLID field, as defined in the IEEE Std 802.3, Clause 65 and Clause 76, is a 2-byte register (15-bit field and a broadcast bit) limiting the number of logical links to 32,768. This object is initialized to the value of 0 when the OLT / ONU is powered up. This object is applicable for an OLT and an ONU. It has the same value for all logical links."; reference "IEEE Std 802.3.1, dot3ExtPkgObjectNumberOfLLIDs"; } leaf mpcp-maximum-queue-count-per-report { type mpcp-maximum-queue-count-per-report; config false; description //comment 10 "This object reflects the maximum number of queues (0-7) that can be accepted by the OLT in a single REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgObjectReportMaximumNumQueues"; } } list mpcp-queues { key mpcp-queue-index; description // comment 10 "An instance of this object for each value of 'mpcp-queue-index' is created when a new logical link is registered and deleted when the logical link is deregistered. All instances of this object in the ONU associated with the given logical link are then mapped in to a REPORT MPCPDU, when generated. +-----------------------------------+ | Destination Address | +-----------------------------------+ | Source Address | +-----------------------------------+ | Length/Type | +-----------------------------------+ | OpCode | +-----------------------------------+ | TimeStamp | +-----------------------------------+ | Number of Queue Sets | +-----------------------------------+ -| | Report bitmap | | +-----------------------------------+ | | Queue 0 report | | +-----------------------------------+ | repeated | Queue 1 report | | for every +-----------------------------------+ | Queue Set | Queue 2 report | | +-----------------------------------+ | | Queue 3 report | | +-----------------------------------+ | | Queue 4 report | | +-----------------------------------+ | | Queue 5 report | | +-----------------------------------+ | | Queue 6 report | | +-----------------------------------+ | | Queue 7 report | | +-----------------------------------+ -| | Pad/reserved | +-----------------------------------+ | FCS | +-----------------------------------+ The 'Queue N report' field reports the current occupancy of each upstream transmission queue associated with the given logical link. The 'Number of Queue Sets' field defines the number of reported 'Queue N report' sets. For each Queue Set, the 'Report bitmap' field defines which upstream transmission queues are present in the REPORT MPCPDU. Although the REPORT MPCPDU can report current occupation for up to 8 upstream transmission queues in a single REPORT MPCPDU, the actual number is flexible. The 'mpcp-queue-group' grouping has a variable size that is limited by value of 'mpcp-maximum-queue-count-per-report' object, allowing ONUs report the occupancy of fewer upstream transmission queues, as needed. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and every queue. At the ONU, it has a distinct value for every queue."; reference "IEEE Std 802.3.1, dot3ExtPkgQueueEntry"; leaf mpcp-queue-index { type uint8 { range "0 .. 7" { description //comment 10 "This object indicates the identity (index) of a queue in the ONU. It can have a value between 0 and 7, limited by the value stored in the 'mpcp-maximum-queue-count-per-report' object."; reference "See 'mpcp-maximum-queue-count-per-report' object"; } } description //comment 10 "An object represents the index of an upstream transmission queue storing subscriber packets. The size (occupancy) of the upstream transmission queue identified by this object is then reported within REPORT MPCPDU, defined in IEEE Std 802.3, Clause 64 and Clause 77. This object indicates the identity (index) of a queue in the ONU. It can have a value between 0 and 7, limited by the value stored in the 'pcp-maximum-queue-counter-per-report' object. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and each queue. At the ONU, it has a distinct value for each queue."; reference "IEEE Std 802.3.1, dot3QueueIndex"; } leaf mpcp-queue-threshold-count { type uint8 { range "0 .. 7" { description //comment 10 "This object indicates the identity (index) of a queue in the ONU. It can have a value between 0 and 7, limited by the value stored in the 'mpcp-maximum-queue-count-per-report' object."; reference "See 'mpcp-queue-threshold-count-max' object"; } } description //comment 10 "This object reflects the number of reporting thresholds for the specific upstream transmission queue, reflected in the REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. Each 'Queue set' provides information for the specific upstream transmission queue occupancy of frames below the matching reporting threshold. A read of this object reflects the number of reporting thresholds for the specific upstream transmission queue. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and each queue. At the ONU, it has a distinct value for each queue."; reference "IEEE Std 802.3.1, dot3ExtPkgObjectReportNumThreshold"; } leaf mpcp-queue-threshold-count-max { type uint8 { range "0 .. 7" { description "This object can have a value between 0 and 7."; } } config false; //comment 25 description // comment 10 "This object reflects the maximum number of reporting thresholds for the specific upstream transmission queue, reflected in the REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. A read of this object reflects the maximum number of reporting thresholds for the specific upstream transmission queue. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and each queue. At the ONU, it has a distinct value for each queue."; reference //comment 10 "IEEE Std 802.3.1, dot3ExtPkgObjectReportMaximumNumThreshold"; } list mpcp-queue-thresholds { when "../mpcp-queue-threshold-count > 0"; key mpcp-queue-set-index; max-elements 7; description //comment 10 "An instance of this object for each value of 'mpcp-queue-index' is created when a new logical link is registered and deleted when the logical link is deregistered. All instances of this object in the ONU associated with the given logical link are then mapped in to a REPORT MPCPDU, when generated. +-----------------------------------+ | Destination Address | +-----------------------------------+ | Source Address | +-----------------------------------+ | Length/Type | +-----------------------------------+ | OpCode | +-----------------------------------+ | TimeStamp | +-----------------------------------+ | Number of Queue Sets | +-----------------------------------+ -| | Report bitmap | | +-----------------------------------+ | | Queue 0 report | | +-----------------------------------+ | repeated for | Queue 1 report | | every +-----------------------------------+ | Queue Set | Queue 2 report | | +-----------------------------------+ | | Queue 3 report | | +-----------------------------------+ | | Queue 4 report | | +-----------------------------------+ | | Queue 5 report | | +-----------------------------------+ | | Queue 6 report | | +-----------------------------------+ | | Queue 7 report | | +-----------------------------------+ -| | Pad/reserved | +-----------------------------------+ | FCS | +-----------------------------------+ The 'Queue N report' field reports the current occupancy of each upstream transmission queue associated with the given logical link. The 'Number of Queue Sets' field defines the number of reported 'Queue N report' sets. For each Queue Set, the 'Report bitmap' field defines which upstream transmission queues are present in the REPORT MPCPDU. Although the REPORT MPCPDU can report current occupation for up to 8 upstream transmission queues in a single REPORT MPCPDU, the actual number is flexible. The 'mpcp-queue-group' grouping has a variable size that is limited by value of 'mpcp-maximum-queue-count-per-report' object, allowing ONUs to report the occupancy of fewer upstream transmission queues, as needed. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and every queue. At the ONU, it has a distinct value for every queue."; reference "IEEE Std 802.3.1, dot3ExtPkgQueueSetsEntry"; leaf mpcp-queue-set-index { type uint8 { range "0 .. 7" { description //comment 10 "This object indicates the identity (index) of a queue in the ONU. It can have a value between 0 and 7, limited by the value stored in the 'mpcp-maximum-queue-count-per-report' object."; reference "See 'mpcp-maximum-queue-count-per-report' object"; } } description "This object represents the index of the Queue Set for the 'mpcp-queue-set-group' grouping. The size (occupancy) of the upstream transmission queues belonging to the given Queue Set is then reported within REPORT MPCPDU, defined in IEEE Std 802.3, Clause 64 and Clause 77. This object can have a value between 0 and 7, limited by the value stored in the 'mpcp-queue-threshold-count-max' object."; reference "IEEE Std 802.3.1, dot3QueueSetIndex"; } leaf mpcp-queue-set-threshold { type uint64; units "TQ"; default "0"; description // comment 10 "This object defines the value of a reporting threshold for each Queue Set stored in REPORT MPCPDU defined in IEEE Std 802.3, Clause 64 and Clause 77. The number of Queue Sets for each upstream transmission queue is defined in the 'mpcp-queue-threshold-count' object. Within REPORT MPCPDU, each Queue Set provides information on the current upstream transmission queue occupancy for frames below the matching threshold. The value stored in this object is expressed in the units of Time quanta (TQ), where 1 TQ = 16 ns. A read of this object provides the current threshold value for the specific upstream transmission queue. This object is applicable for an OLT and an ONU. At the OLT, it has a distinct value for each logical link, each queue, and each Queue Set. At the ONU, it has a distinct value for each queue and each Queue Set."; reference "IEEE Std 802.3.1, dot3ExtPkgObjectReportThreshold"; } } leaf mpcp-queue-pkts-in { type yang:counter64; config false; description // comment 10 "This object reflects the number of frame reception events into the corresponding upstream transmission queue. This object is incremented by one for each frame received, when it is input into the associated queue. The queue index matches the queue number in REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link and each queue. At the ONU, it has a distinct value for each queue. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3ExtPkgStatRxFramesQueue"; } leaf mpcp-queue-pkts-out { when "../../mpcp-mode = 'onu'"; type yang:counter64; config false; description // comment 10 "This object reflects the number of frame transmission events from the corresponding upstream transmission queue. This object is incremented by one for each frame transmitted, when it is output from the associated queue. The queue index matches the queue number in REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an ONU only. At the ONU, it has a distinct value for each queue. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3ExtPkgStatTxFramesQueue"; } leaf mpcp-queue-pkts-drop { when "../../mpcp-mode = 'onu'"; type yang:counter64; config false; description //comment 10 "This object reflects the number of frame drop events from the corresponding upstream transmission queue. This object is incremented by one for each frame dropped in the associated queue. The queue index matches the queue number in REPORT MPCPDU, as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an ONU only. At the ONU, it has a distinct value for each queue. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3ExtPkgStatDroppedFramesQueue"; } } list multicast-IDs { // comment 27 key multicast-ID; description "Multicast-IDs list of multicast IDs to be recognized by the device."; leaf multicast-ID { type uint32; description "Multicast-IDs to be recognized by the device."; reference "IEEE Std 802.3, 30.3.5.1.25"; } } container statistics-mpcp { config false; description "This container defines a set of MPCP-related statistics counters of an Ethernet interface implementing MPCP, as defined in IEEE Std 802.3, Clause 64 and Clause 77."; leaf mpcp-mac-ctrl-pkts-out { type yang:counter64; units frames; config false; description //comment 10 "A count of MPCP frames passed to the MAC sublayer for transmission. This counter is incremented when a MA_CONTROL.request service primitive is generated within the MAC control sublayer with an opcode indicating an MPCP frame. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.7"; } leaf mpcp-mac-ctrl-pkts-in { type yang:counter64; units frames; config false; description //comment 10 "A count of MPCP frames passed by the MAC sublayer to the MAC Control sublayer. This counter is incremented when a frame is received at the interface which is an MPCP frame or has a Length/Type Ethernet header field value equal to the reserved Type for 802.3_MAC_Control as specified in IEEE Std 802.3, 31.4.1.3. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.8"; } leaf mpcp-discovery-window-count { type yang:counter64; units "discovery windows"; config false; description //comment 10 "A count of discovery windows generated by the OLT. The counter is incremented by one for each generated discovery window. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.22"; } leaf mpcp-discovery-timeout-count { type yang:counter64; units "discovery timeouts"; config false; description //comment 10 "A count of the number of times a discovery timeout occurs. This counter is incremented by one for each discovery processing state-machine reset resulting from timeout waiting for message arrival. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.23"; } leaf mpcp-register-req-out { type yang:counter64; units frames; config false; description// comment 10 "A count of the number of times a REGISTER_REQ MPCP frame transmission occurs. This counter is incremented by one for each REGISTER_REQ MPCP frame transmitted as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.12"; } leaf mpcp-register-req-in { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a REGISTER_REQ MPCP frame reception occurs. This counter is incremented by one for each REGISTER_REQ MPCP frame received as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. At the ONU, the value should be zero for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.17"; } leaf mpcp-register-ack-out { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a REGISTER_ACK MPCP frame transmission occurs. This counter is incremented by one for each REGISTER_ACK MPCP frame transmitted as defined in IEEE Std 802.3,Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. The value should be zero for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.10"; } leaf mpcp-register-ack-in { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a REGISTER_ACK MPCP frame reception occurs. This counter is incremented by one for each REGISTER_ACK MPCP frame received as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.15"; } leaf mpcp-report-out { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a REPORT MPCP frame transmission occurs. This counter is incremented by one for each REPORT MPCP frame transmitted as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. The value should be zero for each logical link. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.13"; } leaf mpcp-report-in { type yang:counter64; units frames; config false; description // comment 10 "A count of the number of times a REPORT MPCP frame reception occurs. This counter is incremented by one for each REPORT MPCP frame received as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.5.1.18"; } leaf mpcp-gate-out { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a GATE MPCP frame transmission occurs. This counter is incremented by one for each GATE MPCP frame transmitted as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.9"; } leaf mpcp-gate-in { type yang:counter64; units frames; config false; description //comment 10 "A count of the number of times a GATE MPCP frame reception occurs. This counter is incremented by one for each GATE MPCP frame received as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. The value should be zero for each logical link. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.14"; } leaf mpcp-register-out { type yang:counter64; units frames; config false; description // comment 10 "A count of the number of times a REGISTER MPCP frame transmission occurs. This counter is incremented by one for each REGISTER MPCP frame transmitted as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. At the ONU, the value should be zero. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.11"; } leaf mpcp-register-in { type yang:counter64; units frames; config false; description // comment 10 "A count of the number of times a REGISTER MPCP frame reception occurs. This counter is incremented by one for each REGISTER MPCP frame received as defined in IEEE Std 802.3, Clause 64 and Clause 77. This object is applicable for an OLT and an ONU. The value should be zero for each logical link. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.5.1.16"; } } // comment 10 container ompe-control { description "contains ompe control attributes."; leaf ompe-mode { type ompe-mode; config false; description // comment 10 "This object indicates the mode of operation of the Reconciliation Sublayer for Point-to-Point Emulation (see IEEE Std 802.3, 65.1 or 76.2 as appropriate). The value of 'unknown' is assigned in initialization; true state or type is not yet known. The value of 'olt' is assigned when the sublayer is operating in OLT mode. The value of 'onu' is assigned when the sublayer is operating in ONU mode. This object is applicable for an OLT and an ONU. It has the same value for each logical link."; reference "IEEE Std 802.3, 30.3.7.1.2"; } } container statistics-ompe { description "This container defines a set of OMP-Emulation-related statistics counters of an Ethernet interface implementing MPCP, as defined in IEEE Std 802.3, Clause 65 and Clause 76."; reference "IEEE Std 802.3.1, dot3OmpEmulationStatEntry"; leaf ompe-pkts-in-errored-sld { type yang:counter64; units frames; config false; description // comment 10 "A count of frames received that do not contain a valid SLD field as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.3"; } leaf ompe-pkts-in-errored-crc8 { type yang:counter64; units frames; config false; description // comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1 as appropriate, but do not pass the CRC-8 check as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3 as appropriate. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities of this counter can occur at re-initialization of the management system and at other times, as indicated by the value of the ifCounterDiscontinuityTime object."; reference "IEEE Std 802.3, 30.3.7.1.4"; } leaf ompe-pkts-in-with-bad-llid { type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, and pass the CRC-8 check as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate, but are discarded due to the LLID check. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.5"; } leaf ompe-pkts-in-with-good-llid { type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1 as appropriate, but do not pass the CRC-8 check as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3 as appropriate. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.4"; } leaf ompe-onu-pkts-with-good-llid-good-crc8 {//comment 20 type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field in an ONU, 2) meet the rule for frame acceptance, and 3) pass the CRC-8 check. The SLD is defined in 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate. The rules for LLID acceptance are defined in 65.1.3.3.2 or 76.2.6.1.3.2, as appropriate. The CRC-8 check is defined in 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate. This object is applicable for an OLT and an ONU. At the OLT, it has distinct values for each virtual interface. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.6"; } leaf ompe-olt-pkts-with-good-llid-good-crc8 {//comment 20 type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field in an OLT, and 2) pass the CRC-8 check. The SLD is defined in 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate. The frame acceptance are defined in 65.1.3.3.2 or 76.2.6.1.3.2, as appropriate. The CRC-8 check is defined in 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate. At the OLT, it has distinct values for each virtual interface. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.6"; } leaf ompe-pkts-in { type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, and pass the CRC-8 check as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.3.7.1.6 (ONU) and 30.3.7.1.7 (OLT)"; } leaf ompe-pkts-in-not-match-onu-llid-broadcast { when "../../ompe-mode = 'onu'"; type yang:counter64; units frames; config false; // comment 10 description "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, pass the CRC-8 check, as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate, and contain the broadcast bit in the LLID and not the ONU's LLID (frame accepted) as defined in IEEE Std 802.3, Clause 65 and Clause 76, as appropriate. This object is applicable for an ONU only. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3OmpEmulationBroadcastBitNotOnuLlid"; } leaf ompe-pkts-in-match-onu-llid-not-broadcast { when "../../ompe-mode = 'onu'"; type yang:counter64; units frames; config false; description // comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, pass the CRC-8 check, as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate, and contain the ONU's LLID (frame accepted) as defined in IEEE Std 802.3, Clause 65 and Clause 76, as appropriate. This object is applicable for an ONU only. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times indicated by the value of the 'discontinuity-time' leaf defined in as the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3OmpEmulationOnuLLIDNotBroadcast"; } leaf ompe-pkts-in-match-onu-llid-broadcast { when "../../ompe-mode = 'onu'"; type yang:counter64; units frames; config false; description // comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, pass the CRC-8 check, as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate, and contain the broadcast bit in the LLID and the ONU's LLID (frame accepted) as defined in IEEE Std 802.3, Clause 65 and Clause 76, as appropriate. This object is applicable for an ONU only. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3OmpEmulationBroadcastBitPlusOnuLlid"; } leaf ompe-pkts-in-not-match-onu-llid-not-broadcast { when "../../ompe-mode = 'onu'"; type yang:counter64; units frames; config false; description //comment 10 "A count of frames received that contain a valid SLD field, as defined in IEEE Std 802.3, 65.1.3.3.1 or 76.2.6.1.3.1, as appropriate, pass the CRC-8 check, as defined in IEEE Std 802.3, 65.1.3.3.3 or 76.2.6.1.3.3, as appropriate, do not contain the broadcast bit in the LLID and do not contain the ONU's LLID (frame is NOT accepted) as defined in IEEE Std 802.3, Clause 65 and Clause 76, as appropriate. This object is applicable for an ONU only. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference // comment 10 "IEEE Std 802.3.1, dot3OmpEmulationNotBroadcastBitNotOnuLlid"; } } container trx-control { description "contains trx-control attributes."; leaf trx-transmit-admin-state { when "../../eth-if:ethernet/eth-pon:mpcp-admin-state = 'enabled'"; if-feature trx-power-level-reporting-supported; type trx-admin-state; description //comment 10 "This object reflects the current status of the transmitter in the optical transceiver. When read as 'enabled', the optical transmitter is enabled and operating under the control of the logical control protocol. When read as 'disabled', the optical transmitter is disabled. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. The value of this object is only reliable when /if:interfaces-state/if:interface/eth-if:ethernet/ 'mpcp-admin-state' is equal to 'enabled'."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfTransmitEnable"; } } container threholds-trx { if-feature trx-power-level-reporting-supported; description "This container defines a set of optical transceiver threholds of an Ethernet interface implementing MPCP as defined in IEEE Std 802.3, Clause 60 and Clause 75."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfEntry"; leaf trx-power-in-low-threshold { if-feature trx-power-level-reporting-supported; type int32; units "0.1 dBm"; description //comment 10 "This object reflects the current setting of low alarm threshold for the input power into the optical receiver. If the value reported in 'trx-power-in' object drops below the value set in 'trx-power-in-low-threshold', a 'trx-power-in-low-threshold-crossing' event is generated. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfLowerInputPowerThreshold"; } leaf trx-power-in-high-threshold { if-feature trx-power-level-reporting-supported; type int32; units "0.1 dBm"; description // comment 10 "This object reflects the current setting of high alarm threshold for the input power into the optical receiver. If the value reported in 'trx-power-in' object exceeds the value set in 'trx-power-in-high-threshold', a 'trx-power-in-high-threshold-crossing' event is generated. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfUpperInputPowerThreshold"; } leaf trx-power-out-low-threshold { if-feature trx-power-level-reporting-supported; type int32; units "0.1 dBm"; description //comment 10 "This object reflects the current setting of low alarm threshold for the output power out of the optical transmitter. If the value reported in 'trx-power-out' object drops below the value set in 'trx-power-out-low-threshold', a 'trx-power-out-low-threshold-crossing' event is generated. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference //comment 10 "IEEE Std 802.3.1, dot3ExtPkgOptIfLowerOutputPowerThreshold"; } leaf trx-power-out-high-threshold { if-feature trx-power-level-reporting-supported; type int32; units "0.1 dBm"; description //comment 10 "This object reflects the current setting of high alarm threshold for the output power out of the optical transmitter. If the value reported in 'trx-power-out' object exceeds the value set in 'trx-power-out-high- threshold', a 'trx-power-out-high-threshold-crossing' event is generated. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference //comment 10 "IEEE Std 802.3.1, dot3ExtPkgOptIfUpperOutputPowerThreshold"; } } container statistics-trx { if-feature trx-power-level-reporting-supported; description //comment 10 "This container defines a set of optical transceiver statistics counters of an Ethernet interface implementing MPCP as defined in IEEE Std 802.3, Clause 60 and Clause 75."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfEntry"; leaf trx-power-in-signal-detect { type boolean; config false; description //comment 10 "This object indicates whether a valid optical signal was detected (when read as 'true') or not (when read as 'false') at the input to the optical transceiver. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfSignalDetect"; } leaf trx-power-in { type int32; units "0.1 dBm"; config false; description // comment 10 "This object reflects the value of the input power, as measured at the optical transceiver, expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a continuous manner. At the OLT, the measurement is performed in a burst-mode manner, for each incoming data burst. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfInputPower"; } leaf trx-power-in-low-15-minutes-bin { type int32; units "0.1 dBm"; config false; description //comment 10 "This object reflects the lowest value of the input power during the period of the last 15 minutes, as measured at the optical transceiver, and expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a continuous manner and stored in a rolling 15-minutes' long observation bin. At the OLT, the measurement is performed in a burst-mode manner, for each incoming data burst, and stored in a rolling 15-minutes' long observation bin. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfLowInputPower"; } leaf trx-power-in-high-15-minutes-bin { type int32; units "0.1 dBm"; config false; description //comment 10 "This object reflects the highest value of the input power during the period of the last 15 minutes, as measured at the optical transceiver, and expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a continuous manner and stored in a rolling 15-minutes' long observation bin. At the OLT, the measurement is performed in a burst-mode manner, for each incoming data burst, and stored in a rolling 15-minutes' long observation bin. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfHighInputPower"; } leaf trx-power-out-signal-detect { type boolean; config false; description//comment 10 "This object indicates whether a valid optical signal was detected (when read as 'true') or not (when read as 'false') at the output from the optical transceiver. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfTransmitAlarm"; } leaf trx-power-out { type int32; units "0.1 dBm"; config false; description // comment 10 "This object reflects the value of the output power, as measured at the optical transceiver, expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a burst-mode manner for each outgoing data burst. At the OLT, the measurement is performed in a continuous manner. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfOutputPower"; } leaf trx-power-out-low-15-minutes-bin { type int32; units "0.1 dBm"; config false; description // comment 10 "This object reflects the lowest value of the output power during the period of the last 15 minutes, as measured at the optical transceiver, and expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a burst-mode manner and stored in a rolling 15-minutes' long observation bin. At the OLT, the measurement is performed in a continuous manner, for each incoming data burst, and stored in a rolling 15-minutes' long observation bin. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfLowOutputPower"; } leaf trx-power-out-high-15-minutes-bin { type int32; units "0.1 dBm"; config false; description //comment 10 "This object reflects the highest value of the output power during the period of the last 15 minutes, as measured at the optical transceiver, and expressed in units of 0.1 dBm. At the ONU, the measurement is performed in a burst-mode manner and stored in a rolling 15-minutes' long observation bin. At the OLT, the measurement is performed in a continuous manner, for each incoming data burst, and stored in a rolling 15-minutes' long observation bin. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfHighOutputPower"; } leaf trx-data-reliable {//comment 26 if-feature trx-power-level-reporting-supported; type boolean; config false; description //comment 10 "This object indicates whether data contained in individual counters in 'statistics-trx' container are reliable (when read as 'true') or not (when read as 'false'). This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3.1, dot3ExtPkgOptIfSuspectedFlag"; } } container fec-control { description "Contains fec control attributes"; leaf fec-mode { if-feature fec-supported; type fec-mode; description // comment 10 "This object reflects the current administrative state of the FEC function for the given logical link on an ONU or OLT. When reading the value of 'disabled', the FEC function on the given logical link is disabled. When reading the value of 'enabled-Tx-Rx', the FEC function on the given logical link is enabled in both Tx and Rx directions. When reading the value of 'enabled-Tx-only', the FEC function on the given logical link is enabled in Tx direction only. When reading the value of 'enabled-Rx-only', the FEC function on the given logical link is enabled in Rx direction only. When reading the value of 'unknown', the state of the FEC function on the given logical link is unknown or the FEC function is currently initializing. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link."; reference "IEEE Std 802.3, 30.5.1.1.16"; } leaf fec-capability { // comment 18 if-feature fec-supported; type fec-capability; config false; description "This object is used to identify whether the given interface is cable of supporting FEC or not."; } } container statistics-pon-fec { when "(../fec-capability = 'supported') and (../fec-mode = 'enabled-Tx-Rx')"; if-feature fec-supported; config false; description "This container defines a set of FEC-related statistics counters of an Ethernet interface implementing MPCP, as defined in IEEE Std 802.3, Clause 65 and Clause 76."; reference "IEEE Std 802.3.1, dot3OmpEmulationStatEntry"; leaf fec-code-group-violations { type yang:counter64; units code-group; config false; description //comment 10 "For 1G-EPON, it is a count of the number of times an invalid codeword is received, other than the /V/ code-group. The /V/ denotes a special 8b10b codeword of the IEEE Std 802.3 Clause 36 1000 Mb/s PCS layer, reused in 1G-EPON. For 10G-EPON, it is a count of the number of times an invalid codeword is received. This object is applicable for an OLT and an ONU. At the OLT, it has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.5.1.1.14"; } leaf fec-buffer-head-coding-violations { type yang:counter64; units code-group; config false; description // comment 10 "For 1000BASE-PX PHY, this object represents the count of the number of invalid code-group received directly from the link. For 10GBASE-PR or 10/1GBASE-PRX PHYs, this object is always set to zero. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3.1, dot3EponFecBufferHeadCodingViolation "; } leaf fec-code-word-corrected-errors { type yang:counter64; units code-group; config false; description // comment 10 "For 1000BASE-PX, 10GBASE-PR or 10/1GBASE-PRX PHYs, it is a count of corrected FEC blocks. This counter increments by one for each received FEC block that contained detected errors and was corrected by the FEC function in the PHY. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.5.1.1.17"; } leaf fec-code-word-uncorrected-errors { type yang:counter64; units code-group; config false; description // comment 10 "For 1000BASE-PX, 10GBASE-PR or 10/1GBASE-PRX PHYs, it is a count of uncorrectable FEC blocks. This counter increments by one for each received FEC block that contained detected errors and was not corrected by the FEC function in the PHY. This object is applicable for an OLT and an ONU. It has a distinct value for each logical link. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of the 'discontinuity-time' leaf defined in the ietf-interfaces YANG module (IETF RFC 7223)."; reference "IEEE Std 802.3, 30.5.1.1.18"; } } container actions {// comment 22, 24, 31 description "Container of actions"; action power-action-type { description "Request a power-action of the interface."; input { leaf power-action-type { type identityref { base power-action-type; } description "Type of power action requested of the interface."; } } } action reset-action-type { description "Request a reset-action of the interface."; input { leaf reset-action-type { type identityref { base reset-action-type; } description "Type of reset action requested of the interface."; } } } action register-type { description "Request a registration action."; input { leaf register-type { type identityref { base register-type; } description "Type of registration action requested of the interface."; } } } } } }