Network Working Group
Request for Comments: 4837
Category: Standards Track
L. Khermosh
PMC-SIERRA
July 2007

Managed Objects of Ethernet Passive Optical Networks (EPON)

Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

Copyright © The IETF Trust (2007).

Abstract

This document defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP based Internets. In particular, it defines objects for managing interfaces that conform to the Ethernet Passive Optical Networks (EPON) standard as defined in the IEEE Std 802.3ah-2004, which are extended capabilities to the Ethernet like interfaces.

Table of Contents

   1.  The Internet-Standard Management Framework . . . . . . . . . .  3
   2.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  Terminology and Abbreviations  . . . . . . . . . . . . . .  3
     2.2.  EPON Architecture Highlights . . . . . . . . . . . . . . .  5
       2.2.1.  Introduction . . . . . . . . . . . . . . . . . . . . .  5
       2.2.2.  Principles of Operation  . . . . . . . . . . . . . . .  6
       2.2.3.  The Physical Media . . . . . . . . . . . . . . . . . .  7
       2.2.4.  PMD Specifications . . . . . . . . . . . . . . . . . .  8
       2.2.5.  Point-to-Point Emulation . . . . . . . . . . . . . . .  8
       2.2.6.  Principles of the MPCP . . . . . . . . . . . . . . . . 10
       2.2.7.  Forward Error Correction (FEC) . . . . . . . . . . . . 12
     2.3.  Management Architecture  . . . . . . . . . . . . . . . . . 13
   3.  MIB Structure  . . . . . . . . . . . . . . . . . . . . . . . . 17
   4.  Relation to Other MIB Modules  . . . . . . . . . . . . . . . . 22
     4.1.  Relation to the Interfaces MIB and Ethernet-like
           Interfaces MIB . . . . . . . . . . . . . . . . . . . . . . 22
     4.2.  Relation to the IEEE 802.3 MAU MIBs  . . . . . . . . . . . 29
     4.3.  Relation to the EFM OAM MIB  . . . . . . . . . . . . . . . 29
     4.4.  Relation to the Bridge MIB . . . . . . . . . . . . . . . . 30
   5.  Mapping of IEEE 802.3ah Managed Objects  . . . . . . . . . . . 31
   6.  Definitions - The DOT3 EPON MIB Module . . . . . . . . . . . . 33
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 85
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 86
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 86
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 88
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 88
     10.2. Informative References . . . . . . . . . . . . . . . . . . 90

1. The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to Section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578]; STD 58, RFC 2579 [RFC2579]; and STD 58, RFC 2580 [RFC2580].

2. Overview

This document defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP based Internets. In particular, it defines objects for managing interfaces that conform to the Ethernet Passive Optical Networks (EPON) standard as defined in [802.3ah], which are extended capabilities to the Ethernet like interfaces. The document contains a list of management objects based on the attributes defined in the relevant parts of [802.3ah] Annex 30A, referring to EPON.

2.1. Terminology and Abbreviations

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

   ACK - Acknowledge

BER - Bit Error Rate

   BW - Bandwidth

CO - Central Office

CPE - Customer Premises Equipment

CRC - Cyclic Redundancy Check

EFM - Ethernet First Mile

EPON - Ethernet Passive Optical Network

FCS - Frame Check Sequence

FEC - Forward Error Correction

GMII - Gigabit Media Independent Interface

LAN - Local Area Network

LLID - Logical Link Identifier

MAC - Media Access Control

Mbps - Megabit per second

MDI - Medium Dependent Interface

   MDIO - Management Data Input/Output
   
   MPCP - Multi-Point Control Protocol

MP2PE - Multi-Point to Point Emulation

OAM - Operation Administration Maintenance

OLT - Optical Line Terminal (Server unit of the EPON)

OMP - Optical Multi-Point

ONU - Optical Network Unit (Client unit of the EPON)

   P2MP - Point-to-Multipoint

P2PE - Point-to-Point Emulation

PCS - Physical Coding Sublayer

PHY - Physical Layer

PMA - Physical Medium Attachment

PMD - Physical Medium Dependent

PON - Passive Optical Network

RS - Reconciliation Sublayer

RTT - Round Trip Time

SLA - Service Level Agreement

SLD - Start of LLID Delimiter

TDM - Time Division Multiplexing

TQ - Time Quanta

2.2. EPON Architecture Highlights

2.2.1. Introduction

The EPON standard, as defined in [802.3ah], defines the physical media (Layer 1) and media access (Layer 2) of the EPON interface. The EPON is a variant of the Gigabit Ethernet protocol for the Optical Access. The Optical Access topology is based on passive optical splitting topology. The link of a Passive Optical Network (PON) is based on a single, shared optical fiber with passive optical splitters dividing the single fiber into separate subscribers.

The Optical Line Terminal (OLT) is the server unit of the network, located at the Central Office (CO).

The Optical Network Unit (ONU) is the client unit of the network, located at the Customer Premises Equipment (CPE).

The following diagram describes the PON topology:

               Device with
               one or more P2MP
               interfaces such as OLT
               for EPON                       An EPON          IP host
               ------- OLT          ONU       "modem"          --------
    Other IEEE |     | interface |  interface ------ Other IEEE|      |
    interface  |     |-------\----------------|    | interface |      |
    ===========|     |        \               |    |===========|      |
               |     |         \              ------           --------
               |     |          \             ------           --------
               .     .           \------------|    |           |      |
               |     |------\                 |    |===========|      |
               |     |       \                ------           --------
               -------        \ etc

The IEEE layering architecture of an EPON interface is defined in the diagram of Figure 56.2 [802.3ah]. The following clauses in the [802.3ah] define the corresponding layers of an EPON interface:

clause 30 - Management

clause 60 - PMD for EPON media (Burst PMD)

clause 64 - MPCP (Multi-Point Control Protocol) - defines the Multi- Point architecture, and control protocol for the media access of EPON.

   clause 65 -

a) Virtual links definition for the EPON

   b) FEC

c) PMA for the EPON.

2.2.2. Principles of Operation

The specification of the EPON interface is based on the specification of the gigabit Ethernet interface as described in [802.3], clauses 35 and 36. The Ethernet MAC is working in gigabit rate. The media interface to the MAC is through the GMII interface, as described in clause 35, and the PCS layer is based on the gigabit Ethernet PCS as described in clause 36. The special EPON layers are added to the Ethernet layering in the following places:

The MPCP is placed in the MAC control layer, providing the EPON control protocol. The Emulation layer, located at the RS (Reconciliation Sublayer), creates virtual private path to each ONU. The FEC layer is located between the PCS and PMA layers, enhancing reach and split performance of the optical link.

The following diagram describes the layering model of an EPON interface:

      +==========================================+
      |               Higher layers              |
      +==========================================+
      |               802.1D Bridge              |
      +==========================================+
      | MAC client|        ...        |MAC client|
      +==========================================+
      |           MAC Control - (MPCP)           |            *NEW*
      +==========================================+
      |    MAC    |        ...        |    MAC   |
      +==========================================+
      |           P2P Emulation (P2PE)           |            *NEW*
      +==========================================+
                      |            |
                      |    GMII    |
                      |            |
      +==========================================+
      |                    PCS                   |
      +==========================================+
      |                    FEC                   |            *NEW*
      +==========================================+
      |                    PMA                   |  *Enhanced parameters
      +==========================================+    for EPON*
      |                    PMD                   |  *Enhanced parameters
      +==========================================+    for EPON*
                      |            |
                      |    MDI     |
                      |            |
                    /===================/
                   /       Media       /
                  /===================/

2.2.3. The Physical Media

The physical link is a fiber optical link. The OLT and ONUs are connected through passive optical splitters. Downlink denotes the transmission from the OLT to the ONUs. Uplink denotes the transmission from the ONUs to the OLT. Uplink and downlink are multiplexed using separated wavelengths on the same fiber. The downlink is a broadcast medium where the OLT transmits the data to all ONUs. The uplink is a shared transmission medium for all of the ONUs. The uplink access is based on time division multiplexing (TDM) and the management of the TDM media access is defined by the Multi-

Point Control Protocol (MPCP). The MPCP is a control protocol based on an inband packet messaging. The OLT sends control messages (GATE messages) allowing ONUs to transmit, defining when the transmission occurs and what is its duration. These messages define the transmission order and the amount of BW for each ONU. A scheduling algorithm at the OLT, which is not defined in the [802.3ah], is responsible for allocating the BW and controlling the delay of each ONU according to its SLA.

2.2.4. PMD Specifications

PMD specifications select the same optical wavelength plan as the [ITU-T.G.983]. The transceivers are derivatives of existing Ethernet optical transceivers, with dual wavelength on a single fiber, and extended burst capabilities for the uplink. The uplink burst capability is the burst transmission functionality for the ONUs and burst reception functionality for the OLT. The [802.3ah] selected very relaxed burst parameters to reduce the device cost of EPON products.

2.2.5. Point-to-Point Emulation

The downstream is a broadcast link, which means that the OLT transmission is shared for all ONUs. The sharing of the transmission of the OLT has some negative privacy aspects and should be limited to broadcast traffic in nature only. The traffic dedicated to each ONU should not be shared. The solution provided by [802.3ah] is to partition the EPON link, in a virtual manner, between the ONUs. Each ONU has a dedicated virtual link to the OLT. The [802.3ah] also defines an additional link for broadcast transmission. The medium becomes an aggregation of point-to-point tunnels. The OLT cannot preserve its EPON interface as a single interface connected to N devices (following the properties of the physical interface). The EPON interface of the OLT is partitioned into separate virtual interfaces; an interface for each virtual link. Hence, the OLT behaves like a device with N virtual ports (and an additional port for the broadcast transmission). The additional single-copy- broadcast channel (tagged as all one LLID) is added to allow the broadcast transmission within a single copy to all ONUs, preserving the inherent advantage of BW efficiency of the PON shared media. The ONUs filter the downlink traffic that is not intended for their reception, according to the virtual link marking. An LLID tag is attached at the preamble of the Ethernet packet denoting the virtual link. The LLID marks the destination port in the downstream and source port in the upstream.

The virtual links concept is also used to avoid a violation of the [802.1d] bridging rules for peer-to-peer traffic in the PON. Peer- to-peer traffic is traffic between ONUs in the same PON. The OLT cannot preserve the EPON interface as a single interface, connected to N devices, and allow traffic between these devices without violating the bridging rules. The source address and destination address of the peer-to-peer traffic are behind the same port and therefore the traffic should be discarded. The separation of the ONUs into virtual links solves this issue. The OLT has N virtual ports for the single physical EPON port. A bridge sees a single MAC Client for every link pair.

The private paths concept solves the networking problems and provides subscriber isolation.

As the tunneling is only a virtual tunneling, there is a single physical interface and a single physical layer for the device so that some attributes are shared. For example, the interface has a single local MAC address.

The virtual tunneling for an OLT with 3 ONUs is illustrated in the following diagram.

                         Trunk Line
                             |
                             |
                             |
                            \|/
      +===============================================+
      |                 802.1D Bridge                 |
      +===============================================+
      | MAC client1|          ...         |MAC client3|
      +===============================================+
      |                     MP2PE                     |
      +===============================================+
      |                      PHY                      |
      =================================================
             |                 |                 |
             |                 |                 |
            \|/               \|/               \|/
      +============+    +============+    +============+
      |    PHY     |    |     PHY    |    |     PHY    |
      +============+    +============+    +============+
      |   MP2PE    |    |    MP2PE   |    |    MP2PE   |
      +============+    +============+    +============+
      | MAC client |    | MAC client |    | MAC client |
      +============+    +============+    +============+
      |    PHY     |    |     PHY    |    |     PHY    |
      +============+    +============+    +============+
            /|\               /|\               /|\
             |                 |                 |
             |                 |                 |
             |                 |                 |
        Subscriber1       Subscriber2       Subscriber3

2.2.6. Principles of the MPCP

The EPON standard defines a media access control of an optical Access network. The Access network has some substantial differences from the legacy LAN for which the Ethernet was designed. The differences lie mainly in the provisioning of the network. An Access network is an administrated environment, with an operator providing the service and subscribers consuming it. The operator is controlling the network and managing its traffic. For instance, BW is controlled and subscribers are billed for services. The MPCP protocol divides the Ethernet interfaces into two unequal types of network units. The first interface is an OLT interface, which is a server unit, controlling the network. The second interface is an ONU interface, which is a client unit, participating in the network.

The OLT, which is the server unit, manages the network. The MPCP controls the TDM transmission of the uplink. The MPCP is implemented at the MAC control layer and the MPCP messages are MAC control messages using the 0x8808 Ethertype. These messages are not forwarded out of the MAC.

A concept of time must exist in the protocol in order to schedule the uplink transmission. A timestamp, which is set by the OLT and synchronized between the network units, is passed through the MPCP messages. The timestamp is also used to measure the RTT of each ONU. RTT is compensated by the OLT in the generation of the grants for the uplink transmission. The difference of incoming timestamp to local time allows the OLT to calculate the RTT. RTT compensation is needed as the RTT in an Access network can have a significant value. The standard allows the network to reach a 20 km distance, which is equivalent to a 200 usec RTT (25 Kbytes of data).

The TDM control is done using GATE messages. These messages define, for each ONU, the time for transmission and the length of transmission. The RTT is reduced from the transmission time in the GATE message to shift the transmission time of the ONU in the opposite direction.

A scheduling algorithm at the OLT, which is not defined in the [802.3ah], is responsible for dividing the BW and controlling the transmission delay of each ONU according to its SLA. The MPCP defines a closed loop operation in order for this algorithm to be efficient. The MPCP allows the ONUs to report on the amount of BW they require for transmission using a special REPORT message. This allows allocating BW to an ONU only when requested, relying on the statistical burst property of the traffic, and allowing different peak BW for different ONUs at different times; hence, allowing oversubscription of the BW. The REPORT message reports the amount of data waiting in the ONU queues.

In addition, the MPCP defines a protocol of auto-discovery and registration of ONUs.

The registration process is defined in the diagram below:

      OLT                                          ONU
       |                                            |
       |          Discovery Gate message           \|
       |--------------------------------------------|
       |                                           /|
       |                                            |
       |/         Register Request message          |
       |--------------------------------------------|
       |\                                           |
       |                                            |
       |          Register message                  |
       |           (assigning LLID)                \|
       |--------------------------------------------|
       |                                           /|
       |                                            |
       |               Gate message                \|
       |--------------------------------------------|
       |                                           /|
       |                                            |
       |/         Register ACK message              |
       |--------------------------------------------|
       |\                                           |
       |                                            |
       |                                            |

A new ONU requests to register (sends a REG_REQUEST message) in a special discovery grant, allocated for that by the OLT. During that time, more than one ONU might try to register. A collision in transmission might occur, as the RTT of the new ONUs is not yet known. A random backoff mechanism of the transmission is used to schedule the following registration requests to avoid these collisions. When the OLT receives a REG_REQUEST message of an ONU and approves this ONU, then it sends a REGISTER message to this ONU defining its LLID. From that point, the ONU transmission is scheduled by its LLID, knowing the RTT, and no collision can occur. The ONU replies with a REGISTER_ACK message and the registration process of the MPCP ends. Higher layer protocols may be needed to authenticate the ONU and allow it to participate in the network.

2.2.7. Forward Error Correction (FEC)

The FEC is defined to enhance the link budget of the PON. As each splitter attenuates the optical signal, the number of the splits and the distance are limited by the link budget. Hence an FEC that improves the link budget has a benefit. The FEC code used is the RS(239,255,8), similar to the FEC code in [ITU-T.G.975], improving the BER from 1E-4 to 1E-12.

The FEC parity encapsulation is based on the framing of the Ethernet packet. The Ethernet packets are spaced by MAC rate adaptation, and the parity bytes are inserted after the packet in the provided space.

As the start and end of packet codewords also define the FEC boundaries, and they are outside the FEC protection, they are replaced by a series of symbols to reduce their vulnerability to errors.

The following diagram presents an FEC-protected frame:

   +-------------------------------------------------------------------+
   |       |              |           |     |       |          |       |
   | S_FEC | Preamble/SFD |   Frame   | FCS | T_FEC |  Parity  | T_FEC |
   |       |              |           |     |       |          |       |
   +-------------------------------------------------------------------+

The FEC is added in a separate layer between the PCS and PMA layers of the [802.3].

The FEC layer introduces a fixed delay in receive path and transmit path.

The FEC layer is optional.

2.3. Management Architecture

Each one of the EPON layers is accompanied by a management interface that is controlled through clause 30 of the [802.3ah]. As the [802.3ah] specification may be used for different applications, and some of the clauses may be used separately, the IEEE management clause allocates for each one of them a separate package. The MIB document follows this partition.

The following diagram presents the relation of the MIB groups to the [802.3ah] layers:

   +===========================+
   |       Higher layers       |
   +===========================+
   |       802.1D Bridge       |
   +===========================+
   |MAC client| ... |MAC client|
   +===========================+    \ +=============================+
   |   MAC Control - (MPCP)    |----- |MpcpObjects| ... |MpcpObjects|
   +===========================+    / +=============================+
   |   MAC    | ... |   MAC    |
   +===========================+    \ +=============================+
   |    P2P Emulation (P2PE)   |----- |OmpEmulat  |     |OmpEmulat  |
   +===========================+    / |ionObjects | ... |ionObjects |
             |        |               +=============================+
             |  GMII  |
             |        |
   +===========================+
   |            PCS            |
   +===========================+    \ +=============================+
   |            FEC            |----- |FecObjects | ... |FecObjects |
   +===========================+    / +=============================+
   |            PMA            |
   +===========================+
   |            PMD            |
   +===========================+
             |        |
             |  MDI   |
             |        |
         /===============/
        /     Media     /
       /===============/

The association is straightforward for the ONU interface. There is one logical and one physical interface, and a single copy exists for each layer that can be remotely queried by the OLT.

At the OLT there is a single physical interface and N virtual interfaces for the virtual links of the ONUs (and another virtual interface for the broadcast virtual link). As can be seen from the layering diagram above, the MAC layer is virtually duplicated. Therefore, in this document it was selected that the management of a virtual interface is like a physical interface, an interface index is allocated for each one of the virtual links, and an additional interface index is allocated for the OLT.

To illustrate the interface modeling consider two devices; the first device has two physical interfaces, is typically located at a consumer's site, and is called an "ONU modem".

An "ONU modem" is shown in the figure below:

                            --------
             ONU interface | ONU   | 10 megabit interface
             --------------| modem |--------------------
                           ---------

This device would have 3 entries in the IF table, and one IF stack entry; for example:

ifIndex=1 - interface for 10 megabit interface

ifIndex=2 - interface for the optical interface

ifIndex=200 - interface for the ONU interface

And then in the IF stack table:

ifStackHigherLayer=200, ifStackLowerLayer=2 - map between the physical and the ONU

The second device has three physical interfaces, is typically located at the provider's site, and may be called a "headend".

A "headend" is shown in the figure below:

                               ---------
             1st OLT interface | Head  | gigE interface
             ------------------| end   |--------------------
                               |       |
             ------------------|       |
             2nd OLT interface |       |
                               ---------

This device would have 5 entries (when there are no attached ONUs) in the IF table, for example:

ifIndex=1 - interface for gigE interface

ifIndex=2 - interface for 1st optical interface

ifIndex=3 - interface for 2nd optical interface

ifIndex=265535 - interface for the 1st OLT broadcast interface

ifIndex=365535 - interface for the 2nd OLT broadcast interface

And then in the IF stack table:

ifStackHigherLayer=265535, ifStackLowerLayer=2 - map between the 1st physical and its broadcast interface

ifStackHigherLayer=365535, ifStackLowerLayer=3 - map between the 2nd physical and its broadcast interface

If two ONUs connected to the first OLT interface, then for example, the following entries would be added to the IF table:

ifIndex=200001 - interface for the 1st ONU of 1st OLT

ifIndex=200002 - interface for the 2nd ONU of 1st OLT

And in the IF stack table:

ifStackHigherLayer=200001, ifStackLowerLayer=2 - map between the 1st physical and 1st ONU

ifStackHigherLayer=200002, ifStackLowerLayer=2 - map between the 1st physical and 2nd ONU

For each physical interface, there would be an entry (ifIndex) in the tables of the interface MIB module [RFC2863], MAU MIB module [RFC4836], and Etherlike MIB module [RFC3635]. Additionally, there would be entries (ifIndexes) for the virtual interfaces of the OLT interface. The justification for the additional allocation of indexes is that the virtual interfaces are quite well distinguished, as they connect different physical ONUs from the OLT side. For instance, there is a meaning for separate bad frames counter or bad octets counter for each virtual link, as the ONUs can be differently distanced. This is quite similar to a case of separate physical interfaces.

The same partition concept exists for the MIB module of this document. Each row in the tables are indexed according to the ifIndex; specifically, there is a row for each virtual link. There are some control objects that are shared and are the same for the virtual interfaces (and they should have the same value for each ifIndex), but most of the objects have different values for N+1 logical interfaces at the OLT. This is done for each MIB group. It is a bit different from the [802.3ah] layering diagram, which presents the P2MP layer as a single layer, while duplicating the MAC and MAC client layers (please see the diagram above). However, from a management perspective, it is more convenient and neat to partition the management of the layers for the virtual links, as the atomic managed entity is the virtual link. It is also convenient to use the interface index of the virtual link for that purpose, as it is already used to index the rows of the virtual links at the Interface, MAU, and etherLike interfaces MIBs.

3. MIB Structure

This document defines the DOT3 EPON MIB module. The DOT3 EPON MIB module defines the objects used for management of the [802.3ah] Point-to-Multipoint (P2MP) interfaces. These MIB objects are included in four groups.

i) The Multi-Point Control Protocol (MPCP) MIB objects - MIB objects related to [802.3ah], clause 64, Multi-Point Control Protocol attributes. The following tables are presented in this group:

The dot3MpcpControlTable defines the objects used for the configuration and status indication, which are per logical link, of MPCP compliant interfaces.

The dot3MpcpStatTable defines the statistics objects that are per logical link, of MPCP compliant interfaces.

The operational mode of an OLT/ONU for the tables is defined by the dot3MpcpMode object in the dot3MpcpControlTable.

ii) The OMPEmulation MIB objects - MIB objects related to [802.3ah], clause 65, point-to-point emulation attributes. The following tables are presented in this group:

The dot3OmpEmulationTable defines the objects used for the configuration and status indication, which are per logical links, of OMPEmulation compliant interfaces.

The dot3OmpEmulationStatTable defines the statistics objects that are per logical link, of OMPEmulation compliant interfaces.

The operational mode of an OLT/ONU for the tables is defined by the dot3OmpEmulationType object in the dot3OmpEmulationTable.

iii) The FEC MIB objects - MIB objects related to [802.3ah], clause 60 and clause 65, EPON FEC attributes. The following table is presented in this group:

The dot3EponFecTable defines the objects used for the configuration and status indication, which are per logical link, of FEC EPON compliant interfaces.

iv) The EPON extended package MIB objects - MIB objects used for configuration and status indication with extended capabilities of the EPON interfaces. The following tables are presented in this group:

The dot3ExtPkgControlTable defines the objects, which are per logical link, used for the configuration and status indication of EPON compliant interfaces.

The dot3ExtPkgQueueTable defines the objects, which are per logical link, and per queue, used for the configuration and status indication of the ONU queues reported in the MPCP REPORT message, of EPON compliant interfaces.

The dot3ExtPkgQueueSetsTable defines the objects, which are per logical link, per queue, and per queue_set, used for the configuration and status indication of the ONU queue_sets reported in the MPCP REPORT message, of EPON compliant interfaces.

The dot3ExtPkgOptIfTable defines the objects, which are per logical link, used for the control and status indication of the optical interface of EPON compliant interfaces.

As described in the architecture section, each row in the tables is indexed according to the ifIndex; specifically, there is a row for each virtual link. There are a few control objects that are shared and have the same value for the virtual interfaces (and they should have the same value for each ifIndex), but most of the objects have different values for N+1 logical interfaces at the OLT. This is done for each MIB group. It is a bit different from the [802.3ah] layering diagram, which presents the P2MP layer as a single layer while duplicating the MAC and MAC client layers. However, from a management perspective, it is more convenient and neat to partition the management of the layers for the virtual links, as the atomic managed entity is the virtual link. It is also convenient to use the interface index of the virtual link for that purpose, as it is already used to index the rows of the virtual links at the Interface, MAU, and etherLike interfaces MIBs.

For example, provided below are the values of the MPCP control table of an OLT with 3 registered ONUs:

The table below presents the MPCP control table of ONU1 in working mode. A single row exists in the table.

              +---------------------------+-----------------+
              | MPCP control MIB object   | Value           |
              +---------------------------+-----------------+
              | ifIndex                   | 100             |
              | dot3MpcpOperStatus        | true            |
              | dot3MpcpAdminState        | true            |
              | dot3MpcpMode              | onu             |
              | dot3MpcpSyncTime          | 25              |
              | dot3MpcpLinkID            | 1               |
              | dot3MpcpRemoteMACAddress  | OLT_MAC_Address |
              | dot3MpcpRegistrationState | registered      |
              | dot3MpcpTransmitElapsed   | 10              |
              | dot3MpcpReceiveElapsed    | 10              |
              | dot3MpcpRoundTripTime     | 100             |
              +---------------------------+-----------------+

Table 1

OLT_MAC_Address is the MAC address of the OLT EPON interface.

The creation of the rows of the ONU interface is done at initialization.

For example, provided below are the values for the MPCP control table of the ONU, after initialization, before registration.

The table below presents the MPCP control table of ONU1 after initialization. A single row exists in the table.

             +---------------------------+-------------------+
             | MPCP control MIB object   | Value             |
             +---------------------------+-------------------+
             | ifIndex                   | 100               |
             | dot3MpcpOperStatus        | true              |
             | dot3MpcpAdminState        | true              |
             | dot3MpcpMode              | onu               |
             | dot3MpcpSyncTime          | 0                 |
             | dot3MpcpLinkID            | 0                 |
             | dot3MpcpRemoteMACAddress  | 00:00:00:00:00:00 |
             | dot3MpcpRegistrationState | unregistered      |
             | dot3MpcpTransmitElapsed   | 0                 |
             | dot3MpcpReceiveElapsed    | 0                 |
             | dot3MpcpRoundTripTime     | 0                 |
             +---------------------------+-------------------+

Table 2

The table below presents the MPCP control table of the OLT in working mode. Four rows exist in the table associated with the virtual links.

   +----------------+-----------+------------+------------+------------+
   | MPCP control   | Value     | Value      | Value      | Value      |
   | MIB object     |           |            |            |            |
   +----------------+-----------+------------+------------+------------+
   | ifIndex        | 100001    | 100002     | 100003     | 165535     |
   | dot3MpcpOperSt | true      | true       | true       | true       |
   | atus           |           |            |            |            |
   | dot3MpcpAdminS | true      | true       | true       | true       |
   | tate           |           |            |            |            |
   | dot3MpcpMode   | olt       | olt        | olt        | olt        |
   | dot3MpcpSyncTi | 25        | 25         | 25         | 25         |
   | me             |           |            |            |            |
   | dot3MpcpLinkID | 1         | 2          | 3          | 65535      |
   | dot3MpcpRemote | ONU1_MAC_ | ONU2_MAC_A | ONU3_MAC_A | BRCT_MAC_A |
   | MACAddress     | Address   | ddress     | ddress     | ddress     |
   | dot3MpcpRegist | registere | registered | registered | registered |
   | rationState    | d         |            |            |            |
   | dot3MpcpTransm | 10        | 10         | 10         | 10         |
   | itElapsed      |           |            |            |            |
   | dot3MpcpReceiv | 10        | 10         | 10         | 10         |
   | eElapsed       |           |            |            |            |
   | dot3MpcpRoundT | 100       | 60         | 20         | 0          |
   | ripTime        |           |            |            |            |
   +----------------+-----------+------------+------------+------------+

Table 3

ONU1_MAC_Address is the MAC address of ONU1 EPON interface.

ONU2_MAC_Address is the MAC address of ONU2 EPON interface.

ONU3_MAC_Address is the MAC address of ONU3 EPON interface.

BRCT_MAC_Address is the MAC address of the broadcast EPON interface, which is the OLT MAC address.

The creation of the rows of the OLT interface and the broadcast virtual interface is done at initialization.

The creation of rows of the virtual interfaces at the OLT is done when the link is established (ONU registers) and the deletion is done when the link is deleted (ONU deregisters).

For example, provided below are the values of the MPCP control table of the OLT after initialization, before the ONUs register.

The table below presents the MPCP control table of the OLT after initialization. A single row exists in this table associated with the virtual broadcast link.

             +---------------------------+------------------+
             | MPCP control MIB object   | Value            |
             +---------------------------+------------------+
             | ifIndex                   | 165535           |
             | dot3MpcpOperStatus        | true             |
             | dot3MpcpAdminState        | true             |
             | dot3MpcpMode              | olt              |
             | dot3MpcpSyncTime          | 25               |
             | dot3MpcpLinkID            | 65535            |
             | dot3MpcpRemoteMACAddress  | BRCT_MAC_Address |
             | dot3MpcpRegistrationState | registered       |
             | dot3MpcpTransmitElapsed   | 10               |
             | dot3MpcpReceiveElapsed    | 100000           |
             | dot3MpcpRoundTripTime     | 0                |
             +---------------------------+------------------+

Table 4

BRCT_MAC_Address is the MAC address of the broadcast EPON interface, which is the OLT MAC address.

4. Relation to Other MIB Modules

4.1. Relation to the Interfaces MIB and Ethernet-like Interfaces MIB

EPON interface is a kind of Ether-like interface. This MIB module extends the objects of the Interface MIB and the Ether-like Interfaces MIB for an EPON type interface.

Implementing this module therefore MUST require implementation of the Interfaces MIB module [RFC2863] and the Ethernet-like Interfaces MIB module [RFC3635].

Thus, each managed EPON interface would have a corresponding entry in the mandatory tables of the Ether-like MIB module found in [RFC3635], and likewise in the tables of the Interface MIB module found in [RFC2863]. Also each managed virtual EPON interface would have a corresponding entry in the mandatory tables of the Ether-like MIB module found in [RFC3635], and likewise in the tables of the Interface MIB module found in [RFC2863] with a dedicated ifIndex for this interface.

In this document, there is no replication of the objects from these MIBs. Therefore, for instance, the document is defining dot3MpcpRemoteMACAddress only while assuming that the local MAC address object is already defined in [RFC3635].

The interface MIB module [RFC2863] defines the interface index (ifIndex). Interface Index, as specified in [RFC2863], is used in this MIB Module as an index to the EPON MIB tables. The ifIndex is used to denote the physical interface and the virtual link interfaces at the OLT. The OLT interface and the virtual link interfaces are stacked using the ifStack table defined in [RFC2863], and the ifInvStack defined in [RFC2864]. The OLT interface is the lower layer of all other interfaces associated with the virtual links.

This document defines the specific EPON objects of an ONU interface and an OLT interface. Information in the tables is per LLID. The rows in the EPON MIB tables referring to the LLIDs are denoted with the corresponding ifIndexes of the virtual link interfaces.

Please note that each virtual interface does not have a different physical MAC address at the OLT, as the physical interface is the same. It is specified in the [802.3ah], Section 64.1.2. The corresponding object of the Ether-like interface MIB is duplicated for all the virtual interfaces.

For example, the values of the Interface MIB objects are presented in the following tables, for an OLT with 3 registered ONUs:

The table below presents the objects of the Interface MIB of an ONU in working mode.

         +----------------------+--------------------------------+
         | Interface MIB object | Value                          |
         +----------------------+--------------------------------+
         | ifIndex              | 1                              |
         | ifDescr              | "interface description"        |
         | ifType               | ethernetCsmacd (6) 1000base-Px |
         | ifMtu                | MTU size (1522)                |
         | ifSpeed              | 1000000000                     |
         | ifPhysAddress        | ONU_MAC_Address                |
         | ifAdminStatus        | up                             |
         | ifOperStatus         | Up                             |
         | ifLastChange         | ONUup_time                     |
         | ifInOctets           | ONU_octets_number              |
         | ifInUcastPkts        | ONU_unicast_frame_number       |
         | ifInNUcastPkts       | ONU_non_unicast_frame_number   |
         | ifInDiscards         | ONU_discard_frame_number       |
         | ifInErrors           | ONU_error_frame_number         |
         | ifInUnknownProtos    | ONU_unknown_frame_number       |
         | ifOutOctets          | ONU_octets_number              |
         | ifOutUcastPkts       | ONU_unicast_frame_number       |
         | ifOutNUcastPkts      | ONU_non_unicast_frame_number   |
         | ifOutDiscards        | ONU_discard_frame_number       |
         | ifOutErrors          | ONU_error_frame_number         |
         | ifOutQLen            | ONU_queue_frame_number         |
         +----------------------+--------------------------------+

Table 5

ONU_MAC_Address is the MAC address of the ONU EPON interface.

The table below presents the objects of the Interface MIB of the ONU interface.

         +----------------------+--------------------------------+
         | Interface MIB object | Value                          |
         +----------------------+--------------------------------+
         | ifIndex              | 100                            |
         | ifDescr              | "interface description"        |
         | ifType               | ethernetCsmacd (6) 1000base-Px |
         | ifMtu                | MTU size (1522)                |
         | ifSpeed              | 1000000000                     |
         | ifPhysAddress        | ONU_MAC_Address                |
         | ifAdminStatus        | up                             |
         | ifOperStatus         | Up                             |
         | ifLastChange         | up_time                        |
         | ifInOctets           | ONU1_octets_number             |
         | ifInUcastPkts        | ONU1_unicast_frame_number      |
         | ifInNUcastPkts       | ONU1_non_unicast_frame_number  |
         | ifInDiscards         | ONU1_discard_frame_number      |
         | ifInErrors           | ONU1_error_frame_number        |
         | ifInUnknownProtos    | ONU1_unknown_frame_number      |
         | ifOutOctets          | ONU1_octets_number             |
         | ifOutUcastPkts       | ONU1_unicast_frame_number      |
         | ifOutNUcastPkts      | ONU1_non_unicast_frame_number  |
         | ifOutDiscards        | ONU1_discard_frame_number      |
         | ifOutErrors          | ONU1_error_frame_number        |
         | ifOutQLen            | ONU1_queue_frame_number        |
         +----------------------+--------------------------------+

Table 6

ONU_MAC_Address is the MAC address of the ONU EPON interface.

The following values will be set in the ifStack and ifInvStack tables related to this example.

ifStackTable:

ifStackHigherLayer=100, ifStackLowerLayer=1 - map between the physical interface and the ONU

ifInvStackTable:

ifStackLowerLayer=1, ifStackHigherLayer=100,- map between the ONU and the physical interface

The table below presents the Interface MIB objects of an OLT interface.

         +----------------------+--------------------------------+
         | Interface MIB object | Value                          |
         +----------------------+--------------------------------+
         | ifIndex              | 2                              |
         | ifDescr              | "interface description"        |
         | ifType               | ethernetCsmacd (6) 1000base-Px |
         | ifMtu                | MTU size (1522)                |
         | ifSpeed              | 1000000000                     |
         | ifPhysAddress        | OLT_MAC_Address                |
         | ifAdminStatus        | up                             |
         | ifOperStatus         | Up                             |
         | ifLastChange         | OLTup_time                     |
         | ifInOctets           | OLT_octets_number              |
         | ifInUcastPkts        | OLT_unicast_frame_number       |
         | ifInNUcastPkts       | OLT_non_unicast_frame_number   |
         | ifInDiscards         | OLT_discard_frame_number       |
         | ifInErrors           | OLT_error_frame_number         |
         | ifInUnknownProtos    | OLT_unknown_frame_number       |
         | ifOutOctets          | OLT_octets_number              |
         | ifOutUcastPkts       | OLT_unicast_frame_number       |
         | ifOutNUcastPkts      | OLT_non_unicast_frame_number   |
         | ifOutDiscards        | OLT_discard_frame_number       |
         | ifOutErrors          | OLT_error_frame_number         |
         | ifOutQLen            | OLT_queue_frame_number         |
         +----------------------+--------------------------------+

Table 7

OLT_MAC_Address is the MAC address of the OLT EPON interface.

The table below presents the Interface MIB objects of an OLT interface, associated with the virtual link interfaces.

   +----------+-------------+-------------+-------------+--------------+
   | Interfac | Value       | Value       | Value       | Value        |
   | eMIB     |             |             |             |              |
   |  object  |             |             |             |              |
   +----------+-------------+-------------+-------------+--------------+
   | ifIndex  | 200001      | 200002      | 200003      | 265535       |
   | ifDescr  | "interface  | "interface  | "interface  | "interface   |
   |          | description | description | description | description" |
   |          | "           | "           | "           |              |
   | ifType   | ethernetCsm | ethernetCsm | ethernetCsm | ethernetCsma |
   |          | acd (6)     | acd (6)     | acd (6)     | cd (6)       |
   | ifMtu    | MTUsize(152 | MTUsize(152 | MTUsize(152 | MTUsize(1522 |
   |          | 2)          | 2)          | 2)          | )            |
   | ifSpeed  | 1000000000  | 1000000000  | 1000000000  | 1000000000   |
   | ifPhysAd | OLT_MAC_Add | OLT_MAC_Add | OLT_MAC_Add | OLT_MAC_Addr |
   | dress    | ress        | ress        | ress        | ess          |
   | ifAdminS | up          | up          | up          | up           |
   | tatus    |             |             |             |              |
   | ifOperSt | Up          | Up          | Up          | Up           |
   | atus     |             |             |             |              |
   | ifLastCh | ONU1_up_tim | ONU2_up_tim | ONU3_up_tim | up_time      |
   | ange     | e           | e           | e           |              |
   | ifInOcte | ONU1_octets | ONU2_octets | ONU3_octets | BRCT_octets_ |
   | ts       | _number     | _number     | _number     | number       |
   | ifInUcas | ONU1_unic_f | ONU2_unic_f | ONU3_unic_f | BRCT_unic_fr |
   | tPkts    | rame_num    | rame_num    | rame_num    | ame_num      |
   | ifInNUca | ONU1_non_un | ONU2_non_un | ONU3_non_un | BRCT_non_uni |
   | stPkts   | ic_frame_nu | ic_frame_nu | ic_frame_nu | c_frame_num  |
   |          | m           | m           | m           |              |
   | ifInDisc | ONU1_disc_f | ONU2_disc_f | ONU3_disc_f | BRCT_disc_fr |
   | ards     | rame_num    | rame_num    | rame_num    | ame_numr     |
   | ifInErro | ONU1_err_fr | ONU2_err_fr | ONU3_err_fr | BRCT_err_fra |
   | rs       | ame_num     | ame_num     | ame_num     | me_num       |
   | ifInUnkn | ONU1_unknw_ | ONU2_unknw_ | ONU3_unknw_ | BRCT_unknw_f |
   | ownProto | frame_num   | frame_num   | frame_num   | rame_num     |
   | s        |             |             |             |              |
   | ifOutOct | ONU1_octets | ONU2_octets | ONU3_octets | BRCT_octets_ |
   | ets      | _number     | _number     | _number     | number       |
   | ifOutUca | ONU1_unic_f | ONU2_unic_f | ONU3_unic_f | BRCT_unic_fr |
   | stPkts   | rame_num    | rame_num    | rame_num    | ame_num      |
   | ifOutNUc | ONU1_non_un | ONU2_non_un | ONU3_non_un | BRCT_non_uni |
   | astPkts  | ic_frame_nu | ic_frame_nu | ic_frame_nu | c_frame_num  |
   |          | m           | m           | m           |              |
   
   +----------+-------------+-------------+-------------+--------------+
   | Interfac | Value       | Value       | Value       | Value        |
   | eMIB     |             |             |             |              |
   |  object  |             |             |             |              |
   +----------+-------------+-------------+-------------+--------------+
   | ifOutDis | ONU1_disc_f | ONU2_disc_f | ONU3_disc_f | BRCT_disc_fr |
   | cards    | rame_num    | rame_num    | rame_num    | ame_num      |
   | ifOutErr | ONU1_err_fr | ONU2_err_fr | ONU3_err_fr | BRCT_err_fra |
   | ors      | ame_num     | ame_num     | ame_num     | me_num       |
   | ifOutQLe | ONU1_queue_ | ONU2_queue_ | ONU3_queue_ | BRCt_queue_f |
   | n        | frame_num   | frame_num   | frame_num   | rame_num     |
   +----------+-------------+-------------+-------------+--------------+

Table 8

OLT_MAC_Address is the MAC address of the OLT EPON interface.

The following values will be set in the ifStack and ifInvStack tables related to this example:

ifStackTable:

ifStackHigherLayer=265535, ifStackLowerLayer=2 - map between the OLT physical interface and its broadcast virtual interface

ifStackHigherLayer=200001, ifStackLowerLayer=2 - map between the OLT physical interface and its virtual interface of the 1st ONU

ifStackHigherLayer=200002, ifStackLowerLayer=2 - map between the OLT physical interface and its virtual interface of the 2nd ONU

ifStackHigherLayer=200003, ifStackLowerLayer=2 - map between the OLT physical interface and its virtual interface of the 3rd ONU

ifInvStackTable:

ifStackLowerLayer=2, ifStackHigherLayer=265535, - map between the broadcast interface of the OLT and the OLT physical interface

ifStackLowerLayer=2, ifStackHigherLayer=200001 - map between the OLT virtual interface of the 1st ONU and the OLT physical interface

ifStackLowerLayer=2, ifStackHigherLayer=200002 - map between the OLT virtual interface of the 2nd ONU and the OLT physical interface

ifStackLowerLayer=2, ifStackHigherLayer=200003 - map between the OLT virtual interface of the 3rd ONU and the OLT physical interface

The rows for the ONU interface, the OLT interface, and the OLT broadcast interface are created in initialization.

The creation of a row for a virtual link is done when the virtual link is established (ONU registers), and deletion is done when the virtual link is deleted (ONU deregisters).

The EPON MIB module also extends the Interface MIB module with a set of counters, which are specific for the EPON interface. The EPON MIB module implements the same handling of the counters when the operation of the interface starts or stops. The interface MIB document describes the possible behavior of counters when an interface is re-initialized using the ifCounterDiscontinuityTime indicator, indicating the discontinuity of the counters. Please see [RFC2863], Section 3.1.5, page 11 for more information. The counters of the EPON MIB should be handled in a similar manner.

4.2. Relation to the IEEE 802.3 MAU MIBs

The MAU types of the EPON Interface are defined in the amended MAU MIB document. This document assumes the implementation of the MAU MIB for this purpose and does not repeat the EPON MAU types. Therefore, implementing this module MUST require implementation of the MAU-MIB module [RFC4836].

The handling of the ifMAU tables for the EPON case is similar to the handling described in the former section for the Interface and Ether- like interface MIBs. A single row exists for the ONU in the ifMauTable. A row for each virtual link (N+1 rows) exists at the OLT, with a separate value of ifMauIfIndex for each virtual link.

As specified above, the rows for the ONU interface, the OLT interface, and the OLT broadcast interface are created in initialization.

The creation of a row for a virtual link is done when the virtual link is established (ONU registers), and deletion is done when the virtual link is deleted (ONU deregisters).

4.3. Relation to the EFM OAM MIB

The EPON interfaces are aimed to the optical access networks and most probably will be accompanied with the implementation of the OAM section of the [802.3ah]. Therefore, the EFM OAM MIB module [RFC4878] MAY be implemented when this MIB module is implemented defining managed objects for the OAM layer that are complementary to the EFM EPON MIB module. As the OAM is defined for a point-to-point link it is implemented in this case using the virtual links that are defined for the P2MP network, so that an instance is held for each Logical Link Identifier (LLID) of the EPON. The corresponding ifIndex of the virtual link is used as the ifIndex of the tables of the OAM MIB module for this purpose.

4.4. Relation to the Bridge MIB

It is very probable that an EPON OLT will implement a bridging functionality above the EPON interface layer, bridging between the EPON users and the network. Bridge functionality is specified at [802.1d]. In this scenario, the virtual ports of the EPON are corresponding to the virtual bridge ports. There is a direct mapping between the bridge ports and the LLIDs, which are virtual EPON channels.

Therefore, the bridge MIB modules ([RFC4188] and [RFC1525]) MAY be implemented when the EFM EPON MIB module is implemented for an EPON OLT, defining managed objects for the bridge layer.

The values of dot1dBasePortIfIndex would correspond to the ifIndex of the virtual port (1 for LLID1, 2 for LLID2, etc.).

The broadcast virtual EPON interface of the OLT has no direct mapping to a virtual bridge port as it is not port specific but used for broadcast traffic.

5. Mapping of IEEE 802.3ah Managed Objects

This section contains the mapping between the managed objects defined in this document and the attributes defined in [802.3ah], clause 30. The tables are divided into relevant groups.

oMPCP managed object class (30.3.5)

   +----------------------------+-------------------------+------------+
   | dot3EPON MIB module object | IEEE802.3ah attribute   | Reference  |
   +----------------------------+-------------------------+------------+
   | ifIndex                    | aMPCPID                 | 30.3.5.1.1 |
   | dot3MpcpOperStatus         | aMPCPAdminState         | 30.3.5.1.2 |
   | dot3MpcpMode               | aMPCPMode               | 30.3.5.1.3 |
   | dot3MpcpLinkID             | aMPCPLinkID             | 30.3.5.1.4 |
   | dot3MpcpRemoteMACAddress   | aMPCPRemoteMACAddress   | 30.3.5.1.5 |
   | dot3MpcpRegistrationState  | aMPCPRegistrationState  | 30.3.5.1.6 |
   | dot3MpcpMACCtrlFramesTrans | aMPCPMACCtrlFramesTrans | 30.3.5.1.7 |
   | mitted                     | mitted                  |            |
   | dot3MpcpMACCtrlFramesRecei | aMPCPMACCtrlFramesRecei | 30.3.5.1.8 |
   | ved                        | ved                     |            |
   | dot3MpcpTxGate             | aMPCPTxGate             | 30.3.5.1.9 |
   | dot3MpcpTxRegAck           | aMPCPTxRegAck           | 30.3.5.1.1 |
   |                            |                         | 0          |
   | dot3MpcpTxRegister         | aMPCPTxRegister         | 30.3.5.1.1 |
   |                            |                         | 1          |
   | dot3MpcpTxRegRequest       | aMPCPTxRegRequest       | 30.3.5.1.1 |
   |                            |                         | 2          |
   | dot3MpcpTxReport           | aMPCPTxReport           | 30.3.5.1.1 |
   |                            |                         | 3          |
   | dot3MpcpRxGate             | aMPCPRxGate             | 30.3.5.1.1 |
   |                            |                         | 4          |
   | dot3MpcpRxRegAck           | aMPCPRxRegAck           | 30.3.5.1.1 |
   |                            |                         | 5          |
   | dot3MpcpRxRegister         | aMPCPRxRegister         | 30.3.5.1.1 |
   |                            |                         | 6          |
   | dot3MpcpRxRegRequest       | aMPCPRxRegRequest       | 30.3.5.1.1 |
   |                            |                         | 7          |
   | dot3MpcpRxReport           | aMPCPRxReport           | 30.3.5.1.1 |
   |                            |                         | 8          |
   | dot3MpcpTransmitElapsed    | aMPCPTransmitElapsed    | 30.3.5.1.1 |
   |                            |                         | 9          |
   | dot3MpcpReceiveElapsed     | aMPCPReceiveElapsed     | 30.3.5.1.2 |
   |                            |                         | 0          |
   | dot3MpcpRoundTripTime      | aMPCPRoundTripTime      | 30.3.5.1.2 |
   |                            |                         | 1          |
   | dot3MpcpDiscoveryWindowsSe | aMPCPDiscoveryWindowsSe | 30.3.5.1.2 |
   | nt                         | nt                      | 2          |
   +----------------------------+-------------------------+------------+
   | dot3EPON MIB module object | IEEE802.3ah attribute   | Reference  |
   +----------------------------+-------------------------+------------+
   | dot3MpcpDiscoveryTimeout   | aMPCPDiscoveryTimeout   | 30.3.5.1.2 |
   |                            |                         | 3          |
   | dot3MpcpMaximumPendingGran | aMPCPMaximumPendingGran | 30.3.5.1.2 |
   | ts                         | ts                      | 4          |
   | dot3MpcpAdminState         | aMPCPAdminControl       | 30.3.5.2.1 |
   | dot3MpcpSyncTime           | SyncTime                | 64.3.3.2   |
   +----------------------------+-------------------------+------------+

Table 9

oOMPEmulation managed object class (30.3.7)

   +-------------------------------------+-----------------+-----------+
   | dot3EPON MIB module object          | IEEE802.3ah     | Reference |
   |                                     | attribute       |           |
   +-------------------------------------+-----------------+-----------+
   | ifIndex                             | aOMPEmulationID | 30.3.7.1. |
   |                                     |                 | 1         |
   | dot3OmpEmulationType                | aOMPEmulationTy | 30.3.7.1. |
   |                                     | pe              | 2         |
   | dot3OmpEmulationSLDErrors           | aSLDErrors      | 30.3.7.1. |
   |                                     |                 | 3         |
   | dot3OmpEmulationCRC8Errors          | aCRC8Errors     | 30.3.7.1. |
   |                                     |                 | 4         |
   | dot3OmpEmulationGoodLLID            | aGoodLLID       | 30.3.7.1. |
   |                                     |                 | 5         |
   | dot3OmpEmulationOnuPonCastLLID      | aONUPONcastLLID | 30.3.7.1. |
   |                                     |                 | 6         |
   | dot3OmpEmulationOltPonCastLLID      | aOLTPONcastLLID | 30.3.7.1. |
   |                                     |                 | 7         |
   | dot3OmpEmulationBadLLID             | aBadLLID        | 30.3.7.1. |
   |                                     |                 | 8         |
   | dot3OmpEmulationBroadcastBitNotOnuL |                 |           |
   | Lid                                 |                 |           |
   | dot3OmpEmulationOnuLLIDNotBroadcast |                 |           |
   | dot3OmpEmulationBroadcastBitPlusOnu |                 |           |
   | Llid                                |                 |           |
   | dot3OmpEmulationNotBroadcastBitNotO |                 |           |
   | nuLlid                              |                 |           |
   +-------------------------------------+-----------------+-----------+

Table 10

oMAU managed object class (30.5.1)

   +--------------------------------+---------------------+------------+
   | dot3EPON MIB module object     | IEEE802.3ah         | Reference  |
   |                                | attribute           |            |
   +--------------------------------+---------------------+------------+
   | dot3EponFecPCSCodingViolation  | aPCSCodingViolation | 30.5.1.1.1 |
   |                                |                     | 2          |
   | dot3EponFecAbility             | aFECAbility         | 30.5.1.1.1 |
   |                                |                     | 3          |
   | dot3EponFecMode                | aFECmode            | 30.5.1.1.1 |
   |                                |                     | 4          |
   | dot3EponFecCorrectedBlocks     | aFECCorrectedBlocks | 30.5.1.1.1 |
   |                                |                     | 5          |
   | dot3EponFecUncorrectableBlocks | aFECUncorrectableBl | 30.5.1.1.1 |
   |                                | ocks                | 6          |
   | dot3EponFecBufferHeadCodingVio |                     |            |
   | lation                         |                     |            |
   +--------------------------------+---------------------+------------+

Table 11

6. Definitions - The DOT3 EPON MIB Module

DOT3-EPON-MIB DEFINITIONS ::= BEGIN

IMPORTS

         MODULE-IDENTITY, mib-2, OBJECT-TYPE, Counter32,
         Integer32, Unsigned32, Counter64
             FROM SNMPv2-SMI
         TruthValue, MacAddress
             FROM SNMPv2-TC
         ifIndex
             FROM IF-MIB
         MODULE-COMPLIANCE, OBJECT-GROUP
             FROM SNMPv2-CONF
         ;

dot3EponMIB MODULE-IDENTITY

    LAST-UPDATED "200703290000Z"  -- March 29, 2007
    ORGANIZATION "IETF Ethernet Interfaces and Hub MIB Working
                 Group"
    CONTACT-INFO
                 "WG charter:
              http://www.ietf.org/html.charters/hubmib-charter.html
                  Mailing Lists:
                    General Discussion: hubmib@ietf.org
                    To Subscribe: hubmib-request@ietf.org
                    In Body: subscribe your_email_address
                    Chair: Bert Wijnen
                    Postal: Lucent Technologies
                            Schagen 33
                            3461 GL Linschoten
                            Netherlands
                    Tel: +31-348-407-775
                    E-mail: bwijnen@lucent.com
    
                    Editor: Lior Khermosh
                    Postal: PMC-SIERRA
                            Kohav Hertzelia bldg,
                            4 Hasadnaot St.
                            Hertzliya Pituach 46120,
                            ISRAEL
                            P.O.Box 2089 Hertzliya Pituach 46120 Israel
                    Tel: +972-9-9628000 Ext: 302
                    E-mail: lior_khermosh@pmc-sierra.com"
    DESCRIPTION
            "The objects in this MIB module are used to manage the
             Ethernet in the First Mile (EFM) Ethernet Passive Optical
             Network (EPON) Interfaces as defined in IEEE P802.3ah
             clauses 60, 64, and 65.
         The following reference is used throughout this MIB module:
           [802.3ah] refers to:
             Information technology - Telecommunications and
             information exchange between systems - Local and
             metropolitan area networks - Specific requirements -
             Part 3: Carrier sense multiple access with collision
             detection (CSMA/CD) access method and physical layer
             specifications - Media Access Control Parameters,
             Physical Layers and Management Parameters for subscriber
             access networks.  IEEE Std 802.3ah-2004, October 2004.

Of particular interest are clause 64 (Multi-Point Control Protocol - MPCP), clause 65 (Point-to-Multipoint Reconciliation Sublayer - P2MP RS), clause 60 (Ethernet Passive Optical Network Physical Medium Dependent - EPON PMDs), clause 30, 'Management', and clause 45, 'Management Data Input/Output (MDIO) Interface'.

Copyright © The IETF Trust (2007). This version of this MIB module is part of 4837; see the RFC itself for full legal notices.

Key abbreviations:

BER - Bit Error Rate
BW - bandwidth

            CRC - Cyclic Redundancy Check
            EFM - Ethernet First Mile
            EPON - Ethernet Passive Optical Network
            FEC  - Forward Error Correction
            LLID - Logical Link Identifier
            MAC - Media Access Control
            Mbps - Megabit per second
            MDIO - Management Data Input/Output
            MPCP - Multi-Point Control Protocol
            OLT - Optical Line Terminal (Server unit of the EPON)
            OMP - Optical Multi-Point
            ONU - Optical Network Unit (Client unit of the EPON)
            P2MP - Point-to-Multipoint
            PHY - Physical Layer
            PMD - Physical Medium Dependent
            PON - Passive Optical Network
            RTT - Round Trip Time
            SLD - Start of LLID Delimiter
            TQ - Time Quanta
          "
    
    REVISION    "200703290000Z"  -- March 29, 2007
    DESCRIPTION "Initial version, published as RFC 4837."
    
    ::= { mib-2 155 }

dot3EponObjects OBJECT IDENTIFIER ::= { dot3EponMIB 1}

dot3EponConformance OBJECT IDENTIFIER ::= { dot3EponMIB 2}

-- MPCP MIB modules definitions ([802.3ah], clause 30.3.5)

dot3EponMpcpObjects

OBJECT IDENTIFIER ::= { dot3EponObjects 1 }

dot3MpcpControlTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF Dot3MpcpControlEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A Table of dot3 Multi-Point Control Protocol (MPCP)
             MIB objects.  The entries in the table are control and
             status objects of the MPCP.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
    
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
    ::= { dot3EponMpcpObjects 1 }

dot3MpcpControlEntry OBJECT-TYPE

    SYNTAX  Dot3MpcpControlEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "An entry in the dot3 MPCP Control table.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual links is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex }
    ::= { dot3MpcpControlTable 1}

Dot3MpcpControlEntry ::=

    SEQUENCE {
        dot3MpcpOperStatus                   TruthValue,
        dot3MpcpAdminState                   TruthValue,
        dot3MpcpMode                         INTEGER,
        dot3MpcpSyncTime                     Unsigned32,
        dot3MpcpLinkID                       Unsigned32,
        dot3MpcpRemoteMACAddress             MacAddress,
        dot3MpcpRegistrationState            INTEGER,
        dot3MpcpTransmitElapsed              Unsigned32,
        dot3MpcpReceiveElapsed               Unsigned32,
        dot3MpcpRoundTripTime                Unsigned32,
        dot3MpcpMaximumPendingGrants         Unsigned32
    }

dot3MpcpOperStatus OBJECT-TYPE

    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "This object reflects the operational state of the
             Multi-Point MAC Control sublayer as defined in
    
             [802.3ah], clause 64.  When the value is true(1), the
             interface will act as if the Multi-Point Control Protocol
             is enabled.  When the value is false(2), the interface
             will act as if the Multi-Point Control Protocol is
             disabled.  The operational state can be changed using the
             dot3MpcpAdminState object.
             This object is applicable for an OLT, with the same
             value for all virtual interfaces, and for an ONU."
    REFERENCE   "[802.3ah], 30.3.5.1.2."
    ::= { dot3MpcpControlEntry 1 }

dot3MpcpAdminState OBJECT-TYPE

    SYNTAX  TruthValue
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "This object is used to define the admin state of the
             Multi-Point MAC Control sublayer, as defined in
             [802.3ah], clause 64, and to reflect its state.
             When selecting the value as true(1), the Multi-Point
             Control Protocol of the interface is enabled.
             When selecting the value as false(2), the Multi-Point
             Control Protocol of the interface is disabled.
             This object reflects the administrative state of the
             Multi-Point Control Protocol of the interface.
             The write operation is not restricted in this document
             and can be done at any time.  Changing
             dot3MpcpAdminState state can lead to disabling the
             Multi-Point Control Protocol on the respective interface,
             leading to the interruption of service for the users
             connected to the respective EPON interface.
             This object is applicable for an OLT, with the same
             value for all virtual interfaces, and for an ONU."
    REFERENCE   "[802.3ah], 30.3.5.2.1."
    DEFVAL { false }
    ::= { dot3MpcpControlEntry 2 }

dot3MpcpMode  OBJECT-TYPE
    SYNTAX  INTEGER {
            olt(1),
            onu(2)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "This object is used to identify the operational
             state of the Multi-Point MAC Control sublayer as
             defined in [802.3ah], clause 64.  Reading olt(1) for an
             OLT (server) mode and onu(2) for an ONU (client) mode.
             This object is used to identify the operational mode
             for the MPCP tables.
             This object is applicable for an OLT, with the same
             value for all virtual interfaces, and for an ONU."
    REFERENCE   "[802.3ah], 30.3.5.1.3."
    DEFVAL { olt }
    ::= { dot3MpcpControlEntry 3 }

dot3MpcpSyncTime OBJECT-TYPE

    SYNTAX  Unsigned32
    UNITS       "TQ (16nsec)"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that reports the 'sync lock time' of the
             OLT receiver in increments of Time Quanta (TQ)-16ns
             as defined in [802.3ah], clauses 60, 64, and 65.  The
             value returned shall be (sync lock time ns)/16.  If
             this value exceeds (2^32-1), the value (2^32-1) shall
             be returned.  This object is applicable for an OLT,
             with the same value for all virtual interfaces, and
             for an ONU."
    REFERENCE   "[802.3ah], 64.3.3.2."
   ::= { dot3MpcpControlEntry 4 }

dot3MpcpLinkID OBJECT-TYPE

    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that identifies the Logical Link
             Identifier (LLID) associated with the MAC of the virtual
             link as specified in [802.3ah], clause 65.1.3.2.2.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             The ONU and the corresponding virtual MAC of the OLT,
             for the same virtual link, have the same value.
             Value is assigned when the ONU registers.
             Value is freed when the ONU deregisters."
    REFERENCE   "[802.3ah], 30.3.5.1.4."
    ::= { dot3MpcpControlEntry 5 }

dot3MpcpRemoteMACAddress OBJECT-TYPE

    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that 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 [802.3], Annex
             31A; 2) the lengthOrType field value equal to the reserved
             Type for MAC Control as specified in [802.3], Annex
             31A; 3) an MPCP subtype value equal to the subtype
             reserved for MPCP as specified in [802.3ah], Annex 31A.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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   "[802.3ah], 30.3.5.1.5."
    ::= { dot3MpcpControlEntry 6 }

dot3MpcpRegistrationState OBJECT-TYPE

    SYNTAX  INTEGER {
            unregistered(1),
            registering(2),
            registered(3)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that identifies the registration state
             of the Multi-Point MAC Control sublayer as defined in
             [802.3ah], clause 64.  When this object has the
             enumeration unregistered(1), the interface is
             unregistered and may be used for registering a link
             partner.  When this object has the enumeration
             registering(2), the interface is in the process of
             registering a link-partner.  When this object has the
             enumeration registered(3), the interface has an
             established link-partner.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface."
    REFERENCE   "[802.3ah], 30.3.5.1.6."
    ::= { dot3MpcpControlEntry 7 }

dot3MpcpTransmitElapsed OBJECT-TYPE

    SYNTAX  Unsigned32
    UNITS       "TQ (16nsec)"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that reports the interval from the last
             MPCP frame transmission in increments of Time Quanta
             (TQ)-16ns.  The value returned shall be (interval from
             last MPCP frame transmission in ns)/16.  If this value
             exceeds (2^32-1), the value (2^32-1) shall be returned.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface."
    REFERENCE   "[802.3ah], 30.3.5.1.19."
    ::= { dot3MpcpControlEntry 8 }

dot3MpcpReceiveElapsed OBJECT-TYPE

    SYNTAX  Unsigned32
    UNITS       "TQ (16nsec)"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that reports the interval from last MPCP frame
             reception in increments of Time Quanta (TQ)-16ns.  The
             value returned shall be (interval from last MPCP frame
             reception in ns)/16.  If this value exceeds (2^32-1), the
             value (2^32-1) shall be returned.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface."
    REFERENCE   "[802.3ah], 30.3.5.1.20."
    ::= { dot3MpcpControlEntry 9 }

dot3MpcpRoundTripTime OBJECT-TYPE

    SYNTAX  Unsigned32 (0..'ffff'h)
    UNITS       "TQ (16nsec)"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that reports the MPCP round trip time in
             increments of Time Quanta (TQ)-16ns.  The value returned
             shall be (round trip time in ns)/16.  If this value
             exceeds (2^16-1), the value (2^16-1) shall be returned.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface."
    REFERENCE   "[802.3ah], 30.3.5.1.21."
    ::= { dot3MpcpControlEntry 10 }

dot3MpcpMaximumPendingGrants OBJECT-TYPE

    SYNTAX  Unsigned32 (0..255)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that 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.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, the value should be zero."
    REFERENCE   "[802.3ah], 30.3.5.1.24."
    ::= { dot3MpcpControlEntry 11 }

dot3MpcpStatTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF Dot3MpcpStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "This table defines the list of statistics counters of
             an interface implementing the [802.3ah], clause 64 MPCP.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
::= { dot3EponMpcpObjects 2 }

dot3MpcpStatEntry OBJECT-TYPE

    SYNTAX     Dot3MpcpStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry in the table of statistics counters of the
             [802.3ah], clause 64, MPCP interface.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual link is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex}
    ::= { dot3MpcpStatTable 1 }

Dot3MpcpStatEntry ::=

    SEQUENCE {
            dot3MpcpMACCtrlFramesTransmitted       Counter64,
            dot3MpcpMACCtrlFramesReceived          Counter64,
            dot3MpcpDiscoveryWindowsSent           Counter32,
            dot3MpcpDiscoveryTimeout               Counter32,
            dot3MpcpTxRegRequest                   Counter64,
            dot3MpcpRxRegRequest                   Counter64,
            dot3MpcpTxRegAck                       Counter64,
            dot3MpcpRxRegAck                       Counter64,
            dot3MpcpTxReport                       Counter64,
            dot3MpcpRxReport                       Counter64,
            dot3MpcpTxGate                         Counter64,
            dot3MpcpRxGate                         Counter64,
            dot3MpcpTxRegister                     Counter64,
            dot3MpcpRxRegister                     Counter64
    }

dot3MpcpMACCtrlFramesTransmitted OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "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.  At the
             OLT it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.7."
    ::= { dot3MpcpStatEntry 1 }

dot3MpcpMACCtrlFramesReceived OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of MPCP frames passed by the MAC sublayer to the
             MAC Control sublayer.  This counter is incremented when a
             ReceiveFrame function call returns a valid frame with
             1) a lengthOrType field value equal to the reserved
   
             Type for 802.3_MAC_Control as specified in clause 31.4.1.3,
             and
             2) an opcode indicating an MPCP frame.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
   REFERENCE   "[802.3ah], 30.3.5.1.8."
    ::= { dot3MpcpStatEntry 2}

dot3MpcpDiscoveryWindowsSent OBJECT-TYPE

    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of discovery windows generated.  The counter is
             incremented by one for each generated discovery window.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
   REFERENCE   "[802.3ah], 30.3.5.1.22."
    ::= { dot3MpcpStatEntry 3}

dot3MpcpDiscoveryTimeout OBJECT-TYPE

    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a discovery timeout
             occurs.  Increment the counter 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.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
   REFERENCE   "[802.3ah], 30.3.5.1.23."
    ::= { dot3MpcpStatEntry 4}

dot3MpcpTxRegRequest OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER_REQ MPCP
             frame transmission occurs.  Increment the counter by one
             for each REGISTER_REQ MPCP frame transmitted as defined
             in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.12."
    ::= { dot3MpcpStatEntry 5}

dot3MpcpRxRegRequest OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER_REQ MPCP
             frame reception occurs.
             Increment the counter by one for each REGISTER_REQ MPCP
             frame received as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
  REFERENCE   "[802.3ah], 30.3.5.1.17."
    ::= { dot3MpcpStatEntry 6}

dot3MpcpTxRegAck OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
 
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER_ACK MPCP
             frame transmission occurs.  Increment the counter by one
             for each REGISTER_ACK MPCP frame transmitted as defined
             in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
 REFERENCE   "[802.3ah], 30.3.5.1.10."
    ::= { dot3MpcpStatEntry 7}

dot3MpcpRxRegAck OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER_ACK MPCP
             frame reception occurs.
             Increment the counter by one for each REGISTER_ACK MPCP
             frame received as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.15."
    ::= { dot3MpcpStatEntry 8}

dot3MpcpTxReport OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REPORT MPCP frame
             transmission occurs.  Increment the counter by one for
             each REPORT MPCP frame transmitted as defined in
             [802.3ah], clause 64.
    
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.13."
    ::= { dot3MpcpStatEntry 9}

dot3MpcpRxReport OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REPORT MPCP frame
             reception occurs.
             Increment the counter by one for each REPORT MPCP frame
             received as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.18."
    ::= { dot3MpcpStatEntry 10}

dot3MpcpTxGate OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a GATE MPCP frame
             transmission occurs.
             Increment the counter by one for each GATE MPCP frame
             transmitted as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.9."
    ::= { dot3MpcpStatEntry 11}

dot3MpcpRxGate OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a GATE MPCP frame
             reception occurs.
             Increment the counter by one for each GATE MPCP frame
             received as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.14."
    ::= { dot3MpcpStatEntry 12}

dot3MpcpTxRegister OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER MPCP frame
             transmission occurs.
             Increment the counter by one for each REGISTER MPCP
             frame transmitted as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
   REFERENCE   "[802.3ah], 30.3.5.1.11."
    ::= { dot3MpcpStatEntry 13}

dot3MpcpRxRegister OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of the number of times a REGISTER MPCP frame
             reception occurs.
             Increment the counter by one for each REGISTER MPCP
             frame received as defined in [802.3ah], clause 64.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.5.1.16."
    ::= { dot3MpcpStatEntry 14}

-- Optical Multi Point Emulation (OMPEmulation)

-- managed object definitions

dot3OmpEmulationObjects OBJECT IDENTIFIER ::={dot3EponObjects 2}

dot3OmpEmulationTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF Dot3OmpEmulationEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A table of dot3 OmpEmulation MIB objects.  The table
             contain objects for the management of the OMPEmulation
             sublayer.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
    ::= { dot3OmpEmulationObjects 1 }

dot3OmpEmulationEntry OBJECT-TYPE

    SYNTAX  Dot3OmpEmulationEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "An entry in the dot3 OmpEmulation table.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual links is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex }
    ::= { dot3OmpEmulationTable 1 }
    
    Dot3OmpEmulationEntry ::=
    SEQUENCE {
            dot3OmpEmulationType               INTEGER
    }

dot3OmpEmulationType OBJECT-TYPE

    SYNTAX  INTEGER {
            unknown(1),
            olt(2),
            onu(3)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that indicates the mode of operation
             of the Reconciliation Sublayer for Point-to-Point
             Emulation (see [802.3ah], clause 65.1).  unknown(1) value
             is assigned in initialization; true state or type is not
             yet known.  olt(2) value is assigned when the sublayer is
             operating in OLT mode.  onu(3) value is assigned when the
             sublayer is operating in ONU mode.
             This object is applicable for an OLT, with the same
             value for all virtual interfaces, and for an ONU."
    REFERENCE   "[802.3ah], 30.3.7.1.2."
    ::= { dot3OmpEmulationEntry 1}

dot3OmpEmulationStatTable OBJECT-TYPE

    SYNTAX     SEQUENCE OF Dot3OmpEmulationStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "This table defines the list of statistics counters of
    
             [802.3ah], clause 65, OMPEmulation sublayer.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
    ::= { dot3OmpEmulationObjects 2}

dot3OmpEmulationStatEntry OBJECT-TYPE

    SYNTAX     Dot3OmpEmulationStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry in the table of statistics counters of
             [802.3ah], clause 65, OMPEmulation sublayer.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual links is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex}
    ::= { dot3OmpEmulationStatTable 1 }

Dot3OmpEmulationStatEntry::=

    SEQUENCE {
            dot3OmpEmulationSLDErrors                 Counter64,
            dot3OmpEmulationCRC8Errors                Counter64,
            dot3OmpEmulationBadLLID                   Counter64,
            dot3OmpEmulationGoodLLID                  Counter64,
            dot3OmpEmulationOnuPonCastLLID            Counter64,
            dot3OmpEmulationOltPonCastLLID            Counter64,
            dot3OmpEmulationBroadcastBitNotOnuLlid    Counter64,
            dot3OmpEmulationOnuLLIDNotBroadcast       Counter64,
            dot3OmpEmulationBroadcastBitPlusOnuLlid    Counter64,
            dot3OmpEmulationNotBroadcastBitNotOnuLlid  Counter64
    }

dot3OmpEmulationSLDErrors OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that do not contain a valid
             SLD field as defined in [802.3ah], clause 65.1.3.3.1.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.7.1.3."
    ::= { dot3OmpEmulationStatEntry 1}

dot3OmpEmulationCRC8Errors OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause 65.1.3.3.1, but do
             not pass the CRC-8 check as defined in [802.3ah], clause
             65.1.3.3.3.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.7.1.4."
    ::= { dot3OmpEmulationStatEntry 2}

dot3OmpEmulationBadLLID OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause 65.1.3.3.1, and
             pass the CRC-8 check, as defined in [802.3ah], clause
             65.1.3.3.3, but are discarded due to the LLID check as
             defined in [802.3ah], clause 65.1.3.3.2.
    
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.7.1.8."
    ::= { dot3OmpEmulationStatEntry 3}

dot3OmpEmulationGoodLLID OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause 65.1.3.3.1, and
             pass the CRC-8 check as defined in [802.3ah], clause
             65.1.3.3.3.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.3.7.1.5."
    ::= { dot3OmpEmulationStatEntry 4}

dot3OmpEmulationOnuPonCastLLID OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause 65.1.3.3.1,
             pass the CRC-8 check, as defined in [802.3ah], clause
             65.1.3.3.3, and meet the rules of acceptance for an
             ONU defined in [802.3ah], clause 65.1.3.3.2.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
    
             module."
    REFERENCE   "[802.3ah], 30.3.7.1.6."
    ::= { dot3OmpEmulationStatEntry 5}

dot3OmpEmulationOltPonCastLLID OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause 65.1.3.3.1,
             pass the CRC-8 check, as defined in [802.3ah], clause
             65.1.3.3.3, and meet the rules of acceptance for an
             OLT defined in [802.3ah], 65.1.3.3.2.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
  REFERENCE   "[802.3ah], 30.3.7.1.7."
    ::= { dot3OmpEmulationStatEntry 6}

dot3OmpEmulationBroadcastBitNotOnuLlid OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause
             65.1.3.3.1, pass the CRC-8 check, as defined in
             [802.3ah], clause 65.1.3.3.3, and contain the broadcast
             bit in the LLID and not the ONU's LLID (frame accepted)
             as defined in [802.3ah], clause 65.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
   ::= { dot3OmpEmulationStatEntry 7}

dot3OmpEmulationOnuLLIDNotBroadcast OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause
             65.1.3.3.1, pass the CRC-8 check, as defined in
             [802.3ah], clause 65.1.3.3.3, and contain the ONU's LLID
             as defined in [802.3ah], clause 65.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
   ::= { dot3OmpEmulationStatEntry 8}

dot3OmpEmulationBroadcastBitPlusOnuLlid OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause
             65.1.3.3.1, pass the CRC-8 check, as defined in
             [802.3ah], clause 65.1.3.3.3, and contain the broadcast
             bit in the LLID and match the ONU's LLID (frame
             reflected) as defined in [802.3ah], clause 65.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    ::= { dot3OmpEmulationStatEntry 9}

dot3OmpEmulationNotBroadcastBitNotOnuLlid OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "frames"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A count of frames received that contain a valid SLD
             field, as defined in [802.3ah], clause
             65.1.3.3.1, pass the CRC-8 check, as defined in
             [802.3ah], clause 65.1.3.3.3, and do not contain
             the ONU's LLID as defined in [802.3ah], clause 65.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             At the OLT, 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 of the Interface MIB
             module."
    ::= { dot3OmpEmulationStatEntry 10}

-- FEC managed object definitions (30.5.1)

dot3EponFecObjects OBJECT IDENTIFIER ::={dot3EponObjects 3}

dot3EponFecTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF Dot3EponFecEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A table of dot3 EPON FEC management objects.
             The entries in the table are control and status objects
             and statistic counters for the FEC layer.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
    ::= { dot3EponFecObjects 1 }

dot3EponFecEntry OBJECT-TYPE

    SYNTAX  Dot3EponFecEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "An entry in the dot3 EPON FEC table.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
    
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual links is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex}
    ::= { dot3EponFecTable 1 }

Dot3EponFecEntry ::=

    SEQUENCE {
            dot3EponFecPCSCodingViolation           Counter64,
            dot3EponFecAbility                      INTEGER,
            dot3EponFecMode                         INTEGER,
            dot3EponFecCorrectedBlocks              Counter64,
            dot3EponFecUncorrectableBlocks          Counter64,
            dot3EponFecBufferHeadCodingViolation    Counter64
    }

dot3EponFecPCSCodingViolation OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "octets"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "For a 100 Mbps operation, it is a count of the number of
             times an invalid code-group is received, other than the
             /H/ code-group.  For a 1000 Mbps operation, it is a count
             of the number of times an invalid codegroup is received,
             other than the /V/ code-group.  /H/ denotes a special
             4b5b codeword of [802.3] 100 Mbps PCS layer (clause 24),
             and /V/ denotes a special 8b10b codeword of the [802.3]
             1000 Mbps PCS layer (clause 36).
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.5.1.1.12."
    ::= { dot3EponFecEntry 1}

dot3EponFecAbility OBJECT-TYPE

    SYNTAX  INTEGER {
            unknown(1),
    
            supported(2),
            unsupported(3)
    }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object that indicates the support of operation of the
             optional FEC sublayer of the 1000BASE-PX PHY specified
             in [802.3ah], clause 65.2.
             unknown(1) value is assigned in the initialization, for non
             FEC support state or type not yet known.  unsupported(3)
             value is assigned when the sublayer is not supported.
             supported(2) value is assigned when the sublayer is
             supported.
             This object is applicable for an OLT, with the same
             value for all virtual interfaces, and for an ONU.
             The FEC counters will have a zero value when the
             interface is not supporting FEC.
             The counters:
              dot3EponFecPCSCodingViolation - not affected by FEC
              ability.
              dot3EponFecCorrectedBlocks    - has a zero value when
               dot3EponFecAbility is unknown(1) and unsupported(3).
              dot3EponFecUncorrectableBlocks  - has a zero value when
               dot3EponFecAbility is unknown(1) and unsupported(3).
              dot3EponFecBufferHeadCodingViolation - has a zero value
               when dot3EponFecAbility is unknown(1) and
               unsupported(3)."
    REFERENCE   "[802.3ah], 30.5.1.1.13."
    ::= { dot3EponFecEntry 2}

dot3EponFecMode OBJECT-TYPE

    SYNTAX  INTEGER {
            unknown(1),
            disabled(2),
            enabled(3)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "An object that defines the mode of operation of the
             optional FEC sublayer of the 1000BASE-PX PHY, specified
             in [802.3ah], clause 65.2, and reflects its state.
             A GET operation returns the current mode of operation
             of the PHY.  A SET operation changes the mode of
             operation of the PHY to the indicated value.
             unknown(1) value is assigned in the initialization for non
               FEC support state or type not yet known.
             disabled(2) value is assigned when the FEC sublayer is
               operating in disabled mode.
             enabled(3) value is assigned when the FEC sublayer is
               operating in FEC mode.
             The write operation is not restricted in this document
             and can be done at any time.  Changing dot3EponFecMode
             state can lead to disabling the Forward Error Correction
             on the respective interface, which can lead to a
             degradation of the optical link, and therefore may lead
             to 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.
             The counting of
             the FEC counters will stop when the FEC of the interface
             is disabled.
             The counters:
              dot3EponFecPCSCodingViolation - not affected by FEC
              mode.
              dot3EponFecCorrectedBlocks - stops counting when
              Rx_FEC is not enabled.  (unknown(1) and disabled(2)).
              dot3EponFecUncorrectableBlocks - stops counting when
              Rx_FEC is not enabled (unknown(1) and disabled(2)).
              dot3EponFecBufferHeadCodingViolation - stops counting
              when Rx_FEC is not enabled (unknown(1) and
              disabled(2)).
             The object:
              dot3EponFecAbility - indicates the FEC ability and
              is not affected by the dot3EponFecMode object."
    REFERENCE   "[802.3ah], 30.5.1.1.14."
    DEFVAL { unknown }
    ::= { dot3EponFecEntry 3}

dot3EponFecCorrectedBlocks OBJECT-TYPE

    SYNTAX  Counter64
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "For 10PASS-TS, 2BASE-TL, and 1000BASE-PX PHYs, it is a
             count of corrected FEC blocks.  This counter will not
             increment for other PHY Types.  Increment the counter by
             one for each received block that is corrected by the FEC
             function in the PHY.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.5.1.1.15."
    ::= { dot3EponFecEntry 4}

dot3EponFecUncorrectableBlocks OBJECT-TYPE

    SYNTAX  Counter64
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "For 10PASS-TS, 2BASE-TL, and 1000BASE-PX PHYs, it is a
             count of uncorrectable FEC blocks.  This counter will not
             increment for other PHY Types.  Increment the counter by
             one for each FEC block that is determined to be
             uncorrectable by the FEC function in the PHY.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    REFERENCE   "[802.3ah], 30.5.1.1.16."
    ::= { dot3EponFecEntry 5}

dot3EponFecBufferHeadCodingViolation OBJECT-TYPE

    SYNTAX  Counter64
    UNITS      "octets"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "For a 1000 Mbps operation, it is a count of the number of
             invalid code-group received directly from the link.  The
             value has a meaning only in 1000 Mbps mode and it is
             zero otherwise.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface.
             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 of the Interface MIB
             module."
    ::= { dot3EponFecEntry 6}

-- ExtendedPackage managed object definitions

dot3ExtPkgObjects OBJECT IDENTIFIER ::={dot3EponObjects 4}

dot3ExtPkgControlObjects OBJECT IDENTIFIER ::= { dot3ExtPkgObjects 1}

dot3ExtPkgControlTable OBJECT-TYPE

    SYNTAX  SEQUENCE OF Dot3ExtPkgControlEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A table of Extended package Control management
             objects.  Entries in the table are control and status
             indication objects of an EPON interface, which are
             gathered in an extended package as an addition to the
             objects based on the [802.3ah], clause 30, attributes.
             Each object has a row for every virtual link denoted by
             the corresponding ifIndex.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff)."
    ::= { dot3ExtPkgControlObjects 1 }

dot3ExtPkgControlEntry OBJECT-TYPE

    SYNTAX  Dot3ExtPkgControlEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "An entry in the Extended package Control table.
             Rows exist for an OLT interface and an ONU interface.
             A row in the table is denoted by the ifIndex of the link
             and it is created when the ifIndex is created.
             The rows in the table for an ONU interface are created
             at system initialization.
             The row in the table corresponding to the OLT ifIndex
             and the row corresponding to the broadcast virtual link
             are created at system initialization.
             A row in the table corresponding to the ifIndex of a
             virtual links is created when a virtual link is
             established (ONU registers) and deleted when the virtual
             link is deleted (ONU deregisters)."
    INDEX  { ifIndex}
    ::= { dot3ExtPkgControlTable 1 }

Dot3ExtPkgControlEntry ::=

SEQUENCE {

     dot3ExtPkgObjectReset                       INTEGER,
     dot3ExtPkgObjectPowerDown                   TruthValue,
     dot3ExtPkgObjectNumberOfLLIDs               Unsigned32,
     dot3ExtPkgObjectFecEnabled                  INTEGER,
     dot3ExtPkgObjectReportMaximumNumQueues      Unsigned32,
     dot3ExtPkgObjectRegisterAction              INTEGER
    }

dot3ExtPkgObjectReset OBJECT-TYPE

    SYNTAX  INTEGER {
            running(1),
            reset(2)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "This object is used to reset the EPON interface.  The
             interface may be unavailable while the reset occurs and
             data may be lost.
             Setting this object to running(1) will cause the
             interface to enter into running mode.  Setting this
             object to reset(2) will cause the interface to go into
             reset mode.  When getting running(1), the interface is in
             running mode.  When getting reset(2), the interface is in
             reset mode.
             The write operation is not restricted in this document
             and can be done at any time.  Changing
             dot3ExtPkgObjectReset state can lead to a reset of the
             respective interface, leading to 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.  Discontinuity should be
             indicated by the ifCounterDiscontinuityTime object of
             the Interface MIB module."
    DEFVAL { running }
    ::= { dot3ExtPkgControlEntry 1 }

dot3ExtPkgObjectPowerDown OBJECT-TYPE

    SYNTAX  TruthValue
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "This object is used to power down the EPON interface.
             The interface may be unavailable while the power down
             occurs and data may be lost.
             Setting this object to true(1) will cause the interface
             to enter into power down mode.  Setting this object to
             false(2) will cause the interface to go out of power
             down mode.  When getting true(1), the interface is in
             power down mode.  When getting false(2), the interface is
             not in power down mode.
             The write operation is not restricted in this document
             and can be done at any time.  Changing
             dot3ExtPkgObjectPowerDown state can lead to a power down
             of the respective interface, leading to an interruption
             of service of 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 power down/up of a specific virtual interface affects
             only the virtual interface and not the physical
             interface.  Hence a virtual link, which needs a certain
             handling, can be powered down and then powered up without
             disrupting the operation of other virtual interfaces.
             The object is relevant when the admin state of the
             interface is active as set by the dot3MpcpAdminState."
    DEFVAL { false }
    ::= { dot3ExtPkgControlEntry 2 }

dot3ExtPkgObjectNumberOfLLIDs OBJECT-TYPE

    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "A read only object that indicates the number of
             registered LLIDs.  The initialization value is 0.
             This object is applicable for an OLT with the same
             value for all virtual interfaces and for an ONU.
             The LLID field, as defined in the [802.3ah], is a 2-byte
             register (15-bit field and a broadcast bit) limiting the
             number of virtual links to 32768.  Typically the number
             of expected virtual links in a PON is like the number of
             ONUs, which is 32-64, plus an additional entry for
             broadcast LLID (with a value of 0xffff).  At the ONU the
             number of LLIDs for an interface is one."
    ::= { dot3ExtPkgControlEntry 3 }

dot3ExtPkgObjectFecEnabled OBJECT-TYPE

    SYNTAX  INTEGER {
            noFecEnabled(1),
    
            fecTxEnabled(2),
            fecRxEnabled(3),
            fecTxRxEnabled(4)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
           "An object defining the FEC mode of operation of the
            interface, and indicating its state.  The modes defined in
            this object are extensions to the FEC modes defined in
            the dot3EponFecMode object.
            When noFECEnabled(1), the interface does not enable FEC
            mode.
            When fecTxEnabled(2), the interface enables the FEC
            transmit mode.
            When fecRxEnabled(3), the interface enables the FEC
            receive mode.
            When fecTxRxEnabled(4), the interface enables the FEC
            transmit and receive mode.
            This object is applicable for an OLT and an ONU.  At the
            OLT, it has a distinct value for each virtual interface.
            The FEC counters are referring to the receive path.  The
            FEC counters will stop when the FEC receive mode of the
            interface is disabled, as defined by fecRxEnabled(3)
            and fecTxRxEnabled(4) values.
            The counters:
             dot3EponFecPCSCodingViolation - not affected by FEC
             mode.
             dot3EponFecCorrectedBlocks - stops counting when
             Rx_FEC is not enabled (noFecEnabled(1) and
             fecTxEnabled(2)).
             dot3EponFecUncorrectableBlocks - stops counting when
             Rx_FEC is not enabled (noFecEnabled(1) and
             fecTxEnabled(2)).
             dot3EponFecBufferHeadCodingViolation - stops counting
             when Rx_FEC is not enabled (noFecEnabled(1) and
             fecTxEnabled(2)).
            The objects:
             dot3EponFecAbility - indicates the FEC ability and is
             not affected by the FEC mode.
             dot3EponFecMode - indicates the FEC mode for combined RX
             and TX.
            The write operation is not restricted in this document
            and can be done at any time.  Changing
            dot3ExtPkgObjectFecEnabled state can lead to disabling
            the Forward Error Correction on the respective interface,
            which can lead to a degradation of the optical link, and
            therefore may lead to an interruption of service for the
            users connected to the respective EPON interface."
    DEFVAL { noFecEnabled }
    ::= { dot3ExtPkgControlEntry 4 }

dot3ExtPkgObjectReportMaximumNumQueues OBJECT-TYPE

    SYNTAX  Unsigned32 (0..7)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "An object, that defines the maximal number of queues in
             the REPORT message as defined in [802.3ah], clause 64.  For
             further information please see the description of the
             queue table.
             This object is applicable for an OLT and an ONU.  At the
             OLT, it has a distinct value for each virtual interface."
    DEFVAL { 0 }
    ::= { dot3ExtPkgControlEntry 5 }

dot3ExtPkgObjectRegisterAction OBJECT-TYPE

    SYNTAX  INTEGER {
            none(1),
            register(2),
            deregister(3),
            reregister(4)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
           "An object configuring the registration state of an
           interface, and indicating its registration state.
            Write operation changes the registration state to its new
            value.
            Read operation returns the value of the state.
            The registration state is reflected in this object and in
            the dot3MpcpRegistrationState object.
            none(1) indicates an unknown state,
            register(2) indicates a registered LLID,
            deregister(3) indicates a deregistered LLID,
            reregister(4) indicates an LLID that is reregistering.
            The following list describes the operation of the
            interface, as specified in the [802.3ah], when a write
            operation is setting a value.
             none(1) - not doing any action.
             register(2) - registering an LLID that has been requested
             for registration (The LLID is in registering mode.
               dot3MpcpRegistrationState - registering(2) ).
               deregister(3) - deregisters an LLID that is registered
                 (dot3MpcpRegistrationState - registered(3) ).
               reregister(4) - reregister an LLID that is registered
                 (dot3MpcpRegistrationState - registered(3) ).
               The behavior of an ONU and OLT interfaces, at each one
               of the detailed operation at each state, is described in
               the registration state machine of figure 64-22,
               [802.3ah].
              This object is applicable for an OLT and an ONU.  At the
              OLT, it has a distinct value for each virtual interface.
              The write operation is not restricted in this document
              and can be done at any time.  Changing
              dot3ExtPkgObjectRegisterAction state can lead to a change
              in the registration state of the respective interface
              leading to a deregistration and an interruption of
              service of the users connected to the respective EPON
              interface."
      DEFVAL { none }
      ::= { dot3ExtPkgControlEntry 6 }

dot3ExtPkgQueueTable OBJECT-TYPE

      SYNTAX  SEQUENCE OF Dot3ExtPkgQueueEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
              "A table of the extended package objects for queue
               management.  The [802.3ah] MPCP defines a report message
               of the occupancy of the transmit queues for the feedback
               BW request from the ONUs.  These queues serve the uplink
               transmission of the ONU and data is gathered there until
               the ONU is granted for transmission.
               The management table of the queues is added here mainly
               to control the reporting and to gather some statistics
               of their operation.  This table is not duplicating
               existing management objects of bridging queues,
               specified in [802.1d], since the existence of a
               dedicated transmit queuing mechanism is implied in the
               [802.3ah], and the ONU may be a device that is not a
               bridge with embedded bridging queues.
               The format of the REPORT message, as specified
               in [802.3], is presented below:
               +-----------------------------------+
               |          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 report' field reports the occupancy of each uplink transmission queue.
The number of queue sets defines the number of the reported sets, as would be explained in the description of the dot3ExtPkgQueueSetsTable table. For each set the report bitmap defines which queue is present in the report, meaning that although the MPCP REPORT message can report up to 8 queues in a REPORT message, the actual number is flexible. The Queue table has a variable size that is limited by the dot3ExtPkgObjectReportMaximumNumQueues object, as an ONU can have fewer queues to report.
The entries in the table are control and status indication objects for managing the queues of an EPON interface that are gathered in an extended package as an addition to the objects that are based on the [802.3ah] attributes.
Each object has a row for every virtual link and for every queue in the report.
The LLID field, as defined in the [802.3ah], is a 2-byte register (15-bit field and a broadcast bit) limiting the

               number of virtual links to 32768.  Typically the number
               of expected virtual links in a PON is like the number of
               ONUs, which is 32-64, plus an additional entry for
               broadcast LLID (with a value of 0xffff).
               The number of queues is between 0 and 7 and limited by
               dot3ExtPkgObjectReportMaximumNumQueues."
      ::= { dot3ExtPkgControlObjects 2 }

dot3ExtPkgQueueEntry OBJECT-TYPE

      SYNTAX  Dot3ExtPkgQueueEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
              "An entry in the Extended package Queue table.  At the
               OLT, the rows exist for each ifIndex and dot3QueueIndex.
               At the ONU, rows exist for the single ifIndex for each
               dot3QueueIndex.
               Rows in the table are created when the ifIndex of the
               link is created.  A set of rows per queue are added for
               each ifIndex, denoted by the dot3QueueIndex.
               A set of rows per queue in the table, for an ONU
               interface, are created at the system initialization.
               A set of rows per queue in the table, corresponding to
               the OLT ifIndex and a set of rows per queue
               corresponding to the broadcast virtual link, are
               created at the system initialization.
               A set of rows per queue in the table, corresponding to
               the ifIndex of a virtual link, are created when the
               virtual link is established (ONU registers), and deleted
               when the virtual link is deleted (ONU deregisters)."
      INDEX  { ifIndex, dot3QueueIndex }
      ::= { dot3ExtPkgQueueTable 1 }

Dot3ExtPkgQueueEntry ::=

      SEQUENCE {
       dot3QueueIndex                              Unsigned32,
       dot3ExtPkgObjectReportNumThreshold           Unsigned32,
       dot3ExtPkgObjectReportMaximumNumThreshold    Unsigned32,
       dot3ExtPkgStatTxFramesQueue                  Counter64,
       dot3ExtPkgStatRxFramesQueue                  Counter64,
       dot3ExtPkgStatDroppedFramesQueue             Counter64
      }

dot3QueueIndex OBJECT-TYPE

      SYNTAX  Unsigned32 (0..7)
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      
              "An object that identifies an index for the queue table
               reflecting the queue index of the queues that are
               reported in the MPCP REPORT message as defined in
               [802.3ah], clause 64.
               The number of queues is between 0 and 7, and limited by
               dot3ExtPkgObjectReportMaximumNumQueues."
      ::= { dot3ExtPkgQueueEntry 1 }

dot3ExtPkgObjectReportNumThreshold OBJECT-TYPE

      SYNTAX  Unsigned32 (0..7)
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
              "An object that defines the number of thresholds for each
               queue in the REPORT message as defined in [802.3ah],
               clause 64.
               Each queue_set reporting will provide information on the
               queue occupancy of frames below the matching Threshold.
               Read operation reflects the number of thresholds.
               Write operation sets the number of thresholds for each
               queue.
               The write operation is not restricted in this document
               and can be done at any time.  Value cannot exceed the
               maximal value defined by the
               dot3ExtPkgObjectReportMaximumNumThreshold object.
               Changing dot3ExtPkgObjectReportNumThreshold can lead to
               a change in the reporting of the ONU interface and
               therefore to a change in the bandwidth allocation of the
               respective interface.  This change may lead a degradation
               or an interruption of service of 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
               and for each queue.  At the ONU, it has a distinct value
               for each queue."
      DEFVAL { 0 }
      ::= { dot3ExtPkgQueueEntry 2 }

dot3ExtPkgObjectReportMaximumNumThreshold OBJECT-TYPE

      SYNTAX  Unsigned32 (0..7)
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
              "An object, that defines the maximal number of thresholds
               for each queue in the REPORT message as defined in
               [802.3ah], clause 64.  Each queue_set reporting will
               provide information on the queue occupancy of frames
               below the matching Threshold.
      
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface
               and for each queue.  At the ONU, it has a distinct value
               for each queue."
      DEFVAL { 0 }
      ::= { dot3ExtPkgQueueEntry 3 }

dot3ExtPkgStatTxFramesQueue OBJECT-TYPE

      SYNTAX  Counter64
      UNITS      "frames"
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
              "A count of the number of times a frame transmission
               occurs from the corresponding 'Queue'.
               Increment the counter by one for each frame transmitted,
               which is an output of the 'Queue'.
               The 'Queue' marking matches the REPORT MPCP message
               Queue field as defined in [802.3ah], clause 64.
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface
               and for each queue.  At the ONU, it has a distinct value
               for each queue.
               At the OLT 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 of the Interface MIB
               module."
      ::= { dot3ExtPkgQueueEntry 4}

dot3ExtPkgStatRxFramesQueue OBJECT-TYPE

      SYNTAX  Counter64
      UNITS      "frames"
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
              "A count of the number of times a frame reception
               occurs from the corresponding 'Queue'.
               Increment the counter by one for each frame received,
               which is an input to the corresponding 'Queue'.
               The 'Queue' marking matches the REPORT MPCP message
               Queue field as defined in [802.3ah], clause 64.
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface
               and for each queue.  At the ONU, it has a distinct value
               for each queue.
               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 of the Interface MIB
               module."
      ::= { dot3ExtPkgQueueEntry 5}

dot3ExtPkgStatDroppedFramesQueue OBJECT-TYPE

      SYNTAX  Counter64
      UNITS      "frames"
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
               "A count of the number of times a frame drop
               occurs from the corresponding 'Queue'.
               Increment the counter by one for each frame dropped
               from the corresponding 'Queue'.
               The 'Queue' marking matches the REPORT MPCP message
               Queue field as defined in [802.3ah], clause 64.
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface
               and for each queue.  At the ONU, it has a distinct value
               for each queue.
               At the OLT, 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 of the Interface MIB
               module."
     ::= { dot3ExtPkgQueueEntry 6}

dot3ExtPkgQueueSetsTable OBJECT-TYPE

      SYNTAX  SEQUENCE OF Dot3ExtPkgQueueSetsEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
              "A table of Extended package objects used for the
               management of the queue_sets.  Entries are control and
               status indication objects of an EPON interface, which
               are gathered in an extended package as an addition to
               the objects based on the [802.3ah] attributes.  The
               objects in this table are specific for the queue_sets,
               which are reported in the MPCP REPORT message as defined
               in [802.3ah], clause 64.
               The [802.3ah] MPCP defines a report message of the
               occupancy of the transmit queues for the feedback BW
               request from the ONUs.  These queues serve the uplink
               transmission of the ONU and data is gathered there until
               the ONU is granted for transmission.
               The management table of the queues_sets is added here
               mainly to control the reporting and to gather some
               statistics of their operation.  This table is not
               duplicating existing management objects of bridging
               queues, specified in [802.1d], since the existence of a
               dedicated transmit queuing mechanism is implied in the
               [802.3ah], and the ONU may be a device that is not a
               bridge with embedded bridging queues.
               The format of the REPORT message, as specified
               in [802.3], is presented below:
               +-----------------------------------+
               |          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                      |
               +-----------------------------------+

As can be seen from the message format, the ONU interface reports of the status of up to 8 queues

               and it can report in a single MPCP REPORT message
               of a few sets of queues.
               The number of queue_sets defines the number of the
               reported sets, and it can reach a value of up to 8.
               It means that an ONU can hold a variable number of
               sets between 0 and 7.
               The dot3ExtPkgQueueSetsTable table has a variable
               queue_set size that is limited by the
               dot3ExtPkgObjectReportMaximumNumThreshold object as an
               ONU can have fewer queue_sets to report.
               The 'Queue report' field reports the occupancy of each
               uplink transmission queue.  The queue_sets can be used to
               report the occupancy of the queues in a few levels as to
               allow granting, in an accurate manner, of only part of
               the data available in the queues.  A Threshold is
               defined for each queue_set to define the level of the
               queue that is counted for the report of the occupancy.
               The threshold is reflected in the queue_set table by the
               dot3ExtPkgObjectReportThreshold object.
               For each queue set, the report bitmap defines which
               queues are present in the report, meaning that
               although the MPCP REPORT message can report of up to 8
               queues in a REPORT message, the actual number is
               flexible.
               The dot3ExtPkgQueueSetsTable table has a variable queue
               size that is limited by the
               dot3ExtPkgObjectReportMaximumNumQueues object as an ONU
               can have fewer queues to report.
               Each object has a row for every virtual link, for each
               queue in the report and for each queue_set in the queue.
               The LLID field, as defined in the [802.3ah], is a 2-byte
               register (15-bit field and a broadcast bit) limiting the
               number of virtual links to 32768.  Typically the number
               of expected virtual links in a PON is like the number of
               ONUs, which is 32-64, plus an additional entry for
               broadcast LLID (with a value of 0xffff).
               The number of queues is between 0 and 7 and limited by
               dot3ExtPkgObjectReportMaximumNumQueues.
               The number of queues_sets is between 0 and 7 and limited
               by dot3ExtPkgObjectReportMaximumNumThreshold."
      ::= { dot3ExtPkgControlObjects 3 }

dot3ExtPkgQueueSetsEntry OBJECT-TYPE

      SYNTAX  Dot3ExtPkgQueueSetsEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
      
              "An entry in the Extended package queue_set table.  At
      
               the OLT, the rows exist for each ifIndex,
               dot3QueueSetQueueIndex and dot3QueueSetIndex.  At the
               ONU, rows exist for the single ifIndex, for each
               dot3QueueSetQueueIndex and dot3QueueSetIndex.
               Rows in the table are created when the ifIndex of the
               link is created.  A set of rows per queue and per
               queue_set are added for each ifIndex, denoted by
               dot3QueueSetIndex and dot3QueueSetQueueIndex.
               A set of rows per queue and per queue_set in the table,
               for an ONU interface are created at system
               initialization.
               A set of rows per queue and per queue_Set in the table,
               corresponding to the OLT ifIndex and a set of rows per
               queue and per queue_set, corresponding to the broadcast
               virtual link, are created at system initialization.
               A set of rows per queue and per queue_set in the table,
               corresponding to the ifIndex of a virtual link are
               created when the virtual link is established (ONU
               registers) and deleted when the virtual link is deleted
               (ONU deregisters)."
               INDEX { ifIndex,
              dot3QueueSetQueueIndex,dot3QueueSetIndex}
      ::= { dot3ExtPkgQueueSetsTable 1 }

Dot3ExtPkgQueueSetsEntry ::=

      SEQUENCE {
       dot3QueueSetQueueIndex                      Unsigned32,
       dot3QueueSetIndex                           Unsigned32,
       dot3ExtPkgObjectReportThreshold             Unsigned32
      }

dot3QueueSetQueueIndex OBJECT-TYPE

      SYNTAX  Unsigned32 (0..7)
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
              "An object that identifies the queue index for the
               dot3ExtPkgQueueSetsTable table.  The queues are reported
               in the MPCP REPORT message as defined in [802.3ah],
               clause 64.
               The number of queues is between 0 and 7, and limited by
               dot3ExtPkgObjectReportMaximumNumQueues.
               Value corresponds to the dot3QueueIndex of the queue
               table."
      ::= { dot3ExtPkgQueueSetsEntry 1 }

dot3QueueSetIndex OBJECT-TYPE

      SYNTAX  Unsigned32 (0..7)
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
              "An object that identifies the queue_set index for the
               dot3ExtPkgQueueSetsTable table.  The queues are reported
               in the MPCP REPORT message as defined in [802.3ah],
               clause 64.
               The number of queues_sets is between 0 and 7, and
               limited by dot3ExtPkgObjectReportMaximumNumThreshold."
      ::= { dot3ExtPkgQueueSetsEntry 2 }
      
      dot3ExtPkgObjectReportThreshold OBJECT-TYPE
      SYNTAX  Unsigned32
      UNITS       "TQ (16nsec)"
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
              "An object that defines the value of a threshold report
               for each queue_set in the REPORT message as defined in
               [802.3ah], clause 64.  The number of sets for each queue
               is dot3ExtPkgObjectReportNumThreshold.
               In the REPORT message, each queue_set reporting will
               provide information on the occupancy of the queues for
               frames below the matching Threshold.
               The value returned shall be in Time quanta (TQ), which
               is 16nsec or 2 octets increments.
               Read operation provides the threshold value.  Write
               operation sets the value of the threshold.
               The write operation is not restricted in this document
               and can be done at any time.  Changing
               dot3ExtPkgObjectReportThreshold can lead to a change in
               the reporting of the ONU interface and therefore to a
               change in the bandwidth allocation of the respective
               interface.  This change may lead a degradation or 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,
               for each queue and for each queue_set.  At the ONU, it has
               a distinct value for each queue and for each queue_set."
      DEFVAL { 0 }
      ::= { dot3ExtPkgQueueSetsEntry 3 }

--Optical Interface status tables

dot3ExtPkgOptIfTable OBJECT-TYPE

      SYNTAX     SEQUENCE OF Dot3ExtPkgOptIfEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
              "This table defines the control and status indication
               objects for the optical interface of the EPON interface.
               Each object has a row for every virtual link denoted by
               the corresponding ifIndex.
               The LLID field, as defined in the [802.3ah], is a 2-byte
               register (15-bit field and a broadcast bit) limiting the
               number of virtual links to 32768.  Typically the number
               of expected virtual links in a PON is like the number of
               ONUs, which is 32-64, plus an additional entry for
               broadcast LLID (with a value of 0xffff).
               Although the optical interface is a physical interface,
               there is a row in the table for each virtual interface.
               The reason for having a separate row for each virtual
               link is that the OLT has a separate link for each one of
               the ONUs.  For instance, ONUs could be in different
               distances with different link budgets and different
               receive powers, therefore having different power alarms.
               It is quite similar to a case of different physical
               interfaces."
      ::= { dot3ExtPkgControlObjects 5}

dot3ExtPkgOptIfEntry OBJECT-TYPE

      SYNTAX     Dot3ExtPkgOptIfEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
              "An entry in the optical interface table of the EPON
               interface.
               Rows exist for an OLT interface and an ONU interface.
               A row in the table is denoted by the ifIndex of the link
               and it is created when the ifIndex is created.
               The rows in the table for an ONU interface are created
               at system initialization.
               The row in the table corresponding to the OLT ifIndex
               and the row corresponding to the broadcast virtual link
               are created at system initialization.
               A row in the table corresponding to the ifIndex of a
               virtual links is created when a virtual link is
               established (ONU registers) and deleted when the virtual
               link is deleted (ONU deregisters)."
      INDEX       { ifIndex }
      ::= { dot3ExtPkgOptIfTable 1 }

Dot3ExtPkgOptIfEntry ::=

SEQUENCE {

       dot3ExtPkgOptIfSuspectedFlag             TruthValue,
       dot3ExtPkgOptIfInputPower                Integer32,
       dot3ExtPkgOptIfLowInputPower             Integer32,
       dot3ExtPkgOptIfHighInputPower            Integer32,
       dot3ExtPkgOptIfLowerInputPowerThreshold  Integer32,
       dot3ExtPkgOptIfUpperInputPowerThreshold  Integer32,
       dot3ExtPkgOptIfOutputPower               Integer32,
       dot3ExtPkgOptIfLowOutputPower            Integer32,
       dot3ExtPkgOptIfHighOutputPower           Integer32,
       dot3ExtPkgOptIfLowerOutputPowerThreshold Integer32,
       dot3ExtPkgOptIfUpperOutputPowerThreshold Integer32,
       dot3ExtPkgOptIfSignalDetect              TruthValue,
       dot3ExtPkgOptIfTransmitAlarm             TruthValue,
       dot3ExtPkgOptIfTransmitEnable            TruthValue
       }

dot3ExtPkgOptIfSuspectedFlag OBJECT-TYPE

    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "This object is a reliability indication.
       If true, the data in this entry may be unreliable.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 1 }
  
  dot3ExtPkgOptIfInputPower OBJECT-TYPE
    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The optical power monitored at the input.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
  ::= { dot3ExtPkgOptIfEntry 2 }

dot3ExtPkgOptIfLowInputPower OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The lowest optical power monitored at the input during the
       current 15-minute interval.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 3 }

dot3ExtPkgOptIfHighInputPower OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The highest optical power monitored at the input during the
       current 15-minute interval.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 4 }

dot3ExtPkgOptIfLowerInputPowerThreshold OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
      "The lower limit threshold on input power.  If
       dot3ExtPkgOptIfInputPower drops to this value or below,
       a Threshold Crossing Alert (TCA) should be sent.
       Reading will present the threshold value.  Writing will
       set the value of the threshold.
       The write operation is not restricted in this document
       and can be done at any time.  Changing
       dot3ExtPkgOptIfLowerInputPowerThreshold can lead to a Threshold
       Crossing Alert (TCA) being sent for the respective interface.
       This alert may be leading to an interruption of service for the
       users connected to the respective EPON interface, depending on
       the system action on such an alert.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 5 }

dot3ExtPkgOptIfUpperInputPowerThreshold OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
      "The upper limit threshold on input power.  If
       dot3ExtPkgOptIfInputPower reaches or exceeds this value,
       a Threshold Crossing Alert (TCA) should be sent.
       Reading will present the threshold value.  Writing will
       set the value of the threshold.
       The write operation is not restricted in this document
       and can be done at any time.  Changing
       dot3ExtPkgOptIfUpperInputPowerThreshold can lead to a Threshold
   
       Crossing Alert (TCA) being sent for the respective interface.
       This alert may be leading to an interruption of service for the
       users connected to the respective EPON interface, depending on
       the system action on such an alert.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
   ::= { dot3ExtPkgOptIfEntry 6 }

dot3ExtPkgOptIfOutputPower OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The optical power monitored at the output.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 7 }

dot3ExtPkgOptIfLowOutputPower OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The lowest optical power monitored at the output during the
       current 15-minute interval.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 8 }

dot3ExtPkgOptIfHighOutputPower OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "The highest optical power monitored at the output during the
       current 15-minute interval.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
   ::= { dot3ExtPkgOptIfEntry 9 }

dot3ExtPkgOptIfLowerOutputPowerThreshold OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-write
    STATUS  current
  
    DESCRIPTION
      "The lower limit threshold on output power.  If
       dot3ExtPkgOptIfOutputPower drops to this value or below,
       a Threshold Crossing Alert (TCA) should be sent.
       Reading will present the threshold value.  Writing will
       set the value of the threshold.
       The write operation is not restricted in this document
       and can be done at any time.  Changing
       dot3ExtPkgOptIfLowerOutputPowerThreshold can lead to a Threshold
       Crossing Alert (TCA) being sent for the respective interface.
       This alert may be leading to an interruption of service for the
       users connected to the respective EPON interface, depending on
       the system action on such an alert.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
  ::= { dot3ExtPkgOptIfEntry 10 }

dot3ExtPkgOptIfUpperOutputPowerThreshold OBJECT-TYPE

    SYNTAX  Integer32
    UNITS  "0.1 dbm"
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
      "The upper limit threshold on output power.  If
       dot3ExtPkgOptIfOutputPower reaches or exceeds this value,
       a Threshold Crossing Alert (TCA) should be sent.
       Reading will present the threshold value.  Writing will
       set the value of the threshold.
       The write operation is not restricted in this document
       and can be done at any time.  Changing
       dot3ExtPkgOptIfUpperOutputPowerThreshold can lead to a Threshold
       Crossing Alert (TCA) being sent for the respective interface.
       This alert may be leading to an interruption of service of the
       users connected to the respective EPON interface, depending on
       the system action on such an alert.
       This object is applicable for an OLT and an ONU.  At the
       OLT, it has a distinct value for each virtual interface."
    ::= { dot3ExtPkgOptIfEntry 11 }

dot3ExtPkgOptIfSignalDetect OBJECT-TYPE

      SYNTAX  TruthValue
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
              "When getting true(1), there is a valid optical signal at
               the receive that is above the optical power level for
               signal detection.  When getting false(2) the optical
               signal at the receive is below the optical power level
      
               for signal detection.
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface."
      DEFVAL { false }
      ::= { dot3ExtPkgOptIfEntry 12 }

dot3ExtPkgOptIfTransmitAlarm OBJECT-TYPE

      SYNTAX  TruthValue
      MAX-ACCESS  read-only
      STATUS  current
      DESCRIPTION
              "When getting true(1) there is a non-valid optical signal
               at the transmit of the interface, either a higher level
               or lower level than expected.  When getting false(2) the
               optical signal at the transmit is valid and in the
               required range.
               This object is applicable for an OLT and an ONU.  At the
               OLT, it has a distinct value for each virtual interface."
      DEFVAL { false }
      ::= { dot3ExtPkgOptIfEntry 13 }

dot3ExtPkgOptIfTransmitEnable OBJECT-TYPE

      SYNTAX  TruthValue
      MAX-ACCESS  read-write
      STATUS  current
      DESCRIPTION
              "Setting this object to true(1) will cause the optical
               interface to start transmission (according to the
               control protocol specified for the logical interface).
               Setting this object to false(2) will cause the
               interface to stop the optical transmission.
               When getting true(1), the optical interface is in
               transmitting mode (obeying to the logical control
               protocol).
               When getting false(2), the optical interface is not in
               transmitting mode.
               The write operation is not restricted in this document
               and can be done at any time.  Changing
               dot3ExtPkgOptIfTransmitEnable state can lead to a halt
               in the optical transmission of the respective interface
               leading to an interruption of service of the users
               connected to the respective EPON interface.
               The object is relevant when the admin state of the
               interface is active as set by the dot3MpcpAdminState.
               This object is applicable for an OLT and an ONU.  At the
               OLT it, has a distinct value for each virtual interface."
      DEFVAL { false }
      ::= { dot3ExtPkgOptIfEntry 14 }
  
  -- Conformance Statements
  
  -- Conformance Groups
  
  dot3EponGroups      OBJECT IDENTIFIER ::= { dot3EponConformance 1 }

dot3MpcpGroupBase OBJECT-GROUP

      OBJECTS {
              dot3MpcpOperStatus,
              dot3MpcpAdminState,
              dot3MpcpMode,
              dot3MpcpSyncTime,
              dot3MpcpLinkID,
              dot3MpcpRemoteMACAddress,
              dot3MpcpRegistrationState,
              dot3MpcpMaximumPendingGrants,
              dot3MpcpTransmitElapsed,
              dot3MpcpReceiveElapsed,
              dot3MpcpRoundTripTime
      }
      STATUS  current
      DESCRIPTION
             "A collection of objects of dot3 Mpcp Control entity state
              definition.  Objects are per LLID."
      ::= { dot3EponGroups 1 }

dot3MpcpGroupStat OBJECT-GROUP

      OBJECTS {
              dot3MpcpMACCtrlFramesTransmitted,
              dot3MpcpMACCtrlFramesReceived,
              dot3MpcpDiscoveryWindowsSent,
              dot3MpcpDiscoveryTimeout,
              dot3MpcpTxRegRequest,
              dot3MpcpRxRegRequest,
              dot3MpcpTxRegAck,
              dot3MpcpRxRegAck,
              dot3MpcpTxReport,
              dot3MpcpRxReport,
              dot3MpcpTxGate,
              dot3MpcpRxGate,
              dot3MpcpTxRegister,
              dot3MpcpRxRegister
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3 Mpcp Statistics.
               Objects are per LLID."
      ::= { dot3EponGroups 2 }

dot3OmpeGroupID OBJECT-GROUP

OBJECTS {

              dot3OmpEmulationType
      
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3 OMP emulation entity
               state definition.  Objects are per LLID."
      ::= { dot3EponGroups 3 }

dot3OmpeGroupStat OBJECT-GROUP

      OBJECTS {
              dot3OmpEmulationSLDErrors,
              dot3OmpEmulationCRC8Errors,
              dot3OmpEmulationBadLLID,
              dot3OmpEmulationGoodLLID,
              dot3OmpEmulationOnuPonCastLLID,
              dot3OmpEmulationOltPonCastLLID,
              dot3OmpEmulationBroadcastBitNotOnuLlid,
              dot3OmpEmulationOnuLLIDNotBroadcast,
              dot3OmpEmulationBroadcastBitPlusOnuLlid,
              dot3OmpEmulationNotBroadcastBitNotOnuLlid
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3 OMP emulation
               Statistics.  Objects are per LLID."
      ::= { dot3EponGroups 4 }

dot3EponFecGroupAll OBJECT-GROUP

      OBJECTS {
              dot3EponFecPCSCodingViolation,
              dot3EponFecAbility,
              dot3EponFecMode,
              dot3EponFecCorrectedBlocks,
              dot3EponFecUncorrectableBlocks,
              dot3EponFecBufferHeadCodingViolation
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3 FEC group control and
              statistics.  Objects are per LLID."
      ::= { dot3EponGroups 5 }

dot3ExtPkgGroupControl OBJECT-GROUP

OBJECTS {

dot3ExtPkgObjectReset,

              dot3ExtPkgObjectPowerDown,
              dot3ExtPkgObjectNumberOfLLIDs,
              dot3ExtPkgObjectFecEnabled,
              dot3ExtPkgObjectReportMaximumNumQueues,
              dot3ExtPkgObjectRegisterAction
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3ExtPkg control
               definition.  Objects are per LLID."
      ::= { dot3EponGroups 6 }

dot3ExtPkgGroupQueue OBJECT-GROUP

      OBJECTS {
       dot3ExtPkgObjectReportNumThreshold,
       dot3ExtPkgObjectReportMaximumNumThreshold,
       dot3ExtPkgStatTxFramesQueue,
       dot3ExtPkgStatRxFramesQueue,
       dot3ExtPkgStatDroppedFramesQueue
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3ExtPkg Queue
               control.  Objects are per LLID, per queue."
      ::= { dot3EponGroups 7 }

dot3ExtPkgGroupQueueSets OBJECT-GROUP

      OBJECTS {
       dot3ExtPkgObjectReportThreshold
      }
      STATUS  current
      DESCRIPTION
              "A collection of objects of dot3ExtPkg queue_set
               control.  Objects are per LLID, per queue, per
               queue_set."
      ::= { dot3EponGroups 8 }

dot3ExtPkgGroupOptIf OBJECT-GROUP

      OBJECTS {
     dot3ExtPkgOptIfSuspectedFlag,
       dot3ExtPkgOptIfInputPower,
       dot3ExtPkgOptIfLowInputPower,
       dot3ExtPkgOptIfHighInputPower,
       dot3ExtPkgOptIfLowerInputPowerThreshold,
       dot3ExtPkgOptIfUpperInputPowerThreshold,
       dot3ExtPkgOptIfOutputPower,
       dot3ExtPkgOptIfLowOutputPower,
       dot3ExtPkgOptIfHighOutputPower,
       dot3ExtPkgOptIfLowerOutputPowerThreshold,
       dot3ExtPkgOptIfUpperOutputPowerThreshold,
       dot3ExtPkgOptIfSignalDetect,
       dot3ExtPkgOptIfTransmitAlarm,
       dot3ExtPkgOptIfTransmitEnable
       }
      STATUS  current
      DESCRIPTION
              "A collection of objects of control and status indication
               of the optical interface.
               Objects are per LLID."
      ::= { dot3EponGroups 9 }
  
  -- Compliance

dot3EponCompliances

         OBJECT IDENTIFIER ::= { dot3EponConformance 2 }

dot3MPCPCompliance MODULE-COMPLIANCE

      STATUS      current
      DESCRIPTION "The compliance statement for Multi-Point
                   Control Protocol interfaces."
      
      MODULE  -- this module
      MANDATORY-GROUPS { dot3MpcpGroupBase}
     
      GROUP       dot3MpcpGroupStat
     DESCRIPTION "This group is mandatory for all MPCP supporting
                  interfaces for statistics collection."
     ::= { dot3EponCompliances 1}

dot3OmpeCompliance MODULE-COMPLIANCE

      STATUS      current
      DESCRIPTION "The compliance statement for OMPEmulation
                   interfaces."
      
      MODULE  -- this module
      MANDATORY-GROUPS { dot3OmpeGroupID}
      
      GROUP       dot3OmpeGroupStat
      DESCRIPTION "This group is mandatory for all OMPemulation
                   supporting interfaces for statistics collection."
      
      ::= { dot3EponCompliances 2}

dot3EponFecCompliance MODULE-COMPLIANCE

      STATUS      current
      DESCRIPTION "The compliance statement for FEC EPON interfaces.

This group is mandatory for all FEC supporting interfaces for control and statistics collection."

      MODULE  -- this module
      MANDATORY-GROUPS { dot3EponFecGroupAll }
      
      ::= { dot3EponCompliances 3}

dot3ExtPkgCompliance MODULE-COMPLIANCE

      STATUS      current
      DESCRIPTION "The compliance statement for EPON Interfaces
                   using the extended package."
      MODULE  -- this module
      MANDATORY-GROUPS { dot3ExtPkgGroupControl }
      
      GROUP       dot3ExtPkgGroupQueue
      DESCRIPTION " This group is mandatory for all EPON interfaces
                   supporting REPORT queue management of the extended
                   package."
      
      GROUP       dot3ExtPkgGroupQueueSets
      DESCRIPTION " This group is mandatory for all EPON interfaces
                   supporting REPORT queue_sets management of the
                   extended package."
      
      GROUP       dot3ExtPkgGroupOptIf
      DESCRIPTION "This group is mandatory for all EPON interfaces
                   supporting optical interfaces management,
                   of the extended package."
      
      ::= { dot3EponCompliances 4}
  
  END

7. IANA Considerations

IANA has allocated a single object identifier for the MODULE-IDENTITY of the DOT3-EPON-MIB module under the MIB-2 tree.

The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

         Descriptor        OBJECT IDENTIFIER value
         ----------        -----------------------
         
         dot3EponMIB        { mib-2 155 }

8. Acknowledgements

This document is the result of the efforts of the HUBMIB Working Group. Some special thanks to Dan Romascanu, who was WG chair during most of the development of this document, and who carefully reviewed and commented on the initial versions of this document. Also, some special thanks to Bert Wijnen, who is the current WG chair, for his review and comments on the final stages of this document.

Special thanks are due to David Perkins for his detailed and helpful MIB Doctor review of this document.

Also, some special thanks to some of the IEEE802.3ah Working Group people for their contribution and additional reviews of the document.

9. Security Considerations

There are number of managed objects defined in this MIB module that have a MAX-ACCESS clause of read-write or read-create. Writing to these objects can have potentially disruptive effects on network operation, including:

Changing dot3MpcpAdminState state can lead to disabling the Multi-Point Control Protocol on the respective interface, leading to the interruption of service for the users connected to the respective EPON interface.

Changing dot3EponFecMode state can lead to disabling the Forward Error Correction on the respective interface, which can lead to a degradation of the optical link, and therefore may lead to an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectReset state can lead to a reset of the respective interface leading to an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectPowerDown state can lead to a power down of the respective interface, leading to an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectFecEnabled state can lead to disabling the Forward Error Correction on the respective interface, which can lead to a degradation of the optical link, and therefore may lead to an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectRegisterAction state can lead to a change in the registration state of the respective interface, leading to a deregistration and an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectReportNumThreshold can lead to a change in the reporting of the ONU interface and therefore to a change in the bandwidth allocation of the respective interface. This change may lead a degradation or an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgObjectReportThreshold can lead to a change in the reporting of the ONU interface and therefore to a change in the bandwidth allocation of the respective interface. This change may lead a degradation or an interruption of service for the users connected to the respective EPON interface.

Changing dot3ExtPkgOptIfLowerInputPowerThreshold can lead to a Threshold Crossing Alert (TCA) being sent for the respective interface. This alert may be leading to an interruption of service for the users connected to the respective EPON interface, depending on the system action on such an alert.

Changing dot3ExtPkgOptIfUpperInputPowerThreshold can lead to a Threshold Crossing Alert (TCA) being sent for the respective interface. This alert may be leading to an interruption of service for the users connected to the respective EPON interface, depending on the system action on such an alert.

Changing dot3ExtPkgOptIfLowerOutputPowerThreshold can lead to a Threshold Crossing Alert (TCA) being sent for the respective interface. This alert may be leading to an interruption of service for the users connected to the respective EPON interface, depending on the system action on such an alert.

Changing dot3ExtPkgOptIfUpperOutputPowerThreshold can lead to a Threshold Crossing Alert (TCA) being sent for the respective interface. This alert may be leading to an interruption of service for the users connected to the respective EPON interface, depending on the system action on such an alert.

Changing dot3ExtPkgOptIfTransmitEnable state can lead to a halt in the optical transmission of the respective interface, leading to an interruption of service for the users connected to the respective EPON interface.

The user of this MIB module must therefore be aware that support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.

The readable objects in this MIB module (i.e., those with MAX-ACCESS other than not-accessible) may be considered sensitive in some environments since, collectively, they provide information about the performance of network interfaces and can reveal some aspects of their configuration. In such environments it is important to control even GET and NOTIFY access to these objects and possibly even to encrypt their values when sending them over the network via SNMP.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

10. References

10.1. Normative References

   [802.1d]       IEEE, "Institute of Electrical and Electronic
                  Engineers,  802.1D-2004, IEEE Standard for Local and
                  metropolitan area networks Media Access Control (MAC)
                  Bridges.", June 2004.
   
   [802.3]        IEEE, "Institute of Electrical and Electronic
                  Engineers, IEEE Std 802.3-2002, "IEEE Standard for
                  Carrier Sense Multiple Access with Collision Detection
                  (CSMA/CD) Access Method and Physical Layer
                  Specifications.", December 2002.
   
   [802.3ah]      IEEE, "Institute of Electrical and Electronic
                  Engineers, IEEE Std 802.3ah-2004.  Information
                  technology - Telecommunications and information
                  exchange between systems - Local and metropolitan area
                  networks - Specific requirements - Part 3: Carrier
                  sense multiple access with collision detection
                  (CSMA/CD) access method and physical layer
                  specifications - Media Access Control Parameters,
                  Physical Layers and Management Parameters for
                  subscriber access networks.", IEEE Std 802.3ah-2004,
                  October 2004.
   
   [ITU-T.G.975]  ITU, "ITU-T, SERIES G: TRANSMISSION SYSTEMS AND MEDIA,
                  DIGITAL SYSTEMS AND NETWORKS Digital sections and
                  digital line system - Optical fibre submarine cable
                  systems Forward error correction for submarine
                  systems, ITU-T  Recommendation  G.975", October 2000.
   
   [ITU-T.G.983]  ITU, "ITU-T, SERIES G: TRANSMISSION SYSTEMS AND MEDIA,
                  DIGITAL SYSTEMS AND NETWORKS, Digital transmission
                  systems - Digital sections and digital line system -
                  Optical line systems for local and access networks
                  Broadband optical access systems based on Passive
                  Optical Networks (PON), ITU-T Recommendation G.983.1",
                  October 1998.
   
   [RFC2119]      Bradner, S., "Key words for use in RFCs to Indicate
                  Requirement Levels", BCP 14, RFC 2119, March 1997.
   
   [RFC2578]      McCloghrie, K., Ed., Perkins, D., Ed., and J.
                  Schoenwaelder, Ed., "Structure of Management
                  Information Version 2 (SMIv2)", STD 58, RFC 2578,
                  April 1999.
   
   [RFC2579]      McCloghrie, K., Ed., Perkins, D., Ed., and J.
                  Schoenwaelder, Ed., "Textual Conventions for SMIv2",
                  STD 58, RFC 2579, April 1999.
   
   [RFC2580]      McCloghrie, K., Perkins, D., and J. Schoenwaelder,
                  "Conformance Statements for SMIv2", STD 58, RFC 2580,
                  April 1999.
   
   [RFC2863]      McCloghrie, K. and F. Kastenholz, "The Interfaces
                  Group MIB", RFC 2863, June 2000.
   
   [RFC2864]      McCloghrie, K. and G. Hanson, "The Inverted Stack
                  Table Extension to the Interfaces Group MIB",
                  RFC 2864, June 2000.
   
   [RFC3635]      Flick, J., "Definitions of Managed Objects for the
                  Ethernet-like Interface Types", RFC 3635,
                  September 2003.
   
   [RFC4836]      Beili, E., "Definitions of Managed Objects for IEEE
                  802.3 Medium Attachment Units (MAUs)", RFC 4836,
                  April 2007.

10.2. Informative References

   [RFC1525]      Decker, E., McCloghrie, K., Langille, P., and A.
                  Rijsinghani, "Definitions of Managed Objects for
                  Source Routing Bridges", RFC 1525, September 1993.
   
   [RFC3410]      Case, J., Mundy, R., Partain, D., and B. Stewart,
                  "Introduction and Applicability Statements for
                  Internet-Standard Management Framework", RFC 3410,
                  December 2002.
   
   [RFC4188]      Norseth, K. and E. Bell, "Definitions of Managed
                  Objects for Bridges", RFC 4188, September 2005.
   
   [RFC4878]      Squire, M., "Definitions and Managed Objects for
                  Operations, Administration, and Maintenance (OAM)
                  Functions on Ethernet-Like Interfaces", RFC 4878,
                  June 2007.

Author's Address

   Lior Khermosh
   PMC-SIERRA
   Kohav Hertzelia bldg,
   4 Hasadnaot St.,
   Hertzliya Pituach,  46120
   ISRAEL
   
   Phone: +972-9-9628000 Ext: 302
   Fax:   +972-9-9628001
   EMail: lior_khermosh@pmc-sierra.com

Full Copyright Statement

Copyright © The IETF Trust (2007).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.