Skip to main content

Definitions and Managed Objects for Operations, Administration, and Maintenance (OAM) Functions on Ethernet-Like Interfaces
draft-ietf-hubmib-efm-mib-06

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 4878.
Author Matt Squire
Last updated 2015-10-14 (Latest revision 2007-02-23)
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 4878 (Proposed Standard)
Action Holders
(None)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD Dan Romascanu
Send notices to dperkins@dsperkins.com
draft-ietf-hubmib-efm-mib-06
INTERNET-DRAFT                                           Matt Squire
   Document: draft-ietf-hubmib-efm-mib-06.txt         Hatteras Networks
   Intended status: Proposed standard
   Expires: August 2007                                   February 2007
   
   
    Definitions and Managed Objects for OAM Functions on Ethernet Like
                                Interfaces
                     draft-ietf-hubmib-efm-mib-06.txt
   
   
Status of this Memo
   
   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.  
   
   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.
   
   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."
   
   The list of current Internet-Drafts can be accessed at
        http://www.ietf.org/ietf/1id-abstracts.txt
   
   The list of Internet-Draft Shadow Directories can be accessed at
        http://www.ietf.org/shadow.html.
   
   This Internet-Draft will expire in August, 2007.  
   

Abstract
   
   This document defines objects for managing Operations,
   Administration, and Maintenance (OAM) capabilities on Ethernet like
   interfaces conformant to the Ethernet OAM functionality defined in
   the Ethernet in the First Mile (EFM) clauses of the Ethernet
   standards.   The Ethernet OAM functionality is complementary to SNMP
   management in that it is focused on a small set of link-specific
   functions for directly connected Ethernet interfaces.  This document
   defines objects for controlling those link OAM functions, and for
   providing results and status of the OAM functions to management
   entities.  
   

M. Squire                Expires August 2007                   Page 1


Internet-Draft                                          February 2007

   
Conventions used in this document
   
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].
   
Table of Contents
   
   1. Introduction...................................................2
   2. The Internet-Standard Management Framework.....................2
   3. Overview.......................................................3
      3.1 Remote fault indication....................................4
      3.2 Link monitoring............................................4
      3.3 Remote loopback............................................5
      3.4 Ethernet OAM Protocol Data Units...........................5
   4. Relation to the Other MIB Modules..............................5
      4.1 Relation to other MIB Modules..............................5
      4.2 Relation to other EFM MIB Modules..........................6
      4.3 Mapping of IEEE 802.3ah Managed Objects....................6
   5. MIB Structure..................................................7
   6. MIB Definition.................................................8
   7. Security Considerations.......................................54
   8. IANA Considerations...........................................56
   9. References....................................................56
      9.1 Normative References......................................56
      9.2 Informative References....................................57
   10. Acknowledgments..............................................58
   11. Author's Address.............................................58
   12. Intellectual Property Statement..............................59
   13. Copyright Statement..........................................59
   
  
1.   Introduction
   
   The IEEE 802.3ah Ethernet in the First Mile (EFM) task force added
   new management capabilities to Ethernet like interfaces.  These
   management capabilities were introduced to provide some basic OA
   function on Ethernet media.  The defined functionality includes
   discovery, error signaling, loopback, and link monitoring.  This memo
   defines a portion of the Management Information Base (MIB) for use
   with network management protocols in the Internet community to manage
   these new Ethernet interface capabilities.   
   
   
2.   The Internet-Standard Management Framework
   

M. Squire                Expires - April 2007                 [Page 2]
Internet-Draft                                           February 2007

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].  
   
   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP). 
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].
   
   
3.   Overview
   
   Ethernet networks have evolved over the past 30 years from simple
   LANs to a variety of other applications, including wide area
   networks.  To address some of these emerging markets, the IEEE
   802.3ah task force defined additional clauses in [802.3ah] for the
   IEEE 802.3 standard [802.3-2002] to better address Ethernet
   deployments in the public access network.  Although Ethernet access
   deployments were the primary motivation for the task force activity,
   the results of the task force are not strictly limited to that
   application.  Ethernet OAM can be implemented on Ethernet links that
   are not EFM.  
   
   The Ethernet in the First Mile (EFM) task force was focused on four 
   somewhat independent objectives to better address Ethernet access
   deployments: optics, copper, Ethernet passive optical networks
   (Ethernet PON, or EPON), and operations, administration, and
   maintenance (OAM).  The optics sub-taskforce developed new optical
   physical layers that better served the long-reach outside plant
   networks typically found in the access network, including developing
   physical layers that operate up to 20Km and supporting the
   environmental conditions of access deployments.  The copper sub
   taskforce developed two new physical layers that run Ethernet
   natively over existing twisted pair wires that have been supporting
   voice services for decades.  The EPON sub-taskforce developed a new
   point-to-multipoint Ethernet physical layer, utilizing Ethernet
   framing natively over a time-division multiple-access (TDMA)
   infrastructure.  The OAM sub-taskforce introduced some basic
   management functionality into an Ethernet link to better monitor and
   maintain Ethernet networks in geographically disparate networks.  
   
   This document defines the management objects necessary to integrate
   Ethernet OAM functionality into the SNMP management framework.  

M. Squire                Expires - April 2007                 [Page 3]
Internet-Draft                                           February 2007

   
   Ethernet OAM is composed of a core set of functions, and a set of
   optional functional groups.  The mandatory functions include
   discovery operations (determining if the other end of the link is OA
   capable, and what OAM functions it supports), state machine
   implementation, and some critical event flows.  The optional
   functional groups are for (a) link events, (b) remote loopback, and
   (c) variable retrieval and response.  Each optional functional group
   is controlled by a separate MIB table(s).  
   
   Ethernet OAM is complementary with SNMP management in that it
   provides some basic management functions at layer two, rather than
   using layer three and above as required by SNMP over an IP
   infrastructure.  Ethernet OAM provides single-hop functionality in
   that it works only between two directly connected Ethernet stations. 
   SNMP can be used to manage the Ethernet OAM interactions of one
   Ethernet station with another.  
   
   Ethernet OAM has three functional objectives which are detailed in
   the next three sections.  The definition of a basic Ethernet OA
   protocol data unit is given in Section 3.4.  
  
3.1    Remote fault indication  
  
   Remote fault indication provides a mechanism for one end of an
   Ethernet link to signal the other end that the receive path is non
   operational.  Some Ethernet physical layers offer mechanisms to
   signal this condition at the physical layer.  Ethernet OAM added a
   mechanism so that some Ethernet physical layers can operate in
   unidirectional mode, allowing frames to be transmitted in one
   direction even when the other direction is non-operational.  
   Traditionally, Ethernet PHYs do not allow frame transmission in one
   direction if the other direction is not operational.  Using this
   mode, Ethernet OAM allows frame-based signaling of remote fault
   conditions while still not allowing higher layer applications to be
   aware of the unidirectional capability.  This document includes
   mechanisms for capturing that fault information and reflecting such
   information in objects and notifications within the SNMP management
   framework.  
  
3.2    Link monitoring 
  
   Ethernet OAM includes event signaling capability so that one end of
   an Ethernet link can indicate the occurrence of certain important
   events to the other end of the link.  This happens via layer two
   protocols.  This document defines methods for incorporating the

M. Squire                Expires - April 2007                 [Page 4]
Internet-Draft                                           February 2007

   occurrence of these layer two events, both at the local end and far
   end of the link, into the SNMP management framework.  
   
   Ethernet OAM also includes mechanisms for one Ethernet station to
   query another directly connected Ethernet station about the status of
   its Ethernet interface variables and status.  This document does not
   include mechanisms for controlling how one Ethernet endpoint may use
   this functionality to query the status or statistics of a peer
   Ethernet entity.  
  
3.3    Remote loopback
  
   Remote loopback is a link state where the peer Ethernet entity echoes
   every received packet (without modifications) back onto the link. 
   Remote loopback is intrusive in that the other end of the link is not
   forwarding traffic from higher layers out over the link.  This
   document defines objects controlling loopback operation and reading
   the status of the loopback state.  
   
3.4    Ethernet OAM Protocol Data Units
   
   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.  OAMPDUs are the mechanism by which
   two directly connected Ethernet interfaces to exchange OA
   information. 
   
   
4.   Relation to the Other MIB Modules
   
   The definitions presented here are based on Clauses 30 and 57 of
   [802.3ah].  Note that these clauses describe many of these variables
   and their effects on the MAC layer.  In some cases there is a one-to
   one relationship between an object in this document and an object in
   the Clause 30 MIB of [802.3ah].  In other cases, the objects of this
   document reflect a more complex entity and are reflected by more than
   one object in the Clause 30 MIB of [802.3ah].   
   
4.1    Relation to other MIB Modules
   
   The objects defined in this document manage OAM functionality
   introduced in [802.3ah]  These objects do not overlap with the

M. Squire                Expires - April 2007                 [Page 5]
Internet-Draft                                           February 2007

   interfaces MIB [RFC2863], the Ethernet like interfaces MIB [RFC3635],
   or any other MIB currently used to manage various aspects of an
   Ethernet interface.  The objects defined here are defined for
   Ethernet like interfaces only and use the same ifIndex as the
   associated Ethernet interface.  Ethernet OAM can be implemented on
   any Ethernet like interface.  
   
4.2    Relation to other EFM MIB Modules
   
   The Ethernet OAM functionality and MIB Module is independent of the
   other functionality and MIB Modules derived from [802.3ah] for copper
   [802.3ah-copper] and EPON [802.3ah-epon].  Ethernet OAM may be
   implemented (or not) on the new EFM interface types, just as it can
   on any other Ethernet interface.  
   
4.3    Mapping of IEEE 802.3ah Managed Objects
   
   This section contains the mapping between managed objects defined in
   [802.3ah] Clause 30, and managed objects defined in this document.  
   
   IEEE 802.3 Managed Object        Corresponding SNMP object
   
   oOA
    .aOAMID                         IF-MIB ifIndex
    .aOAMAdminState                 dot3OamAdminState
    .aOAMMode                       dot3OamMode
    .aOAMDiscoveryState             dot3OamOperStatus
    .aOAMRemoteMACAddress           dot3OamPeerMacAddress
    .aOAMLocalConfiguration         dot3OamFunctionsSupported
    .aOAMRemoteConfiguration        dot3OamPeerFunctionsSupported, 
                                    dot3OamPeerMode
    .aOAMLocalPDUConfiguration      dot3OamMaxOamPduSize
    .aOAMRemotePDUConfiguration     dot3OamPeerMaxOamPduSize
    .aOAMLocalFlagsField            dot3OamOperStatus, 
                                    dot3OamEventLogEntry
    .aOAMRemoteFlagsField           dot3OamOperStatus,
                                    dot3OamEventLogEntry
    .aOAMLocalRevision              dot3OamConfigRevision
    .aOAMRemoteRevision             dot3OamPeerConfigRevision
    .aOAMLocalState                 dot3OamLoopbackStatus
    .aOAMRemoteState                dot3OamLoopbackStatus
    .aOAMRemoteVendorOUI            dot3OamPeerVendorOui
    .aOAMRemoteVendorSpecificInfo   dot3OamPeerVendorInfo
    .aOAMUnsupportedCodesTx         dot3OamUnsupportedCodesTx
    .aOAMUnsupportedCodesRx         dot3OamUnsupportedCodesRx
    .aOAMInformationTx              dot3OamInformationTx
    .aOAMInformationRx              dot3OamInformationRx

M. Squire                Expires - April 2007                 [Page 6]
Internet-Draft                                           February 2007

    .aOAMUniqueEventNotificationTx  dot3OamUniqueEventNotificationTx
    .aOAMUniqueEventNotificationRx  dot3OamUniqueEventNotificationRx
    .aOAMDuplicateEventNotificationTx 
                                    dot3OamDuplicateEventNotificationTx
    .aOAMDuplicateEventNotificationRx
                                    dot3OamDuplicateEventNotificationRx
    .aOAMLoopbackControlTx          dot3OamLoopbackControlTx
    .aOAMLoopbackControlRx          dot3OamLoopbackControlRx
    .aOAMVariableRequestTx          dot3OamVariableRequestTx
    .aOAMVariableRequestRx          dot3OamVariableRequestRx
    .aOAMVariableResponseTx         dot3OamVariableResponseTx
    .aOAMVariableResponseRx         dot3OamVariableResponseRx
    .aOAMOrganizationSpecificTx     dot3OamOrgSpecificTx
    .aOAMOrganizationSpecificRx     dot3OamOrgSpecificTx
   
    .aOAMLocalErrSymPeriodConfig    dot3OamErrSymPeriodWindow,
                                    dot3OamErrSymPeriodThreshold
    .aOAMLocalErrSymPeriodEvent     dot3OamEventLogEntry
    .aOAMLocalErrFrameConfig        dot3OamErrFrameWindow, 
                                    dot3OamErrFrameThreshold
    .aOAMLocalErrFrameEvent         dot3OamEventLogEntry
    .aOAMLocalErrFramePeriodConfig  dot3OamErrFramePeriodWindow, 
                                    dot3OamErrFramePeriodThreshold
    .aOAMLocalErrFramePeriodEvent   dot3OamEventLogEntry
    .aOAMLocalErrFrameSecsSummaryConfig      
                                    dot3OamErrFrameSecsSummaryWindow, 
                                    dot3OamErrFrameSecssummaryThreshold
    .aOAMLocalErrFrameSecsSummaryEvent 
                                    dot3OamEventLogEntry
    .aOAMRemoteErrSymPeriodEvent    dot3OamEventLogEntry
    .aOAMRemoteErrFrameEvent        dot3OamEventLogEntry
    .aOAMRemoteErrFramePeriodEvent  dot3OamEventLogEntry
    .aOAMRemoteErrFrameSecsSummaryEvent 
                                    dot3OamEventLogEntry
    .aFramesLostDueToOAmError       dot3OamFramesLostDueToOam
    .acOAMAdminControl              dot3OamAdminState
   
   There are no IEEE 802.3ah managed objects that are not reflected in
   this MIB Module in some manner.  
   
   
5.   MIB Structure
   
   The Ethernet OAM MIB objects of this memo focus on the OA
   capabilities introduced in [802.3ah].  The MIB objects are
   partitioned into six different MIB groups.
   

M. Squire                Expires - April 2007                 [Page 7]
Internet-Draft                                           February 2007

   The dot3OamTable group manages the primary OAM objects of the
   Ethernet interface.  This group controls the state and status of OA
   as well as the mode in which it operates.  
   
   The dot3OamPeerTable maintains the current information on the status
   and configuration of the peer OAM entity on the Ethernet interface. 
   Managed information includes the capabilities and function available
   on the peer OAM entity.  
   
   The dot3OamLoopbackTable manages the loopback function introduced in
   [802.3ah].  This table controls enabling and disabling loopback, as
   well as indicating the loopback status of Ethernet OAM on this
   interface.  
   
   The dot3OamStatsTable maintains statistics on the number and type of
   Ethernet OAM frames being transmitted and received on the Ethernet
   interface.

   The dot3OamEventConfigTable defines the objects for managing the
   event notification capability available in Ethernet OAM.  With
   Ethernet OAM, one device may send notifications to its peer devices
   whenever an important event happens on the local device.  This table
   provides management of which events result in notifications via
   Ethernet OAM notifications and/or via SNMP notifications.  
   
   The dot3OamEventLogTable manages the current status of local and
   remote events detected via Ethernet OAM.  This table is updated
   whenever local events are detected by Ethernet OAM or whenever
   Ethernet OAM Event Notifications are received from the peer OA
   entity.  
   
   There are two notifications defined to report Ethernet OAM events
   (one for threshold crossing events, one for non-threshold crossing
   events).  Both notifications are contained within the same
   conformance group.  
   
6.   MIB Definition
   
     
   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

M. Squire                Expires - April 2007                 [Page 8]
Internet-Draft                                           February 2007

        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 "200702140000Z"  -- February 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 task force (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] at the time.  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].  

M. Squire                Expires - April 2007                 [Page 9]
Internet-Draft                                           February 2007

   
          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 are 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 are 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 are 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

M. Squire                Expires - April 2007                [Page 10]
Internet-Draft                                           February 2007

              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 XXXX; See the RFC itself for
          full legal notices. "
   -- RFC Editor: Update XXXX to appropriate RFC number
   -- RFC Editor: Remove these notes
   
   
        REVISION    "200702140000Z"  -- February 14, 2007"
        DESCRIPTION "Initial version, published as RFC XXXX."
   -- RFC Editor: Update XXXX to appropriate RFC number
   -- RFC Editor: Remove these notes
   
         ::= { mib-2 XXX }
   -- RFC Editor: Replace value with IANA assigned number
   -- RFC Editor: Remove these notes
   
   
      -- 
      -- Sections of the Ethernet OAM MIB
      --
         dot3OamNotifications OBJECT IDENTIFIER ::= { dot3OamMIB 0 }
         dot3OamObjects       OBJECT IDENTIFIER ::= { dot3OamMIB 1 }
         dot3OamConformance   OBJECT IDENTIFIER ::= { dot3OamMIB 2 }
   
      --
      -- Textual conventions for 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

M. Squire                Expires - April 2007                [Page 11]
Internet-Draft                                           February 2007

        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, containing 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

M. Squire                Expires - April 2007                [Page 12]
Internet-Draft                                           February 2007

          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

M. Squire                Expires - April 2007                [Page 13]
Internet-Draft                                           February 2007

          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 OAM PDU (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 }
   

M. Squire                Expires - April 2007                [Page 14]
Internet-Draft                                           February 2007

      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

M. Squire                Expires - April 2007                [Page 15]
Internet-Draft                                           February 2007

        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 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 which 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 undirectional mode (traffic flowing in one
          direction only).  Setting 'loopbackSupport(1)' indicates the
          OAM entity can initiate and respond to loopback commands.
          Setting 'eventSupport(2)' indicates the OAM entity can send
          and receive Event Notification OAMPDUs. Setting
          'variableSupport(3)' indicates 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

M. Squire                Expires - April 2007                [Page 16]
Internet-Draft                                           February 2007

      --
   
   
      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
        }

M. Squire                Expires - April 2007                [Page 17]
Internet-Draft                                           February 2007

   
   
      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 }
          
   

M. Squire                Expires - April 2007                [Page 18]
Internet-Draft                                           February 2007

      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 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 

M. Squire                Expires - April 2007                [Page 19]
Internet-Draft                                           February 2007

          "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
          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 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."

M. Squire                Expires - April 2007                [Page 20]
Internet-Draft                                           February 2007

        ::= { 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 indicating 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) are 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 ::=

M. Squire                Expires - April 2007                [Page 21]
Internet-Draft                                           February 2007

        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 an
          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
          acknowledgement that the remote OAM entity has received its

M. Squire                Expires - April 2007                [Page 22]
Internet-Draft                                           February 2007

          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 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 distruptive 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"

M. Squire                Expires - April 2007                [Page 23]
Internet-Draft                                           February 2007

        ::= { 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 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,

M. Squire                Expires - April 2007                [Page 24]
Internet-Draft                                           February 2007

                  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

M. Squire                Expires - April 2007                [Page 25]
Internet-Draft                                           February 2007

        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 }

M. Squire                Expires - April 2007                [Page 26]
Internet-Draft                                           February 2007

          
      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."  

M. Squire                Expires - April 2007                [Page 27]
Internet-Draft                                           February 2007

        ::= { 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.  
          "

M. Squire                Expires - April 2007                [Page 28]
Internet-Draft                                           February 2007

        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.  

M. Squire                Expires - April 2007                [Page 29]
Internet-Draft                                           February 2007

          "
        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

M. Squire                Expires - April 2007                [Page 30]
Internet-Draft                                           February 2007

          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 }
      

M. Squire                Expires - April 2007                [Page 31]
Internet-Draft                                           February 2007

   
      -- ***************************************************************
      --
      -- 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

M. Squire                Expires - April 2007                [Page 32]
Internet-Draft                                           February 2007

        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

M. Squire                Expires - April 2007                [Page 33]
Internet-Draft                                           February 2007

   
        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 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 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

M. Squire                Expires - April 2007                [Page 34]
Internet-Draft                                           February 2007

        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 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

M. Squire                Expires - April 2007                [Page 35]
Internet-Draft                                           February 2007

          Notification OAMPDU should be generated with an Errored Symbol
          Period Event TLV indicating 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 the threshold has been crossed in
          this window.  
          "
        REFERENCE   "[802.3ah], 30.3.6.1.38"  

M. Squire                Expires - April 2007                [Page 36]
Internet-Draft                                           February 2007

        ::= { 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 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).  

M. Squire                Expires - April 2007                [Page 37]
Internet-Draft                                           February 2007

                          
          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 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. 

M. Squire                Expires - April 2007                [Page 38]
Internet-Draft                                           February 2007

          "
        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 100ms 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 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 the
          threshold has been crossed in this window.  
          "
        REFERENCE   "[802.3ah], 30.3.6.1.40"  
        DEFVAL { 1 }
        ::= { dot3OamEventConfigEntry 13 }
        

M. Squire                Expires - April 2007                [Page 39]
Internet-Draft                                           February 2007

      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

M. Squire                Expires - April 2007                [Page 40]
Internet-Draft                                           February 2007

          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 } 

M. Squire                Expires - April 2007                [Page 41]
Internet-Draft                                           February 2007

   
      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 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 

M. Squire                Expires - April 2007                [Page 42]
Internet-Draft                                           February 2007

        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 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 which
          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

M. Squire                Expires - April 2007                [Page 43]
Internet-Draft                                           February 2007

          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 

M. Squire                Expires - April 2007                [Page 44]
Internet-Draft                                           February 2007

        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,

M. Squire                Expires - April 2007                [Page 45]
Internet-Draft                                           February 2007

          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

M. Squire                Expires - April 2007                [Page 46]
Internet-Draft                                           February 2007

          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,

M. Squire                Expires - April 2007                [Page 47]
Internet-Draft                                           February 2007

                  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
          indicating 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 of 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 indicating 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.  
          

M. Squire                Expires - April 2007                [Page 48]
Internet-Draft                                           February 2007

          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. "
   

M. Squire                Expires - April 2007                [Page 49]
Internet-Draft                                           February 2007

        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,

M. Squire                Expires - April 2007                [Page 50]
Internet-Draft                                           February 2007

                        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 recieve 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.  "

M. Squire                Expires - April 2007                [Page 51]
Internet-Draft                                           February 2007

        ::= { 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.  "

M. Squire                Expires - April 2007                [Page 52]
Internet-Draft                                           February 2007

        ::= { 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 }
   

M. Squire                Expires - April 2007                [Page 53]
Internet-Draft                                           February 2007

     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 occured
         on a specified Ethernet link. "
       ::= { dot3OamGroups 11 }
   
   
      END
   
   
7.   Security Considerations
   
   The readable objects in this module can provide information about
   network traffic, and therefore may be considered sensitive.  In
   particular, OAM provides mechanisms for reading the IEEE 802.3 Clause
   30 MIB attributes from a link partner via a specialized layer two
   protocol.  Unlike SNMP, IEEE P802.3ah OAM does not include encryption
   or authentication mechanisms.  It should be used in environments
   where either this interface information is not considered sensitive,
   or where the facility terminations are protected.  By default, OAM is
   disabled on Ethernet like interfaces and is therefore not a risk.  
   
   IEEE 802.3ah OAM is designed to support deployment in access and
   enterprise networks.  In access networks, one end of a link is the
   CO-side, and the other is the CPE-side, and the facilities are often
   protected in wiring cages or closets.  In such deployments, it is
   often the case that the CO-side is protected from access from the CPE
   side.  Within IEEE P802.3ah OAM, this protection from remote access
   is accomplished by configuring the CPE-side in passive mode using the
   dot3OamMode attribute.  This prevents the CPE from accessing
   functions and information at the CO-side of the connection.  In
   enterprise networks, read-only interface information is often
   considered non-sensitive.  
   
   The frequency of OAM PDUs on an Ethernet interface does not adversely
   affect data traffic as OAM is a slow protocol with very limited
   bandwidth potential, and it is not required for normal link
   operation.  And although there are a number of objects in this module
   with read-write or read-create MAX-ACCESS, they have limited effects
   on user data.  
   

M. Squire                Expires - April 2007                [Page 54]
Internet-Draft                                           February 2007

   The loopback capability of OAM can have potentially disruptive
   effects in that the when enabling remote loopback, the remote station
   automatically transmits all received traffic back to the local
   station except for OAM traffic.  This completely disrupts all higher
   layer protocols such as bridging, IP, and SNMP.  Therefore an
   attribute (dot3OamLoopbackIgnoreRx) was introduced to control whether
   the local station processes or ignores received loopback commands.  
   
   The administrative state and mode are also read-write objects. 
   Disabling OAM can interrupt management activities between peer
   devices, potentially causing serious problems.   Setting the
   dot3OamMode to an undesired value can allow access to Ethernet
   monitoring, events, and functions that may not be acceptable in a
   particular deployment scenario.  In addition to loopback
   functionality, Ethernet interface statistics and events can be
   accessed via the OAM protocol, which may not be desired in some
   circumstances.  
   
   OAM event configuration also contains read-write objects.  These
   objects control whether events are sent, and at what thresholds. 
   Note that the frequency of event communication is limited by the
   frequency limits of Slow Protocols on Ethernet interfaces.  Also, the
   information available via OAM events is also available via OA
   Variable Requests.  Access to this information via either OAM events
   or Variable Requests is controlled by the dot3OamAdminState and
   dot3OamMode objects.  As mentioned previously, inadequate protection
   of these variables can result in access to link information and
   functions.  
   
   SNMP versions prior to SNMPv3 did not include adequate security. Even   
   if the network itself is secure (for example by using IPSec), even   
   then, there is no control as to who on the secure network is allowed   
   to access and GET/SET (read/change/create/delete) the objects in this   
   MIB module.
   
   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).
   
   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them

M. Squire                Expires - April 2007                [Page 55]
Internet-Draft                                           February 2007

   
8.   IANA Considerations
   
   The Ethernet OAM MIB requires the allocation of a single object
   identifier for its MODULE-IDENTITY under the MIB-2 tree.  
   
   The MIB module in this document uses the following IANA-assigned
   OBJECT IDENTIFIER values recorded in the SMI Numbers registry:
   
      Descriptor     OBJECT IDENTIFIER
      ----------     -----------------
      dot3OamMIB     { mib-2 XXX }
   
   Editor's Note (to be removed prior to publication):  the IANA is
   requested to assign a value for "XXX" under the 'mib-2' subtree and
   to record the assignment in the SMI Numbers registry.  When the
   assignment has been made, the RFC Editor is asked to replace "XXX"
   (here and in the MIB module) with the assigned value and to remove
   this note.  
   
   
9.   References

9.1    Normative References
   
  [802.3ah]   Institute of Electrical and Electronic Engineers, IEEE
               Std 802.3ah-2004, "Part 3: Carrier Sense Multiple Access
               with Collision Detection (CSMA/CD) Access Method and
               Physical Layer Specifications - Amendment: Media Access
               Control Parameters, Physical Layers and Management
               Parameters for Subscriber Access Networks", October 2004.
   
  [802.3-2002] Institute of Electrical and Electronic Engineers, IEEE
               Std 802.3-2003, "IEEE Standard for Carrier Sense Multiple
               Access with Collision Detection (CSMA/CD) Access Method
               and Physical Layer Specifications - 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", March 2002.
   
  [802.3-2005] Institute of Electrical and Electronic Engineers, IEEE
               Std 802.3-2005, "IEEE Standard for Carrier Sense Multiple
               Access with Collision Detection (CSMA/CD) Access Method

M. Squire                Expires - April 2007                [Page 56]
Internet-Draft                                           February 2007

               and Physical Layer Specifications - 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", December 2005.
   
  [802-2001]  Institute of Electrical and Electronic Engineers, IEEE
               Std 802-2001, "Standard for Local and Metropolitan Area
               Networks: Architecture and Overview", March 2002.  
   
  [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997
   
  [RFC2578]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               McCloghrie, K., Rose, M. and S. Waldbusser, "Structure of
               Management Information Version 2 (SMIv2)", STD 58, RFC
               2578, April 1999.
   
  [RFC2579]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 
               McCloghrie, K., Rose, M. and S. Waldbusser, "Textual
               Conventions for SMIv2", STD 58, RFC 2579, April 1999.
   
  [RFC2580]    McCloghrie, K., Perkins, D. and J. Schoenwaelder,
               "Conformance Statements for SMIv2", STD 58, RFC 2580,
               April 1999.
   
  [RFC2856]    Bierman, A., McCloghrie, K., Presuhn, R., "Textual
               Conventions for Additional High Capacity Data Types", RFC
               2856, June 2000.   
   
  [RFC2863]   McCloghrie, K., Kastenholz, F., "The Interfaces Group
               MIB", RFC 2863, June 2000.  
   
9.2    Informative References
   
  [802.3ah-copper]  Beili, Ed, "Ethernet in the First Mile Copper
               (EFMCu) Interfaces MIB", draft-ietf-hubmib-efm-cu-05.txt,
               March 2006.  

  [802.3ah-epon] Khermosh, Lior, "Managed Object of EPON", draft-ietf
               hubmib-efm-epon-mib-04.txt, February 2006.  
   

M. Squire                Expires - April 2007                [Page 57]
Internet-Draft                                           February 2007

  [RFC3410]   Case, J., Mundy, R., Partain, D., Stewart, B.,
               "Introduction and Applicability Statements for Internet
               Standard Management Framework", RFC 3410, December 2003.  
   
  [RFC3635]    Flick, J., "Definitions of Managed Objects for the
               Ethernet like Interface Types", RFC 3635, September 2003.
   
   
10.    Acknowledgments
   
   The author is grateful to all of the participants in the IEEE 802.3ah
   EFM (Ethernet in the First Mile) taskforce.  In particular, the
   strong leadership and dedication of the following individuals is
   noted: 
   
      Kevin Daines (Editor, IEEE 802.3ah OAM clauses)
      Ben Brown (Editor, IEEE 802.3ah Logic clauses)
      David Law (Editor, IEEE 802.3ah Management clauses)
      Scott Simon (Editor, IEEE 802.3ah Clause 45)
      Howard Frazier (Chair, IEEE 802.3ah)
      Hugh Barass (Vice-Chair, IEEE 802.3ah)
      Wael Diab (Editor, IEEE 802.3ah)
   
   Additionally, certain devoted attendees and contributors to the IEEE
   802.3ah OAM sub-taskforce deserve recognition.  Although there were
   many contributors, the following individuals contributed heavily over
   a long period of time.  
   
      Brian Arnold
      Brad Booth
      Al Braga
      Floyd Gerhardt
      Bob Grow
      Eric Lynskey
      David Martin
      John Messenger
      Dan Romascanu (Ex-Chair, IETF HUBMIB WG)
      Jonathan Thatcher
      Geoff Thompson
   
   
11.    Author's Address
   
   Note: Author's email address is spelled out to help protect against
   email address harvesting programs. 
   
   Matt Squire

M. Squire                Expires - April 2007                [Page 58]
Internet-Draft                                           February 2007

   Hatteras Networks
   529 Davis Drive
   Durham, NC 27713
   Email: msquire at hatterasnetworks dot com
    
   
12.    Intellectual Property Statement
   
   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.
   
   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.
   
   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at   
   ietf-ipr@ietf.org.

   The IETF has been notified of intellectual property rights claimed in
   regard to some or all of the specification contained in this
   document.  For more information consult the online list of claimed
   rights.
   
   
13.    Copyright Statement
   
   Copyright (C) The IETF Trust (2007).  
   
   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.
   
   This document and the information contained herein are provided 
   on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE

M. Squire                Expires - April 2007                [Page 59]
Internet-Draft                                           February 2007

   IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
   WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
   WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
   RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
   PARTICULAR PURPOSE.
   
   
Acknowledgement
   
   Funding for the RFC Editor function is currently provided by the
   Internet Society.
   
   

M. Squire                Expires - April 2007                [Page 60]