text:    DOT3-OAM-MIB DEFINITIONS ::= BEGIN
  
      IMPORTS
        MODULE-IDENTITY, mib-2, OBJECT-TYPE, Counter32, Unsigned32,
          Integer32, NOTIFICATION-TYPE
          FROM SNMPv2-SMI
          -- from [RFC2578]
        TEXTUAL-CONVENTION, MacAddress, TimeStamp, TruthValue
  
          FROM SNMPv2-TC
          -- from [RFC2579]
        CounterBasedGauge64
          FROM HCNUM-TC
          -- from [RFC2856]
        ifIndex
          FROM IF-MIB
          -- from [RFC2863]
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
          FROM SNMPv2-CONF;
          -- from [RFC2580]
  
        dot3OamMIB MODULE-IDENTITY
          LAST-UPDATED "200706140000Z"  -- June 14,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-requests@ietf.org
              In Body: subscribe your_email_address
            Chair: Bert Wijnen
              Alcatel-Lucent
              Email: bwijnen at alcatel-lucent dot com
            Editor: Matt Squire
              Hatteras Networks
              E-mail: msquire at hatterasnetworks dot com
            "
          DESCRIPTION
            "The MIB module for managing the new Ethernet OAM features
            introduced by the Ethernet in the First Mile taskforce (IEEE
            802.3ah).  The functionality presented here is based on IEEE
            802.3ah [802.3ah], released in October, 2004.  [802.3ah] was
            prepared as an addendum to the standing version of IEEE 802.3
            [802.3-2002].  Since then, [802.3ah] has been
            merged into the base IEEE 802.3 specification in [802.3-2005].
  
            In particular, this MIB focuses on the new OAM functions
            introduced in Clause 57 of [802.3ah].  The OAM functionality
            of Clause 57 is controlled by new management attributes
            introduced in Clause 30 of [802.3ah].  The OAM functions are
            not specific to any particular Ethernet physical layer, and
            can be generically applied to any Ethernet interface of
            [802.3-2002].
  
            An Ethernet OAM protocol data unit is a valid Ethernet frame
            with a destination MAC address equal to the reserved MAC
            address for Slow Protocols (See 43B of [802.3ah]), a
            lengthOrType field equal to the reserved type for Slow
            Protocols, and a Slow Protocols subtype equal to that of the
            subtype reserved for Ethernet OAM.  OAMPDU is used throughout
            this document as an abbreviation for Ethernet OAM protocol
            data unit.
  
            The following reference is used throughout this MIB module:
              [802.3ah] refers to:
                IEEE Std 802.3ah-2004: 'Draft amendment 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',
                October 2004.
  
              [802.3-2002] refers to:
                IEEE Std 802.3-2002:
                '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',
                March 2002.
  
              [802.3-2005] refers to:
                IEEE Std 802.3-2005:
                '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',
                December 2005.
  
              [802-2001] refers to:
                'IEEE Standard for LAN/MAN (Local Area
                Network/Metropolitan Area Network): Overview and
                Architecture', IEEE 802, June 2001.
  
            Copyright (c) The IETF Trust (2007).  This version of
            this MIB module is part of RFC 4878; See the RFC itself for
            full legal notices. "
  
          REVISION    "200706140000Z"  -- June 14, 2007"
          DESCRIPTION "Initial version, published as RFC 4878."
           ::= { mib-2 158 }
  
        --
        -- Sections of the Ethernet OAM MIB
        --
           dot3OamNotifications OBJECT IDENTIFIER ::= { dot3OamMIB 0 }
           dot3OamObjects       OBJECT IDENTIFIER ::= { dot3OamMIB 1 }
           dot3OamConformance   OBJECT IDENTIFIER ::= { dot3OamMIB 2 }
  
        --
        -- Textual conventions for the OAM MIB
        --
        EightOTwoOui ::= TEXTUAL-CONVENTION
          STATUS       current
          DESCRIPTION
            "24-bit Organizationally Unique Identifier.  Information on
            OUIs can be found in IEEE 802-2001 [802-2001], Clause 9."
          SYNTAX       OCTET STRING(SIZE(3))
  
        -- ***************************************************************
        --
        -- Ethernet OAM Control group
        --
  
        dot3OamTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF Dot3OamEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "This table contains the primary controls and status for the
            OAM capabilities of an Ethernet-like interface.  There will be
            one row in this table for each Ethernet-like interface in the
            system that supports the OAM functions defined in [802.3ah].
            "
          ::= { dot3OamObjects 1 }
  
        dot3OamEntry OBJECT-TYPE
          SYNTAX     Dot3OamEntry
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION
            "An entry in the table that contains information on the
            Ethernet OAM function for a single Ethernet like interface.
            Entries in the table are created automatically for each
            interface supporting Ethernet OAM.  The status of the row
            entry can be determined from dot3OamOperStatus.
  
            A dot3OamEntry is indexed in the dot3OamTable by the ifIndex
            object of the Interfaces MIB.
            "
          INDEX       { ifIndex }
          ::= { dot3OamTable 1 }
  
        Dot3OamEntry ::=
          SEQUENCE {
            dot3OamAdminState                  INTEGER,
            dot3OamOperStatus                  INTEGER,
            dot3OamMode                        INTEGER,
            dot3OamMaxOamPduSize               Unsigned32,
            dot3OamConfigRevision              Unsigned32,
            dot3OamFunctionsSupported          BITS
          }
  
        dot3OamAdminState OBJECT-TYPE
          SYNTAX      INTEGER {
                        enabled(1),
                        disabled(2)
                      }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "This object is used to provision the default administrative
            OAM mode for this interface.  This object represents the
            desired state of OAM for this interface.
  
            The dot3OamAdminState always starts in the disabled(2) state
            until an explicit management action or configuration
            information retained by the system causes a transition to the
            enabled(1) state.  When enabled(1), Ethernet OAM will attempt
            to operate over this interface.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.2"
          ::= { dot3OamEntry 1 }
  
        dot3OamOperStatus OBJECT-TYPE
          SYNTAX      INTEGER {
                        disabled(1),
                        linkFault(2),
                        passiveWait(3),
                        activeSendLocal(4),
                        sendLocalAndRemote(5),
                        sendLocalAndRemoteOk(6),
                        oamPeeringLocallyRejected(7),
                        oamPeeringRemotelyRejected(8),
                        operational(9),
                        nonOperHalfDuplex(10)
                      }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "At initialization and failure conditions, two OAM entities on
            the same full-duplex Ethernet link begin a discovery phase to
            determine what OAM capabilities may be used on that link.  The
            progress of this initialization is controlled by the OA
            sublayer.
  
            This value is always disabled(1) if OAM is disabled on this
            interface via the dot3OamAdminState.
  
            If the link has detected a fault and is transmitting OAMPDUs
            with a link fault indication, the value is linkFault(2).
            Also, if the interface is not operational (ifOperStatus is
            not up(1)), linkFault(2) is returned.  Note that the object
            ifOperStatus may not be up(1) as a result of link failure or
            administrative action (ifAdminState being down(2) or
            testing(3)).
  
            The passiveWait(3) state is returned only by OAM entities in
            passive mode (dot3OamMode) and reflects the state in which the
            OAM entity is waiting to see if the peer device is OA
            capable.  The activeSendLocal(4) value is used by active mode
            devices (dot3OamMode) and reflects the OAM entity actively
            trying to discover whether the peer has OAM capability but has
            not yet made that determination.
  
            The state sendLocalAndRemote(5) reflects that the local OA
            entity has discovered the peer but has not yet accepted or
            rejected the configuration of the peer.  The local device can,
            for whatever reason, decide that the peer device is
            unacceptable and decline OAM peering.  If the local OAM entity
            rejects the peer OAM entity, the state becomes
            oamPeeringLocallyRejected(7).  If the OAM peering is allowed
            by the local device, the state moves to
            sendLocalAndRemoteOk(6).  Note that both the
            sendLocalAndRemote(5) and oamPeeringLocallyRejected(7) states
            fall within the state SEND_LOCAL_REMOTE of the Discovery state
            diagram [802.3ah, Figure 57-5], with the difference being
            whether the local OAM client has actively rejected the peering
            or has just not indicated any decision yet.  Whether a peering
            decision has been made is indicated via the local flags field
            in the OAMPDU (reflected in the aOAMLocalFlagsField of
            30.3.6.1.10).
  
            If the remote OAM entity rejects the peering, the state
            becomes oamPeeringRemotelyRejected(8).  Note that both the
            sendLocalAndRemoteOk(6) and oamPeeringRemotelyRejected(8)
            states fall within the state SEND_LOCAL_REMOTE_OK of the
            Discovery state diagram [802.3ah, Figure 57-5], with the
            difference being whether the remote OAM client has rejected
            the peering or has just not yet decided.  This is indicated
            via the remote flags field in the OAMPDU (reflected in the
            aOAMRemoteFlagsField of 30.3.6.1.11).
  
            When the local OAM entity learns that both it and the remote
            OAM entity have accepted the peering, the state moves to
            operational(9) corresponding to the SEND_ANY state of the
            Discovery state diagram [802.3ah, Figure 57-5].
  
            Since Ethernet OAM functions are not designed to work
            completely over half-duplex interfaces, the value
            nonOperHalfDuplex(10) is returned whenever Ethernet OAM is
            enabled (dot3OamAdminState is enabled(1)), but the interface
            is in half-duplex operation.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.4, 30.3.6.1.10, 30.3.6.1.11"
          ::= { dot3OamEntry 2 }
  
        dot3OamMode OBJECT-TYPE
          SYNTAX      INTEGER {
                        passive(1),
                        active(2)
                      }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "This object configures the mode of OAM operation for this
            Ethernet-like interface.  OAM on Ethernet interfaces may be in
            'active' mode or 'passive' mode.  These two modes differ in
            that active mode provides additional capabilities to initiate
            monitoring activities with the remote OAM peer entity, while
            passive mode generally waits for the peer to initiate OA
            actions with it.  As an example, an active OAM entity can put
            the remote OAM entity in a loopback state, where a passive OA
            entity cannot.
  
            The default value of dot3OamMode is dependent on the type of
            system on which this Ethernet-like interface resides.  The
            default value should be 'active(2)' unless it is known that
            this system should take on a subservient role to the other
            device connected over this interface.
  
            Changing this value results in incrementing the configuration
            revision field of locally generated OAMPDUs (30.3.6.1.12) and
            potentially re-doing the OAM discovery process if the
            dot3OamOperStatus was already operational(9).
            "
          REFERENCE   "[802.3ah], 30.3.6.1.3"
          ::= { dot3OamEntry 3 }
  
        dot3OamMaxOamPduSize OBJECT-TYPE
          SYNTAX      Unsigned32 (64..1518)
          UNITS       "octets"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The largest OAMPDU that the OAM entity supports.  OA
            entities exchange maximum OAMPDU sizes and negotiate to use
            the smaller of the two maximum OAMPDU sizes between the peers.
            This value is determined by the local implementation.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.8"
          ::= { dot3OamEntry 4 }
  
        dot3OamConfigRevision OBJECT-TYPE
          SYNTAX      Unsigned32(0..65535)
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The configuration revision of the OAM entity as reflected in
            the latest OAMPDU sent by the OAM entity.  The config revision
            is used by OAM entities to indicate that configuration changes
            have occurred, which might require the peer OAM entity to
            re-evaluate whether OAM peering is allowed.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.12"
          ::= { dot3OamEntry 5 }
  
        dot3OamFunctionsSupported OBJECT-TYPE
          SYNTAX      BITS {
                        unidirectionalSupport (0),
                        loopbackSupport(1),
                        eventSupport(2),
                        variableSupport(3)
                      }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The OAM functions supported on this Ethernet-like interface.
            OAM consists of separate functional sets beyond the basic
            discovery process that is always required.  These functional
            groups can be supported independently by any implementation.
            These values are communicated to the peer via the local
            configuration field of Information OAMPDUs.
  
            Setting 'unidirectionalSupport(0)' indicates that the OA
            entity supports the transmission of OAMPDUs on links that are
            operating in unidirectional mode (traffic flowing in one
            direction only).  Setting 'loopbackSupport(1)' indicates that
            the OAM entity can initiate and respond to loopback commands.
            Setting 'eventSupport(2)' indicates that the OAM entity can
            send and receive Event Notification OAMPDUs.  Setting
            'variableSupport(3)' indicates that the OAM entity can send
            and receive Variable Request and Response OAMPDUs.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.6"
          ::= { dot3OamEntry 6 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Peer group
        --
  
        dot3OamPeerTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF Dot3OamPeerEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "This table contains information about the OAM peer for a
            particular Ethernet-like interface.  OAM entities communicate
            with a single OAM peer entity on Ethernet links on which OA
            is enabled and operating properly.  There is one entry in this
            table for each entry in the dot3OamTable for which information
            on the peer OAM entity is available.
            "
          ::= { dot3OamObjects 2 }
  
        dot3OamPeerEntry OBJECT-TYPE
          SYNTAX      Dot3OamPeerEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "An entry in the table containing information on the peer OA
            entity for a single Ethernet-like interface.
  
            Note that there is at most one OAM peer for each Ethernet-like
            interface.  Entries are automatically created when information
            about the OAM peer entity becomes available, and automatically
            deleted when the OAM peer entity is no longer in
            communication.  Peer information is not available when
            dot3OamOperStatus is disabled(1), linkFault(2),
            passiveWait(3), activeSendLocal(4), or nonOperHalfDuplex(10).
            "
          INDEX       { ifIndex }
          ::= { dot3OamPeerTable 1 }
  
        Dot3OamPeerEntry ::=
          SEQUENCE {
            dot3OamPeerMacAddress               MacAddress,
            dot3OamPeerVendorOui                EightOTwoOui,
            dot3OamPeerVendorInfo               Unsigned32,
            dot3OamPeerMode                     INTEGER,
            dot3OamPeerMaxOamPduSize            Unsigned32,
            dot3OamPeerConfigRevision           Unsigned32,
            dot3OamPeerFunctionsSupported       BITS
          }
  
        dot3OamPeerMacAddress OBJECT-TYPE
          SYNTAX      MacAddress
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The MAC address of the peer OAM entity.  The MAC address is
            derived from the most recently received OAMPDU.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.5."
          ::= { dot3OamPeerEntry 1 }
  
        dot3OamPeerVendorOui OBJECT-TYPE
          SYNTAX      EightOTwoOui
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The OUI of the OAM peer as reflected in the latest
            Information OAMPDU received with a Local Information TLV.  The
            OUI can be used to identify the vendor of the remote OA
            entity.  This value is initialized to three octets of zero
            before any Local Information TLV is received.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.16."
          ::= { dot3OamPeerEntry 2 }
  
        dot3OamPeerVendorInfo OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The Vendor Info of the OAM peer as reflected in the latest
            Information OAMPDU received with a Local Information TLV.
            The semantics of the Vendor Information field is proprietary
            and specific to the vendor (identified by the
            dot3OamPeerVendorOui).  This information could, for example,
            be used to identify a specific product or product family.
            This value is initialized to zero before any Local
            Information TLV is received.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.17."
          ::= { dot3OamPeerEntry 3 }
  
        dot3OamPeerMode OBJECT-TYPE
          SYNTAX      INTEGER {
                        passive(1),
                        active(2),
                        unknown(3)
                      }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The mode of the OAM peer as reflected in the latest
            Information OAMPDU received with a Local Information TLV.  The
            mode of the peer can be determined from the Configuration
            field in the Local Information TLV of the last Information
            OAMPDU received from the peer.  The value is unknown(3)
            whenever no Local Information TLV has been received.  The
            values of active(2) and passive(1) are returned when a Local
            Information TLV has been received indicating that the peer is
            in active or passive mode, respectively.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.7."
          ::= { dot3OamPeerEntry 4 }
  
        dot3OamPeerMaxOamPduSize OBJECT-TYPE
          SYNTAX      Unsigned32 (0 | 64..1518)
          UNITS       "octets"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The maximum size of OAMPDU supported by the peer as reflected
            in the latest Information OAMPDU received with a Local
            Information TLV.  Ethernet OAM on this interface must not use
            OAMPDUs that exceed this size.  The maximum OAMPDU size can be
            determined from the PDU Configuration field of the Local
            Information TLV of the last Information OAMPDU received from
            the peer.  A value of zero is returned if no Local Information
            TLV has been received.  Otherwise, the value of the OAM peer's
            maximum OAMPDU size is returned in this value.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.9."
          ::= { dot3OamPeerEntry 5 }
  
        dot3OamPeerConfigRevision OBJECT-TYPE
          SYNTAX      Unsigned32(0..65535)
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The configuration revision of the OAM peer as reflected in
            the latest OAMPDU.  This attribute is changed by the peer
            whenever it has a local configuration change for Ethernet OA
            on this interface.  The configuration revision can be
            determined from the Revision field of the Local Information
            TLV of the most recently received Information OAMPDU with
            a Local Information TLV.  A value of zero is returned if
            no Local Information TLV has been received.
          "
          REFERENCE   "[802.3ah], 30.3.6.1.13."
          ::= { dot3OamPeerEntry 6 }
  
        dot3OamPeerFunctionsSupported OBJECT-TYPE
          SYNTAX      BITS {
                        unidirectionalSupport (0),
                        loopbackSupport(1),
                        eventSupport(2),
                        variableSupport(3)
                      }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The OAM functions supported on this Ethernet-like interface.
            OAM consists of separate functionality sets above the basic
            discovery process.  This value indicates the capabilities of
            the peer OAM entity with respect to these functions.  This
            value is initialized so all bits are clear.
  
            If unidirectionalSupport(0) is set, then the peer OAM entity
            supports sending OAM frames on Ethernet interfaces when the
            receive path is known to be inoperable.  If
            loopbackSupport(1) is set, then the peer OAM entity can send
            and receive OAM loopback commands.  If eventSupport(2) is set,
            then the peer OAM entity can send and receive event OAMPDUs to
            signal various error conditions.  If variableSupport(3) is
            set, then the peer OAM entity can send and receive variable
            requests to monitor the attribute value as described in Clause
            57 of [802.3ah].
  
            The capabilities of the OAM peer can be determined from the
            configuration field of the Local Information TLV of the most
            recently received Information OAMPDU with a Local Information
            TLV.  All zeros are returned if no Local Information TLV has
            yet been received.
            "
          REFERENCE   "[802.3ah], REFERENCE 30.3.6.1.7."
          ::= { dot3OamPeerEntry 7 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Loopback group
        --
  
        dot3OamLoopbackTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF Dot3OamLoopbackEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "This table contains controls for the loopback state of the
            local link as well as indicates the status of the loopback
            function.  There is one entry in this table for each entry in
            dot3OamTable that supports loopback functionality (where
            dot3OamFunctionsSupported includes the loopbackSupport bit
            set).
  
            Loopback can be used to place the remote OAM entity in a state
            where every received frame (except OAMPDUs) is echoed back
            over the same interface on which they were received.  In this
            state, at the remote entity, 'normal' traffic is disabled as
            only the looped back frames are transmitted on the interface.
            Loopback is thus an intrusive operation that prohibits normal
            data flow and should be used accordingly.
            "
          ::= { dot3OamObjects 3 }
  
        dot3OamLoopbackEntry OBJECT-TYPE
          SYNTAX      Dot3OamLoopbackEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "An entry in the table, containing information on the loopback
            status for a single Ethernet-like interface.  Entries in the
            table are automatically created whenever the local OAM entity
            supports loopback capabilities.  The loopback status on the
            interface can be determined from the dot3OamLoopbackStatus
            object.
            "
          INDEX       { ifIndex }
          ::= { dot3OamLoopbackTable 1 }
  
        Dot3OamLoopbackEntry ::=
          SEQUENCE {
            dot3OamLoopbackStatus             INTEGER,
            dot3OamLoopbackIgnoreRx           INTEGER
          }
  
        dot3OamLoopbackStatus OBJECT-TYPE
          SYNTAX      INTEGER {
                        -- all values, except where noted, can be read
                        -- but cannot be written
                        noLoopback (1),
  
                        -- initiatingLoopback can be read or written
                        initiatingLoopback (2),
                        remoteLoopback (3),
  
                        -- terminatingLoopback can be read or written
                        terminatingLoopback (4),
                        localLoopback (5),
                        unknown (6)
                      }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The loopback status of the OAM entity.  This status is
            determined by a combination of the local parser and
            multiplexer states, the remote parser and multiplexer states,
            as well as by the actions of the local OAM client.  When
            operating in normal mode with no loopback in progress, the
            status reads noLoopback(1).
  
            The values initiatingLoopback(2) and terminatingLoopback(4)
            can be read or written.  The other values can only be read -
            they can never be written.  Writing initiatingLoopback causes
            the local OAM entity to start the loopback process with its
            peer.  This value can only be written when the status is
            noLoopback(1).  Writing the value initiatingLoopback(2) in any
            other state has no effect.  When in remoteLoopback(3), writing
            terminatingLoopback(4) causes the local OAM entity to initiate
            the termination of the loopback state.  Writing
            terminatingLoopack(4) in any other state has no effect.
  
            If the OAM client initiates a loopback and has sent a
            Loopback OAMPDU and is waiting for a response, where the local
            parser and multiplexer states are DISCARD (see [802.3ah,
            57.2.11.1]), the status is 'initiatingLoopback'.  In this
            case, the local OAM entity has yet to receive any
            acknowledgment that the remote OAM entity has received its
            loopback command request.
  
            If the local OAM client knows that the remote OAM entity is in
            loopback mode (via the remote state information as described
            in [802.3ah, 57.2.11.1, 30.3.6.1.15]), the status is
            remoteLoopback(3).  If the local OAM client is in the process
            of terminating the remote loopback [802.3ah, 57.2.11.3,
            30.3.6.1.14] with its local multiplexer and parser states in
            DISCARD, the status is terminatingLoopback(4).  If the remote
            OAM client has put the local OAM entity in loopback mode as
            indicated by its local parser state, the status is
            localLoopback(5).
  
            The unknown(6) status indicates that the parser and
            multiplexer combination is unexpected.  This status may be
            returned if the OAM loopback is in a transition state but
            should not persist.
  
            The values of this attribute correspond to the following
            values of the local and remote parser and multiplexer states.
  
              value            LclPrsr   LclMux    RmtPrsr   RmtMux
              noLoopback         FWD       FWD       FWD       FWD
              initLoopback     DISCARD   DISCARD     FWD       FWD
              rmtLoopback      DISCARD     FWD      LPBK    DISCARD
              tmtngLoopback    DISCARD   DISCARD    LPBK    DISCARD
              lclLoopback        LPBK    DISCARD   DISCARD     FWD
              unknown            ***   any other combination   ***
            "
          REFERENCE   "[802.3ah], REFERENCE 57.2.11, 30.3.61.14,
            30.3.6.1.15"
          ::= { dot3OamLoopbackEntry 1 }
  
        dot3OamLoopbackIgnoreRx OBJECT-TYPE
          SYNTAX      INTEGER { ignore(1), process(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "Since OAM loopback is a disruptive operation (user traffic
            does not pass), this attribute provides a mechanism to provide
            controls over whether received OAM loopback commands are
            processed or ignored.  When the value is ignore(1), received
            loopback commands are ignored.  When the value is process(2),
            OAM loopback commands are processed.  The default value is to
            ignore loopback commands (ignore(1)).
            "
          REFERENCE   "[802.3ah], REFERENCE 57.2.11, 30.3.61.14,
            30.3.6.1.15"
          ::= { dot3OamLoopbackEntry 2 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Statistics group
        --
  
        dot3OamStatsTable OBJECT-TYPE
          SYNTAX      SEQUENCE OF Dot3OamStatsEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "This table contains statistics for the OAM function on a
            particular Ethernet-like interface.  There is an entry in the
            table for every entry in the dot3OamTable.
  
            The counters in this table are defined as 32-bit entries to
            match the counter size as defined in [802.3ah].  Given that
            the OA protocol is a slow protocol, the counters increment at
            a slow rate.
            "
          ::= { dot3OamObjects 4 }
  
        dot3OamStatsEntry OBJECT-TYPE
          SYNTAX      Dot3OamStatsEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "An entry in the table containing statistics information on
            the Ethernet OAM function for a single Ethernet-like
            interface.  Entries are automatically created for every entry
            in the dot3OamTable.  Counters are maintained across
            transitions in dot3OamOperStatus.
            "
          INDEX       { ifIndex }
          ::= { dot3OamStatsTable 1 }
  
        Dot3OamStatsEntry ::=
          SEQUENCE {
                    dot3OamInformationTx                Counter32,
                    dot3OamInformationRx                Counter32,
                    dot3OamUniqueEventNotificationTx    Counter32,
                    dot3OamUniqueEventNotificationRx    Counter32,
                    dot3OamDuplicateEventNotificationTx Counter32,
                    dot3OamDuplicateEventNotificationRx Counter32,
                    dot3OamLoopbackControlTx            Counter32,
                    dot3OamLoopbackControlRx            Counter32,
                    dot3OamVariableRequestTx            Counter32,
                    dot3OamVariableRequestRx            Counter32,
                    dot3OamVariableResponseTx           Counter32,
                    dot3OamVariableResponseRx           Counter32,
                    dot3OamOrgSpecificTx                Counter32,
                    dot3OamOrgSpecificRx                Counter32,
                    dot3OamUnsupportedCodesTx           Counter32,
                    dot3OamUnsupportedCodesRx           Counter32,
                    dot3OamFramesLostDueToOam           Counter32
                   }
  
        dot3OamInformationTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Information OAMPDUs transmitted on
            this 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.  "
          REFERENCE   "[802.3ah], 30.3.6.1.20."
          ::= { dot3OamStatsEntry 1 }
  
        dot3OamInformationRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Information OAMPDUs received on this
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.21."
          ::= { dot3OamStatsEntry 2 }
  
        dot3OamUniqueEventNotificationTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of unique Event OAMPDUs transmitted on
            this interface.  Event Notifications may be sent in duplicate
            to increase the probability of successfully being received,
            given the possibility that a frame may be lost in transit.
            Duplicate Event Notification transmissions are counted by
            dot3OamDuplicateEventNotificationTx.
  
            A unique Event Notification OAMPDU is indicated as an Event
            Notification OAMPDU with a Sequence Number field that is
            distinct from the previously transmitted Event Notification
            OAMPDU Sequence Number.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.22."
          ::= { dot3OamStatsEntry 3 }
  
        dot3OamUniqueEventNotificationRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of unique Event OAMPDUs received on
            this interface.  Event Notification OAMPDUs may be sent in
            duplicate to increase the probability of successfully being
            received, given the possibility that a frame may be lost in
            transit.  Duplicate Event Notification receptions are counted
            by dot3OamDuplicateEventNotificationRx.
  
            A unique Event Notification OAMPDU is indicated as an Event
            Notification OAMPDU with a Sequence Number field that is
            distinct from the previously received Event Notification
            OAMPDU Sequence Number.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.24."
          ::= { dot3OamStatsEntry 4 }
  
        dot3OamDuplicateEventNotificationTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of duplicate Event OAMPDUs transmitted
            on this interface.  Event Notification OAMPDUs may be sent in
            duplicate to increase the probability of successfully being
            received, given the possibility that a frame may be lost in
            transit.
  
            A duplicate Event Notification OAMPDU is indicated as an Event
            Notification OAMPDU with a Sequence Number field that is
            identical to the previously transmitted Event Notification
            OAMPDU Sequence Number.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.23."
          ::= { dot3OamStatsEntry 5 }
  
        dot3OamDuplicateEventNotificationRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of duplicate Event OAMPDUs received on
            this interface.  Event Notification OAMPDUs may be sent in
            duplicate to increase the probability of successfully being
            received, given the possibility that a frame may be lost in
            transit.
  
            A duplicate Event Notification OAMPDU is indicated as an Event
            Notification OAMPDU with a Sequence Number field that is
            identical to the previously received Event Notification OAMPDU
            Sequence Number.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.25."
          ::= { dot3OamStatsEntry 6 }
  
        dot3OamLoopbackControlTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Loopback Control OAMPDUs transmitted
            on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.26."
          ::= { dot3OamStatsEntry 7 }
  
        dot3OamLoopbackControlRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Loopback Control OAMPDUs received
            on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.27."
          ::= { dot3OamStatsEntry 8 }
  
        dot3OamVariableRequestTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Variable Request OAMPDUs transmitted
            on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.28."
          ::= { dot3OamStatsEntry 9 }
  
        dot3OamVariableRequestRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Variable Request OAMPDUs received on
            this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.29."
          ::= { dot3OamStatsEntry 10 }
  
        dot3OamVariableResponseTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Variable Response OAMPDUs
            transmitted on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.30."
          ::= { dot3OamStatsEntry 11 }
  
        dot3OamVariableResponseRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Variable Response OAMPDUs received
            on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.31."
          ::= { dot3OamStatsEntry 12 }
  
         dot3OamOrgSpecificTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Organization Specific OAMPDUs
            transmitted on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.32."
          ::= { dot3OamStatsEntry 13 }
  
        dot3OamOrgSpecificRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of Organization Specific OAMPDUs
            received on this 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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.33."
          ::= { dot3OamStatsEntry 14 }
  
        dot3OamUnsupportedCodesTx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of OAMPDUs transmitted on this
            interface with an unsupported op-code.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.18."
          ::= { dot3OamStatsEntry 15 }
  
        dot3OamUnsupportedCodesRx OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of OAMPDUs received on this interface
            with an unsupported op-code.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.19."
          ::= { dot3OamStatsEntry 16 }
  
        dot3OamFramesLostDueToOam OBJECT-TYPE
          SYNTAX      Counter32
          UNITS       "frames"
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "A count of the number of frames that were dropped by the OA
            multiplexer.  Since the OAM multiplexer has multiple inputs
            and a single output, there may be cases where frames are
            dropped due to transmit resource contention.  This counter is
            incremented whenever a frame is dropped by the OAM layer.
            Note that any Ethernet frame, not just OAMPDUs, may be dropped
            by the OAM layer.  This can occur when an OAMPDU takes
            precedence over a 'normal' frame resulting in the 'normal'
            frame being dropped.
  
            When this counter is incremented, no other counters in this
            MIB are incremented.
  
            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.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.46."
          ::= { dot3OamStatsEntry 17 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Event Configuration group
        --
  
        dot3OamEventConfigTable OBJECT-TYPE
          SYNTAX     SEQUENCE OF Dot3OamEventConfigEntry
          MAX-ACCESS not-accessible
          STATUS     current
          DESCRIPTION
            "Ethernet OAM includes the ability to generate and receive
            Event Notification OAMPDUs to indicate various link problems.
            This table contains the mechanisms to enable Event
            Notifications and configure the thresholds to generate the
            standard Ethernet OAM events.  There is one entry in the table
            for every entry in dot3OamTable that supports OAM events
            (where dot3OamFunctionsSupported includes the eventSupport
            bit set).  The values in the table are maintained across
            changes to dot3OamOperStatus.
  
            The standard threshold crossing events are:
              - Errored Symbol Period Event.  Generated when the number of
                symbol errors exceeds a threshold within a given window
                defined by a number of symbols (for example, 1,000 symbols
                out of 1,000,000 had errors).
              - Errored Frame Period Event.  Generated when the number of
                frame errors exceeds a threshold within a given window
                defined by a number of frames (for example, 10 frames out
                of 1000 had errors).
              - Errored Frame Event.  Generated when the number of frame
                errors exceeds a threshold within a given window defined
                by a period of time (for example, 10 frames in 1 second
                had errors).
              - Errored Frame Seconds Summary Event.  Generated when the
                number of errored frame seconds exceeds a threshold within
                a given time period (for example, 10 errored frame seconds
                within the last 100 seconds).  An errored frame second is
                defined as a 1 second interval which had >0 frame errors.
            There are other events (dying gasp, critical events) that are
            not threshold crossing events but which can be
            enabled/disabled via this table.
            "
          ::= { dot3OamObjects 5 }
  
        dot3OamEventConfigEntry OBJECT-TYPE
          SYNTAX      Dot3OamEventConfigEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "Entries are automatically created and deleted from this
            table, and exist whenever the OAM entity supports Ethernet OA
            events (as indicated by the eventSupport bit in
            dot3OamFunctionsSuppported).  Values in the table are
            maintained across changes to the value of dot3OamOperStatus.
  
            Event configuration controls when the local management entity
            sends Event Notification OAMPDUs to its OAM peer, and when
            certain event flags are set or cleared in OAMPDUs.
            "
          INDEX       { ifIndex }
          ::= { dot3OamEventConfigTable 1 }
  
        Dot3OamEventConfigEntry ::=
          SEQUENCE {
                    dot3OamErrSymPeriodWindowHi        Unsigned32,
                    dot3OamErrSymPeriodWindowLo        Unsigned32,
                    dot3OamErrSymPeriodThresholdHi     Unsigned32,
                    dot3OamErrSymPeriodThresholdLo     Unsigned32,
                    dot3OamErrSymPeriodEvNotifEnable   TruthValue,
                    dot3OamErrFramePeriodWindow        Unsigned32,
                    dot3OamErrFramePeriodThreshold     Unsigned32,
                    dot3OamErrFramePeriodEvNotifEnable TruthValue,
                    dot3OamErrFrameWindow              Unsigned32,
                    dot3OamErrFrameThreshold           Unsigned32,
                    dot3OamErrFrameEvNotifEnable       TruthValue,
                    dot3OamErrFrameSecsSummaryWindow   Integer32,
                    dot3OamErrFrameSecsSummaryThreshold Integer32,
                    dot3OamErrFrameSecsEvNotifEnable   TruthValue,
                    dot3OamDyingGaspEnable             TruthValue,
                    dot3OamCriticalEventEnable         TruthValue
                  }
  
        dot3OamErrSymPeriodWindowHi OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "2^32 symbols"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The two objects dot3OamErrSymPeriodWindowHi and
            dot3OamErrSymPeriodLo together form an unsigned 64-bit
            integer representing the number of symbols over which this
            threshold event is defined.  This is defined as
          dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi)
                                            + dot3OamErrSymPeriodWindowLo
  
            If dot3OamErrSymPeriodThreshold symbol errors occur within a
            window of dot3OamErrSymPeriodWindow symbols, an Event
            Notification OAMPDU should be generated with an Errored Symbol
            Period Event TLV indicating that the threshold has been
            crossed in this window.
  
            The default value for dot3OamErrSymPeriodWindow is the number
            of symbols in one second for the underlying physical layer.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.34"
          ::= { dot3OamEventConfigEntry 1 }
  
        dot3OamErrSymPeriodWindowLo OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "symbols"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The two objects dot3OamErrSymPeriodWindowHi and
            dot3OamErrSymPeriodWindowLo together form an unsigned 64-bit
            integer representing the number of symbols over which this
            threshold event is defined.  This is defined as
  
          dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi)
                                            + dot3OamErrSymPeriodWindowLo
  
            If dot3OamErrSymPeriodThreshold symbol errors occur within a
            window of dot3OamErrSymPeriodWindow symbols, an Event
            Notification OAMPDU should be generated with an Errored Symbol
            Period Event TLV indicating that the threshold has been
            crossed in this window.
  
            The default value for dot3OamErrSymPeriodWindow is the number
            of symbols in one second for the underlying physical layer.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.34"
          ::= { dot3OamEventConfigEntry 2 }
  
        dot3OamErrSymPeriodThresholdHi OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "2^32 symbols"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The two objects dot3OamErrSymPeriodThresholdHi and
            dot3OamErrSymPeriodThresholdLo together form an unsigned
            64-bit integer representing the number of symbol errors that
            must occur within a given window to cause this event.
  
            This is defined as
  
              dot3OamErrSymPeriodThreshold =
                                ((2^32) * dot3OamErrSymPeriodThresholdHi)
                                        + dot3OamErrSymPeriodThresholdLo
  
            If dot3OamErrSymPeriodThreshold symbol errors occur within a
            window of dot3OamErrSymPeriodWindow symbols, an Event
            Notification OAMPDU should be generated with an Errored Symbol
            Period Event TLV indicating that the threshold has been
            crossed in this window.
  
            The default value for dot3OamErrSymPeriodThreshold is one
            symbol errors.  If the threshold value is zero, then an Event
            Notification OAMPDU is sent periodically (at the end of every
            window).  This can be used as an asynchronous notification to
            the peer OAM entity of the statistics related to this
            threshold crossing alarm.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.34"
          ::= { dot3OamEventConfigEntry 3 }
  
        dot3OamErrSymPeriodThresholdLo OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "symbols"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The two objects dot3OamErrSymPeriodThresholdHi and
            dot3OamErrSymPeriodThresholdLo together form an unsigned
            64-bit integer representing the number of symbol errors that
            must occur within a given window to cause this event.
  
            This is defined as
  
              dot3OamErrSymPeriodThreshold =
                                ((2^32) * dot3OamErrSymPeriodThresholdHi)
                                        + dot3OamErrSymPeriodThresholdLo
  
            If dot3OamErrSymPeriodThreshold symbol errors occur within a
            window of dot3OamErrSymPeriodWindow symbols, an Event
            Notification OAMPDU should be generated with an Errored Symbol
            Period Event TLV indicating that the threshold has been
            crossed in this window.
  
            The default value for dot3OamErrSymPeriodThreshold is one
            symbol error.  If the threshold value is zero, then an Event
            Notification OAMPDU is sent periodically (at the end of every
            window).  This can be used as an asynchronous notification to
            the peer OAM entity of the statistics related to this
            threshold crossing alarm.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.34"
          ::= { dot3OamEventConfigEntry 4 }
  
        dot3OamErrSymPeriodEvNotifEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the OAM entity should send an Event Notification
            OAMPDU when an Errored Symbol Period Event occurs.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          ::= { dot3OamEventConfigEntry 5 }
  
        dot3OamErrFramePeriodWindow OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "frames"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The number of frames over which the threshold is defined.
            The default value of the window is the number of minimum size
            Ethernet frames that can be received over the physical layer
            in one second.
  
            If dot3OamErrFramePeriodThreshold frame errors occur within a
            window of dot3OamErrFramePeriodWindow frames, an Event
            Notification OAMPDU should be generated with an Errored Frame
            Period Event TLV indicating that the threshold has been
            crossed in this window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.38"
          ::= { dot3OamEventConfigEntry 6 }
  
        dot3OamErrFramePeriodThreshold OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "frames"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The number of frame errors that must occur for this event to
            be triggered.  The default value is one frame error.  If the
            threshold value is zero, then an Event Notification OAMPDU is
            sent periodically (at the end of every window).  This can be
            used as an asynchronous notification to the peer OAM entity of
            the statistics related to this threshold crossing alarm.
  
            If dot3OamErrFramePeriodThreshold frame errors occur within a
            window of dot3OamErrFramePeriodWindow frames, an Event
            Notification OAMPDU should be generated with an Errored Frame
            Period Event TLV indicating that the threshold has been
            crossed in this window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.38"
          ::= { dot3OamEventConfigEntry 7 }
  
        dot3OamErrFramePeriodEvNotifEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the OAM entity should send an Event Notification
            OAMPDU when an Errored Frame Period Event occurs.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          ::= { dot3OamEventConfigEntry 8 }
  
        dot3OamErrFrameWindow OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "tenths of a second"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The amount of time (in 100ms increments) over which the
            threshold is defined.  The default value is 10 (1 second).
  
            If dot3OamErrFrameThreshold frame errors occur within a window
            of dot3OamErrFrameWindow seconds (measured in tenths of
            seconds), an Event Notification OAMPDU should be generated
            with an Errored Frame Event TLV indicating that the threshold
            has been crossed in this window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.36"
          DEFVAL { 10 }
          ::= { dot3OamEventConfigEntry 9 }
  
        dot3OamErrFrameThreshold OBJECT-TYPE
          SYNTAX      Unsigned32
          UNITS       "frames"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The number of frame errors that must occur for this event to
            be triggered.  The default value is one frame error.  If the
            threshold value is zero, then an Event Notification OAMPDU is
            sent periodically (at the end of every window).  This can be
            used as an asynchronous notification to the peer OAM entity of
            the statistics related to this threshold crossing alarm.
  
            If dot3OamErrFrameThreshold frame errors occur within a window
            of dot3OamErrFrameWindow (in tenths of seconds), an Event
            Notification OAMPDU should be generated with an Errored Frame
            Event TLV indicating the threshold has been crossed in this
            window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.36"
          DEFVAL { 1 }
          ::= { dot3OamEventConfigEntry 10 }
  
        dot3OamErrFrameEvNotifEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the OAM entity should send an Event Notification
            OAMPDU when an Errored Frame Event occurs.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          DEFVAL { true }
          ::= { dot3OamEventConfigEntry 11 }
  
        dot3OamErrFrameSecsSummaryWindow OBJECT-TYPE
          SYNTAX      Integer32 (100..9000)
          UNITS       "tenths of a second"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The amount of time (in 100 ms intervals) over which the
            threshold is defined.  The default value is 100 (10 seconds).
  
            If dot3OamErrFrameSecsSummaryThreshold frame errors occur
            within a window of dot3OamErrFrameSecsSummaryWindow (in tenths
            of seconds), an Event Notification OAMPDU should be generated
            with an Errored Frame Seconds Summary Event TLV indicating
            that the threshold has been crossed in this window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.40"
          DEFVAL { 100 }
          ::= { dot3OamEventConfigEntry 12 }
  
        dot3OamErrFrameSecsSummaryThreshold OBJECT-TYPE
          SYNTAX      Integer32 (1..900)
          UNITS       "errored frame seconds"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "The number of errored frame seconds that must occur for this
            event to be triggered.  The default value is one errored frame
            second.  If the threshold value is zero, then an Event
            Notification OAMPDU is sent periodically (at the end of every
            window).  This can be used as an asynchronous notification to
            the peer OAM entity of the statistics related to this
            threshold crossing alarm.
  
            If dot3OamErrFrameSecsSummaryThreshold frame errors occur
            within a window of dot3OamErrFrameSecsSummaryWindow (in tenths
            of seconds), an Event Notification OAMPDU should be generated
            with an Errored Frame Seconds Summary Event TLV indicating
            that the threshold has been crossed in this window.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.40"
          DEFVAL { 1 }
          ::= { dot3OamEventConfigEntry 13 }
  
        dot3OamErrFrameSecsEvNotifEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the local OAM entity should send an Event
            Notification OAMPDU when an Errored Frame Seconds Event
            occurs.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          DEFVAL { true }
          ::= { dot3OamEventConfigEntry 14 }
  
        dot3OamDyingGaspEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the local OAM entity should attempt to indicate a
            dying gasp via the OAMPDU flags field to its peer OAM entity
            when a dying gasp event occurs.  The exact definition of a
            dying gasp event is implementation dependent.  If the system
            does not support dying gasp capability, setting this object
            has no effect, and reading the object should always result in
            'false'.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          DEFVAL { true }
          ::= { dot3OamEventConfigEntry 15 }
  
        dot3OamCriticalEventEnable OBJECT-TYPE
          SYNTAX      TruthValue
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
            "If true, the local OAM entity should attempt to indicate a
            critical event via the OAMPDU flags to its peer OAM entity
            when a critical event occurs.  The exact definition of a
            critical event is implementation dependent.  If the system
            does not support critical event capability, setting this
            object has no effect, and reading the object should always
            result in 'false'.
  
            By default, this object should have the value true for
            Ethernet-like interfaces that support OAM.  If the OAM layer
            does not support Event Notifications (as indicated via the
            dot3OamFunctionsSupported attribute), this value is ignored.
            "
          DEFVAL { true }
          ::= { dot3OamEventConfigEntry 16 }
  
        -- **************************************************************
        --
        -- Ethernet OAM Event Log group
        --
  
        dot3OamEventLogTable OBJECT-TYPE
          SYNTAX       SEQUENCE OF Dot3OamEventLogEntry
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
            "This table records a history of the events that have occurred
            at the Ethernet OAM level.  These events can include locally
            detected events, which may result in locally generated
            OAMPDUs, and remotely detected events, which are detected by
            the OAM peer entity and signaled to the local entity via
            Ethernet OAM.  Ethernet OAM events can be signaled by Event
            Notification OAMPDUs or by the flags field in any OAMPDU.
  
            This table contains both threshold crossing events and
            non-threshold crossing events.  The parameters for the
            threshold window, threshold value, and actual value
            (dot3OamEventLogWindowXX, dot3OamEventLogThresholdXX,
            dot3OamEventLogValue) are only applicable to threshold
            crossing events, and are returned as all F's (2^32 - 1) for
            non-threshold crossing events.
  
            Entries in the table are automatically created when such
            events are detected.  The size of the table is implementation
            dependent.  When the table reaches its maximum size, older
            entries are automatically deleted to make room for newer
            entries.
            "
            ::= { dot3OamObjects 6 }
  
        dot3OamEventLogEntry OBJECT-TYPE
          SYNTAX      Dot3OamEventLogEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "An entry in the dot3OamEventLogTable.  Entries are
            automatically created whenever Ethernet OAM events occur at
            the local OAM entity, and when Event Notification OAMPDUs are
            received at the local OAM entity (indicating that events have
            occurred at the peer OAM entity).  The size of the table is
            implementation dependent, but when the table becomes full,
            older events are automatically deleted to make room for newer
            events.  The table index dot3OamEventLogIndex increments for
            each new entry, and when the maximum value is reached, the
            value restarts at zero.
            "
          INDEX       { ifIndex, dot3OamEventLogIndex }
          ::= { dot3OamEventLogTable 1 }
  
        Dot3OamEventLogEntry ::=
          SEQUENCE {
            dot3OamEventLogIndex                Unsigned32,
            dot3OamEventLogTimestamp            TimeStamp,
            dot3OamEventLogOui                  EightOTwoOui,
            dot3OamEventLogType                 Unsigned32,
            dot3OamEventLogLocation             INTEGER,
            dot3OamEventLogWindowHi             Unsigned32,
            dot3OamEventLogWindowLo             Unsigned32,
            dot3OamEventLogThresholdHi          Unsigned32,
            dot3OamEventLogThresholdLo          Unsigned32,
            dot3OamEventLogValue                CounterBasedGauge64,
            dot3OamEventLogRunningTotal         CounterBasedGauge64,
            dot3OamEventLogEventTotal           Unsigned32
          }
  
        dot3OamEventLogIndex       OBJECT-TYPE
          SYNTAX      Unsigned32(1..4294967295)
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
            "An arbitrary integer for identifying individual events
            within the event log.  "
          ::= { dot3OamEventLogEntry 1 }
  
        dot3OamEventLogTimestamp  OBJECT-TYPE
          SYNTAX      TimeStamp
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The value of sysUpTime at the time of the logged event.  For
            locally generated events, the time of the event can be
            accurately retrieved from sysUpTime.  For remotely generated
            events, the time of the event is indicated by the reception of
            the Event Notification OAMPDU indicating that the event
            occurred on the peer.  A system may attempt to adjust the
            timestamp value to more accurately reflect the time of the
            event at the peer OAM entity by using other information, such
            as that found in the timestamp found of the Event Notification
            TLVs, which provides an indication of the relative time
            between events at the peer entity.  "
          ::= { dot3OamEventLogEntry 2 }
  
        dot3OamEventLogOui  OBJECT-TYPE
          SYNTAX      EightOTwoOui
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The OUI of the entity defining the object type.  All IEEE
            802.3 defined events (as appearing in [802.3ah] except for the
            Organizationally Unique Event TLVs) use the IEEE 802.3 OUI of
            0x0180C2.  Organizations defining their own Event Notification
            TLVs include their OUI in the Event Notification TLV that
            gets reflected here.  "
          ::= { dot3OamEventLogEntry 3 }
  
        dot3OamEventLogType      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "The type of event that generated this entry in the event log.
            When the OUI is the IEEE 802.3 OUI of 0x0180C2, the following
            event types are defined:
                erroredSymbolEvent(1),
                erroredFramePeriodEvent(2),
                erroredFrameEvent(3),
                erroredFrameSecondsEvent(4),
                linkFault(256),
                dyingGaspEvent(257),
                criticalLinkEvent(258)
            The first four are considered threshold crossing events, as
            they are generated when a metric exceeds a given value within
            a specified window.  The other three are not threshold
            crossing events.
  
            When the OUI is not 71874 (0x0180C2 in hex), then some other
            organization has defined the event space.  If event subtyping
            is known to the implementation, it may be reflected here.
            Otherwise, this value should return all F's (2^32 - 1).
            "
          REFERENCE   "[802.3ah], 30.3.6.1.10 and 57.5.3."
          ::= { dot3OamEventLogEntry 4 }
  
        dot3OamEventLogLocation OBJECT-TYPE
          SYNTAX      INTEGER { local(1), remote(2) }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "Whether this event occurred locally (local(1)), or was
            received from the OAM peer via Ethernet OAM (remote(2)).
            "
          ::= { dot3OamEventLogEntry 5 }
  
        dot3OamEventLogWindowHi      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "If the event represents a threshold crossing event, the two
            objects dot3OamEventWindowHi and dot3OamEventWindowLo, form
            an unsigned 64-bit integer yielding the window over which the
            value was measured for the threshold crossing event (for
            example, 5, when 11 occurrences happened in 5 seconds while
            the threshold was 10).  The two objects are combined as:
  
            dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi)
                                            + dot3OamEventLogWindowLo
  
            Otherwise, this value is returned as all F's (2^32 - 1) and
            adds no useful information.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 6 }
  
        dot3OamEventLogWindowLo      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "If the event represents a threshold crossing event, the two
            objects dot3OamEventWindowHi and dot3OamEventWindowLo form an
            unsigned 64-bit integer yielding the window over which the
            value was measured for the threshold crossing event (for
            example, 5, when 11 occurrences happened in 5 seconds while
            the threshold was 10).  The two objects are combined as:
  
            dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi)
                                            + dot3OamEventLogWindowLo
  
            Otherwise, this value is returned as all F's (2^32 - 1) and
            adds no useful information.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 7 }
  
        dot3OamEventLogThresholdHi      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "If the event represents a threshold crossing event, the two
            objects dot3OamEventThresholdHi and dot3OamEventThresholdLo
            form an unsigned 64-bit integer yielding the value that was
            crossed for the threshold crossing event (for example, 10,
            when 11 occurrences happened in 5 seconds while the threshold
            was 10).  The two objects are combined as:
  
          dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi)
                                             + dot3OamEventLogThresholdLo
  
            Otherwise, this value is returned as all F's (2^32 -1) and
            adds no useful information.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 8 }
  
        dot3OamEventLogThresholdLo      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "If the event represents a threshold crossing event, the two
            objects dot3OamEventThresholdHi and dot3OamEventThresholdLo
            form an unsigned 64-bit integer yielding the value that was
            crossed for the threshold crossing event (for example, 10,
            when 11 occurrences happened in 5 seconds while the threshold
            was 10).  The two objects are combined as:
  
          dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi)
                                             + dot3OamEventLogThresholdLo
  
            Otherwise, this value is returned as all F's (2^32 - 1) and
            adds no useful information.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 9 }
  
        dot3OamEventLogValue      OBJECT-TYPE
          SYNTAX      CounterBasedGauge64
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "If the event represents a threshold crossing event, this
            value indicates the value of the parameter within the given
            window that generated this event (for example, 11, when 11
            occurrences happened in 5 seconds while the threshold was 10).
  
            Otherwise, this value is returned as all F's
            (2^64 - 1) and adds no useful information.
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 10 }
  
        dot3OamEventLogRunningTotal      OBJECT-TYPE
          SYNTAX      CounterBasedGauge64
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "Each Event Notification TLV contains a running total of the
            number of times an event has occurred, as well as the number
            of times an Event Notification for the event has been
            transmitted.  For non-threshold crossing events, the number of
            events (dot3OamLogRunningTotal) and the number of resultant
            Event Notifications (dot3OamLogEventTotal) should be
            identical.
  
            For threshold crossing events, since multiple occurrences may
            be required to cross the threshold, these values are likely
            different.  This value represents the total number of times
            this event has happened since the last reset (for example,
            3253, when 3253 symbol errors have occurred since the last
            reset, which has resulted in 51 symbol error threshold
            crossing events since the last reset).
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 11 }
  
        dot3OamEventLogEventTotal      OBJECT-TYPE
          SYNTAX      Unsigned32
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
            "Each Event Notification TLV contains a running total of the
            number of times an event has occurred, as well as the number
            of times an Event Notification for the event has been
            transmitted.  For non-threshold crossing events, the number of
            events (dot3OamLogRunningTotal) and the number of resultant
            Event Notifications (dot3OamLogEventTotal) should be
            identical.
  
            For threshold crossing events, since multiple occurrences may
            be required to cross the threshold, these values are likely
            different.  This value represents the total number of times
            one or more of these occurrences have resulted in an Event
            Notification (for example, 51 when 3253 symbol errors have
            occurred since the last reset, which has resulted in 51 symbol
            error threshold crossing events since the last reset).
            "
          REFERENCE   "[802.3ah], 30.3.6.1.37 and 57.5.3.2."
          ::= { dot3OamEventLogEntry 12 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Notifications
        --
  
        dot3OamThresholdEvent NOTIFICATION-TYPE
          OBJECTS { dot3OamEventLogTimestamp,
                    dot3OamEventLogOui,
                    dot3OamEventLogType,
                    dot3OamEventLogLocation,
                    dot3OamEventLogWindowHi,
                    dot3OamEventLogWindowLo,
                    dot3OamEventLogThresholdHi,
                    dot3OamEventLogThresholdLo,
                    dot3OamEventLogValue,
                    dot3OamEventLogRunningTotal,
                    dot3OamEventLogEventTotal
                  }
          STATUS  current
          DESCRIPTION
            "A dot3OamThresholdEvent notification is sent when a local or
            remote threshold crossing event is detected.  A local
            threshold crossing event is detected by the local entity,
            while a remote threshold crossing event is detected by the
            reception of an Ethernet OAM Event Notification OAMPDU
            that indicates a threshold event.
  
            This notification should not be sent more than once per
            second.
  
            The OAM entity can be derived from extracting the ifIndex from
            the variable bindings.  The objects in the notification
            correspond to the values in a row instance in the
            dot3OamEventLogTable.
  
            The management entity should periodically check
            dot3OamEventLogTable to detect any missed events."
         ::= { dot3OamNotifications 1 }
  
        dot3OamNonThresholdEvent NOTIFICATION-TYPE
          OBJECTS { dot3OamEventLogTimestamp,
                    dot3OamEventLogOui,
                    dot3OamEventLogType,
                    dot3OamEventLogLocation,
                    dot3OamEventLogEventTotal
                  }
          STATUS  current
          DESCRIPTION
            "A dot3OamNonThresholdEvent notification is sent when a local
            or remote non-threshold crossing event is detected.  A local
            event is detected by the local entity, while a remote event is
            detected by the reception of an Ethernet OAM Event
            Notification OAMPDU that indicates a non-threshold crossing
            event.
  
            This notification should not be sent more than once per
            second.
  
            The OAM entity can be derived from extracting the ifIndex from
            the variable bindings.  The objects in the notification
            correspond to the values in a row instance of the
            dot3OamEventLogTable.
  
            The management entity should periodically check
            dot3OamEventLogTable to detect any missed events."
         ::= { dot3OamNotifications 2 }
  
        -- ***************************************************************
        --
        -- Ethernet OAM Compliance group
        --
  
        dot3OamGroups OBJECT IDENTIFIER ::= { dot3OamConformance 1 }
        dot3OamCompliances OBJECT IDENTIFIER ::= { dot3OamConformance 2 }
  
        -- Compliance statements
  
        dot3OamCompliance MODULE-COMPLIANCE
          STATUS          current
          DESCRIPTION "The compliance statement for managed entities
                       supporting OAM on Ethernet-like interfaces.
                       "
        MODULE   -- this module
          MANDATORY-GROUPS { dot3OamControlGroup,
                             dot3OamPeerGroup,
                             dot3OamStatsBaseGroup
                           }
  
          GROUP       dot3OamLoopbackGroup
          DESCRIPTION
            "This group is mandatory for all IEEE 802.3 OA
            implementations that support loopback functionality. "
  
          GROUP       dot3OamErrSymbolPeriodEventGroup
          DESCRIPTION
            "This group is mandatory for all IEEE 802.3 OA
            implementations that support event functionality. "
  
          GROUP       dot3OamErrFramePeriodEventGroup
          DESCRIPTION
            "This group is mandatory for all IEEE 802.3 OA
            implementations that support event functionality. "
  
          GROUP       dot3OamErrFrameEventGroup
          DESCRIPTION
            "This group is mandatory for all IEEE 802.3 OA
            implementations that support event functionality. "
  
          GROUP       dot3OamErrFrameSecsSummaryEventGroup
          DESCRIPTION
            "This group is mandatory for all IEEE 802.3 OA
            implementations that support event functionality. "
  
          GROUP        dot3OamFlagEventGroup
          DESCRIPTION
            "This group is optional for all IEEE 802.3 OA
            implementations.  The ability to send critical events or dying
            gasp events is not required in any system."
  
          GROUP       dot3OamEventLogGroup
          DESCRIPTION
            "This group is optional for all IEEE 802.3 OA
            implementations.  Entries in this table are dependent on what
            event functionality is supported in the local OA
            implementation.  At least one type of event must be supported
            for entries to appear in this table.  "
  
          GROUP       dot3OamNotificationGroup
          DESCRIPTION
            "This group is optional for all IEEE 802.3 OA
            implementations.  Since the information in the notifications
            is dependent on the dot3OamEventLogTable, that table must be
            implemented for notifications.  "
  
          ::= { dot3OamCompliances 1}
  
       dot3OamControlGroup OBJECT-GROUP
          OBJECTS     {   dot3OamAdminState,
                          dot3OamOperStatus,
                          dot3OamMode,
                          dot3OamMaxOamPduSize,
                          dot3OamConfigRevision,
                          dot3OamFunctionsSupported
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects providing the abilities,
            configuration, and status of an Ethernet OAM entity.  "
          ::= { dot3OamGroups 1 }
  
       dot3OamPeerGroup OBJECT-GROUP
          OBJECTS     {   dot3OamPeerMacAddress,
                          dot3OamPeerVendorOui,
                          dot3OamPeerVendorInfo,
                          dot3OamPeerMode,
                          dot3OamPeerFunctionsSupported,
                          dot3OamPeerMaxOamPduSize,
                          dot3OamPeerConfigRevision
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects providing the abilities,
            configuration, and status of a peer Ethernet OAM entity.  "
          ::= { dot3OamGroups 2 }
  
       dot3OamStatsBaseGroup OBJECT-GROUP
          OBJECTS     {   dot3OamInformationTx,
                          dot3OamInformationRx,
                          dot3OamUniqueEventNotificationTx,
                          dot3OamUniqueEventNotificationRx,
                          dot3OamDuplicateEventNotificationTx,
                          dot3OamDuplicateEventNotificationRx,
                          dot3OamLoopbackControlTx,
                          dot3OamLoopbackControlRx,
                          dot3OamVariableRequestTx,
                          dot3OamVariableRequestRx,
                          dot3OamVariableResponseTx,
                          dot3OamVariableResponseRx,
                          dot3OamOrgSpecificTx,
                          dot3OamOrgSpecificRx,
                          dot3OamUnsupportedCodesTx,
                          dot3OamUnsupportedCodesRx,
                          dot3OamFramesLostDueToOam
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects providing the statistics for the
            number of various transmit and receive events for OAM on an
            Ethernet-like interface.  Note that all of these counters must
            be supported even if the related function (as described in
            dot3OamFunctionsSupported) is not supported.  "
          ::= { dot3OamGroups 3 }
  
       dot3OamLoopbackGroup OBJECT-GROUP
          OBJECTS     {   dot3OamLoopbackStatus,
                          dot3OamLoopbackIgnoreRx
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for controlling the OAM remote
            loopback function.  "
          ::= { dot3OamGroups 4 }
  
       dot3OamErrSymbolPeriodEventGroup OBJECT-GROUP
          OBJECTS     {   dot3OamErrSymPeriodWindowHi,
                          dot3OamErrSymPeriodWindowLo,
                          dot3OamErrSymPeriodThresholdHi,
                          dot3OamErrSymPeriodThresholdLo,
                          dot3OamErrSymPeriodEvNotifEnable
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for configuring the thresholds for an
            Errored Symbol Period Event.
  
            Each [802.3ah] defined Event Notification TLV has its own
            conformance group because each event can be implemented
            independently of any other.  "
          ::= { dot3OamGroups 5 }
  
       dot3OamErrFramePeriodEventGroup OBJECT-GROUP
          OBJECTS     {   dot3OamErrFramePeriodWindow,
                          dot3OamErrFramePeriodThreshold,
                          dot3OamErrFramePeriodEvNotifEnable
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for configuring the thresholds for an
            Errored Frame Period Event.
  
            Each [802.3ah] defined Event Notification TLV has its own
            conformance group because each event can be implemented
            independently of any other.  "
          ::= { dot3OamGroups 6 }
  
       dot3OamErrFrameEventGroup OBJECT-GROUP
          OBJECTS     {   dot3OamErrFrameWindow,
                          dot3OamErrFrameThreshold,
                          dot3OamErrFrameEvNotifEnable
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for configuring the thresholds for an
            Errored Frame Event.
  
            Each [802.3ah] defined Event Notification TLV has its own
            conformance group because each event can be implemented
            independently of any other.  "
          ::= { dot3OamGroups 7 }
  
       dot3OamErrFrameSecsSummaryEventGroup OBJECT-GROUP
          OBJECTS     {   dot3OamErrFrameSecsSummaryWindow,
                          dot3OamErrFrameSecsSummaryThreshold,
                          dot3OamErrFrameSecsEvNotifEnable
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for configuring the thresholds for an
            Errored Frame Seconds Summary Event.
  
            Each [802.3ah] defined Event Notification TLV has its own
            conformance group because each event can be implemented
            independently of any other.  "
          ::= { dot3OamGroups 8 }
  
       dot3OamFlagEventGroup OBJECT-GROUP
          OBJECTS     {   dot3OamDyingGaspEnable,
                          dot3OamCriticalEventEnable
                      }
          STATUS      current
          DESCRIPTION
            "A collection of objects for configuring the sending OAMPDUs
            with the critical event flag or dying gasp flag enabled.  "
          ::= { dot3OamGroups 9 }
  
       dot3OamEventLogGroup OBJECT-GROUP
         OBJECTS {  dot3OamEventLogTimestamp,
                    dot3OamEventLogOui,
                    dot3OamEventLogType,
                    dot3OamEventLogLocation,
                    dot3OamEventLogWindowHi,
                    dot3OamEventLogWindowLo,
                    dot3OamEventLogThresholdHi,
                    dot3OamEventLogThresholdLo,
                    dot3OamEventLogValue,
                    dot3OamEventLogRunningTotal,
                    dot3OamEventLogEventTotal
                  }
         STATUS      current
         DESCRIPTION
            "A collection of objects for configuring the thresholds for an
            Errored Frame Seconds Summary Event and maintaining the event
            information.  "
          ::= { dot3OamGroups 10 }
  
       dot3OamNotificationGroup NOTIFICATION-GROUP
         NOTIFICATIONS {
                     dot3OamThresholdEvent,
                     dot3OamNonThresholdEvent
                       }
         STATUS      current
         DESCRIPTION
           "A collection of notifications used by Ethernet OAM to signal
           to a management entity that local or remote events have
           occurred on a specified Ethernet link. "
         ::= { dot3OamGroups 11 }
  
        END
  