EtherLike-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
        Counter32, mib-2, transmission
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        ifIndex, InterfaceIndex
            FROM IF-MIB;

    etherMIB MODULE-IDENTITY
        LAST-UPDATED "9908240400Z"  -- August 24, 1999
        ORGANIZATION "IETF Ethernet Interfaces and Hub MIB
                     Working Group"
        CONTACT-INFO
            "WG E-mail: hubmib@hprnd.rose.hp.com
          To subscribe: hubmib-request@hprnd.rose.hp.com

                 Chair: Dan Romascanu
                Postal: Lucent Technologies
                        Atidum Technology Park, Bldg. 3
                        Tel Aviv 61131
                        Israel
                   Tel: +972 3 645 8414
                E-mail: dromasca@lucent.com

               Editor: John Flick
               Postal: Hewlett-Packard Company
                       8000 Foothills Blvd. M/S 5557
                       Roseville, CA 95747-5557
                       USA
                  Tel: +1 916 785 4018
                  Fax: +1 916 785 1199
               E-mail: johnf@rose.hp.com

               Editor: Jeffrey Johnson
               Postal: RedBack Networks
                       2570 North First Street, Suite 410
                       San Jose, CA, 95131
                       USA
                  Tel: +1 408 571 2699
                  Fax: +1 408 571 2698
               E-Mail: jeff@redbacknetworks.com"

        DESCRIPTION "The MIB module to describe generic objects for
                    Ethernet-like network interfaces.

                    The following reference is used throughout this
                    MIB module:

                    [IEEE 802.3 Std] refers to:
                       IEEE Std 802.3, 1998 Edition: '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',
                       September 1998.

                    Of particular interest is Clause 30, '10Mb/s,
                    100Mb/s and 1000Mb/s Management'."

        REVISION    "9908240400Z"  -- August 24, 1999
        DESCRIPTION "Updated to include support for 1000 Mb/sec
                     interfaces and full-duplex interfaces.
                     This version published as RFC 2665."

        REVISION    "9806032150Z"
        DESCRIPTION "Updated to include support for 100 Mb/sec
                     interfaces.
                     This version published as RFC 2358."

        REVISION    "9402030400Z"
        DESCRIPTION "Initial version, published as RFC 1650."

        ::= { mib-2 35 }


    etherMIBObjects OBJECT IDENTIFIER ::= { etherMIB 1 }

    dot3    OBJECT IDENTIFIER ::= { transmission 7 }

    -- the Ethernet-like Statistics group

    dot3StatsTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF Dot3StatsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Statistics for a collection of ethernet-like
                    interfaces attached to a particular system.
                    There will be one row in this table for each
                    ethernet-like interface in the system."
        ::= { dot3 2 }

    dot3StatsEntry OBJECT-TYPE
        SYNTAX     Dot3StatsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION "Statistics for a particular interface to an
                    ethernet-like medium."
        INDEX       { dot3StatsIndex }
        ::= { dot3StatsTable 1 }

    Dot3StatsEntry ::=
        SEQUENCE {
            dot3StatsIndex                      InterfaceIndex,
            dot3StatsAlignmentErrors            Counter32,
            dot3StatsFCSErrors                  Counter32,
            dot3StatsSingleCollisionFrames      Counter32,
            dot3StatsMultipleCollisionFrames    Counter32,
            dot3StatsSQETestErrors              Counter32,
            dot3StatsDeferredTransmissions      Counter32,
            dot3StatsLateCollisions             Counter32,
            dot3StatsExcessiveCollisions        Counter32,
            dot3StatsInternalMacTransmitErrors  Counter32,
            dot3StatsCarrierSenseErrors         Counter32,
            dot3StatsFrameTooLongs              Counter32,
            dot3StatsInternalMacReceiveErrors   Counter32,
            dot3StatsEtherChipSet               OBJECT IDENTIFIER,
            dot3StatsSymbolErrors               Counter32,
            dot3StatsDuplexStatus               INTEGER
        }

    dot3StatsIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies an
                    interface to an ethernet-like medium.  The
                    interface identified by a particular value of
                    this index is the same interface as identified
                    by the same value of ifIndex."
        REFERENCE   "RFC 2233, ifIndex"
        ::= { dot3StatsEntry 1 }

    dot3StatsAlignmentErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames received on a particular
                    interface that are not an integral number of
                    octets in length and do not pass the FCS check.

                    The count represented by an instance of this
                    object is incremented when the alignmentError
                    status is returned by the MAC service to the
                    LLC (or other MAC user). Received frames for
                    which multiple error conditions obtain are,
                    according to the conventions of IEEE 802.3
                    Layer Management, counted exclusively according
                    to the error status presented to the LLC.

                    This counter does not increment for 8-bit wide
                    group encoding schemes.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.7,
                    aAlignmentErrors"
        ::= { dot3StatsEntry 2 }

    dot3StatsFCSErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames received on a particular
                    interface that are an integral number of octets
                    in length but do not pass the FCS check.  This
                    count does not include frames received with
                    frame-too-long or frame-too-short error.

                    The count represented by an instance of this
                    object is incremented when the frameCheckError
                    status is returned by the MAC service to the
                    LLC (or other MAC user). Received frames for
                    which multiple error conditions obtain are,
                    according to the conventions of IEEE 802.3
                    Layer Management, counted exclusively according
                    to the error status presented to the LLC.

                    Note:  Coding errors detected by the physical
                    layer for speeds above 10 Mb/s will cause the
                    frame to fail the FCS check.
                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.6,
                    aFrameCheckSequenceErrors."
        ::= { dot3StatsEntry 3 }

    dot3StatsSingleCollisionFrames OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of successfully transmitted frames on
                    a particular interface for which transmission
                    is inhibited by exactly one collision.

                    A frame that is counted by an instance of this
                    object is also counted by the corresponding
                    instance of either the ifOutUcastPkts,
                    ifOutMulticastPkts, or ifOutBroadcastPkts,
                    and is not counted by the corresponding
                    instance of the dot3StatsMultipleCollisionFrames
                    object.

                    This counter does not increment when the
                    interface is operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.3,
                    aSingleCollisionFrames."
        ::= { dot3StatsEntry 4 }

    dot3StatsMultipleCollisionFrames OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of successfully transmitted frames on
                    a particular interface for which transmission
                    is inhibited by more than one collision.

                    A frame that is counted by an instance of this
                    object is also counted by the corresponding
                    instance of either the ifOutUcastPkts,
                    ifOutMulticastPkts, or ifOutBroadcastPkts,
                    and is not counted by the corresponding
                    instance of the dot3StatsSingleCollisionFrames
                    object.
                    This counter does not increment when the
                    interface is operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.4,
                    aMultipleCollisionFrames."
        ::= { dot3StatsEntry 5 }

    dot3StatsSQETestErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of times that the SQE TEST ERROR
                    message is generated by the PLS sublayer for a
                    particular interface. The SQE TEST ERROR
                    is set in accordance with the rules for
                    verification of the SQE detection mechanism in
                    the PLS Carrier Sense Function as described in
                    IEEE Std. 802.3, 1998 Edition, section 7.2.4.6.

                    This counter does not increment on interfaces
                    operating at speeds greater than 10 Mb/s, or on
                    interfaces operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 7.2.4.6, also 30.3.2.1.4,
                    aSQETestErrors."
        ::= { dot3StatsEntry 6 }

    dot3StatsDeferredTransmissions OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames for which the first
                    transmission attempt on a particular interface
                    is delayed because the medium is busy.
                    The count represented by an instance of this
                    object does not include frames involved in
                    collisions.

                    This counter does not increment when the
                    interface is operating in full-duplex mode.
                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.9,
                    aFramesWithDeferredXmissions."
        ::= { dot3StatsEntry 7 }

    dot3StatsLateCollisions OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of times that a collision is
                    detected on a particular interface later than
                    one slotTime into the transmission of a packet.

                    A (late) collision included in a count
                    represented by an instance of this object is
                    also considered as a (generic) collision for
                    purposes of other collision-related
                    statistics.

                    This counter does not increment when the
                    interface is operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.10,
                    aLateCollisions."
        ::= { dot3StatsEntry 8 }

    dot3StatsExcessiveCollisions OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames for which transmission on a
                    particular interface fails due to excessive
                    collisions.
                    This counter does not increment when the
                    interface is operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.11,
                    aFramesAbortedDueToXSColls."
        ::= { dot3StatsEntry 9 }

    dot3StatsInternalMacTransmitErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames for which transmission on a
                    particular interface fails due to an internal
                    MAC sublayer transmit error. A frame is only
                    counted by an instance of this object if it is
                    not counted by the corresponding instance of
                    either the dot3StatsLateCollisions object, the
                    dot3StatsExcessiveCollisions object, or the
                    dot3StatsCarrierSenseErrors object.

                    The precise meaning of the count represented by
                    an instance of this object is implementation-
                    specific.  In particular, an instance of this
                    object may represent a count of transmission
                    errors on a particular interface that are not
                    otherwise counted.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.12,
                    aFramesLostDueToIntMACXmitError."
        ::= { dot3StatsEntry 10 }

    dot3StatsCarrierSenseErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of times that the carrier sense
                    condition was lost or never asserted when
                    attempting to transmit a frame on a particular
                    interface.

                    The count represented by an instance of this
                    object is incremented at most once per
                    transmission attempt, even if the carrier sense
                    condition fluctuates during a transmission
                    attempt.

                    This counter does not increment when the
                    interface is operating in full-duplex mode.
                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.13,
                    aCarrierSenseErrors."
        ::= { dot3StatsEntry 11 }

    -- { dot3StatsEntry 12 } is not assigned

    dot3StatsFrameTooLongs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames received on a particular
                    interface that exceed the maximum permitted
                    frame size.

                    The count represented by an instance of this
                    object is incremented when the frameTooLong
                    status is returned by the MAC service to the
                    LLC (or other MAC user). Received frames for
                    which multiple error conditions obtain are,
                    according to the conventions of IEEE 802.3
                    Layer Management, counted exclusively according
                    to the error status presented to the LLC.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.25,
                    aFrameTooLongErrors."
        ::= { dot3StatsEntry 13 }

    -- { dot3StatsEntry 14 } is not assigned

    -- { dot3StatsEntry 15 } is not assigned

    dot3StatsInternalMacReceiveErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of frames for which reception on a
                    particular interface fails due to an internal
                    MAC sublayer receive error. A frame is only
                    counted by an instance of this object if it is
                    not counted by the corresponding instance of
                    either the dot3StatsFrameTooLongs object, the
                    dot3StatsAlignmentErrors object, or the
                    dot3StatsFCSErrors object.

                    The precise meaning of the count represented by
                    an instance of this object is implementation-
                    specific.  In particular, an instance of this
                    object may represent a count of receive errors
                    on a particular interface that are not
                    otherwise counted.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.15,
                    aFramesLostDueToIntMACRcvError."
        ::= { dot3StatsEntry 16 }

    dot3StatsEtherChipSet OBJECT-TYPE
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION "******** THIS OBJECT IS DEPRECATED ********

                    This object contains an OBJECT IDENTIFIER
                    which identifies the chipset used to
                    realize the interface. Ethernet-like
                    interfaces are typically built out of
                    several different chips. The MIB implementor
                    is presented with a decision of which chip
                    to identify via this object. The implementor
                    should identify the chip which is usually
                    called the Medium Access Control chip.
                    If no such chip is easily identifiable,
                    the implementor should identify the chip
                    which actually gathers the transmit
                    and receive statistics and error
                    indications. This would allow a
                    manager station to correlate the
                    statistics and the chip generating
                    them, giving it the ability to take
                    into account any known anomalies
                    in the chip."
        ::= { dot3StatsEntry 17 }

    dot3StatsSymbolErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "For an interface operating at 100 Mb/s, the
                    number of times there was an invalid data symbol
                    when a valid carrier was present.

                    For an interface operating in half-duplex mode
                    at 1000 Mb/s, the number of times the receiving
                    media is non-idle (a carrier event) for a period
                    of time equal to or greater than slotTime, and
                    during which there was at least one occurrence
                    of an event that causes the PHY to indicate
                    'Data reception error' or 'carrier extend error'
                    on the GMII.

                    For an interface operating in full-duplex mode
                    at 1000 Mb/s, the number of times the receiving
                    media is non-idle a carrier event) for a period
                    of time equal to or greater than minFrameSize,
                    and during which there was at least one
                    occurrence of an event that causes the PHY to
                    indicate 'Data reception error' on the GMII.

                    The count represented by an instance of this
                    object is incremented at most once per carrier
                    event, even if multiple symbol errors occur
                    during the carrier event.  This count does
                    not increment if a collision is present.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.2.1.5,
                    aSymbolErrorDuringCarrier."
        ::= { dot3StatsEntry 18 }

    dot3StatsDuplexStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        unknown(1),
                        halfDuplex(2),
                        fullDuplex(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The current mode of operation of the MAC
                    entity.  'unknown' indicates that the current
                    duplex mode could not be determined.
                    Management control of the duplex mode is
                    accomplished through the MAU MIB.  When
                    an interface does not support autonegotiation,
                    or when autonegotiation is not enabled, the
                    duplex mode is controlled using
                    ifMauDefaultType.  When autonegotiation is
                    supported and enabled, duplex mode is controlled
                    using ifMauAutoNegAdvertisedBits.  In either
                    case, the currently operating duplex mode is
                    reflected both in this object and in ifMauType.

                    Note that this object provides redundant
                    information with ifMauType.  Normally, redundant
                    objects are discouraged.  However, in this
                    instance, it allows a management application to
                    determine the duplex status of an interface
                    without having to know every possible value of
                    ifMauType.  This was felt to be sufficiently
                    valuable to justify the redundancy."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.32,
                    aDuplexStatus."
        ::= { dot3StatsEntry 19 }

    -- the Ethernet-like Collision Statistics group

    -- Implementation of this group is optional; it is appropriate
    -- for all systems which have the necessary metering

    dot3CollTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3CollEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A collection of collision histograms for a
                    particular set of interfaces."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.30,
                    aCollisionFrames."
        ::= { dot3 5 }

    dot3CollEntry OBJECT-TYPE
        SYNTAX      Dot3CollEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A cell in the histogram of per-frame
                    collisions for a particular interface.  An
                    instance of this object represents the
                    frequency of individual MAC frames for which
                    the transmission (successful or otherwise) on a
                    particular interface is accompanied by a
                    particular number of media collisions."
        INDEX       { ifIndex, dot3CollCount }
        ::= { dot3CollTable 1 }

    Dot3CollEntry ::=
        SEQUENCE {
            dot3CollCount        INTEGER,
            dot3CollFrequencies  Counter32
        }

    -- { dot3CollEntry 1 } is no longer in use

    dot3CollCount OBJECT-TYPE
        SYNTAX      INTEGER (1..16)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The number of per-frame media collisions for
                    which a particular collision histogram cell
                    represents the frequency on a particular
                    interface."
        ::= { dot3CollEntry 2 }

    dot3CollFrequencies OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of individual MAC frames for which the
                    transmission (successful or otherwise) on a
                    particular interface occurs after the
                    frame has experienced exactly the number
                    of collisions in the associated
                    dot3CollCount object.

                    For example, a frame which is transmitted
                    on interface 77 after experiencing
                    exactly 4 collisions would be indicated
                    by incrementing only dot3CollFrequencies.77.4.
                    No other instance of dot3CollFrequencies would
                    be incremented in this example.

                    This counter does not increment when the
                    interface is operating in full-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        ::= { dot3CollEntry 3 }

    dot3ControlTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3ControlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table of descriptive and status information
                    about the MAC Control sublayer on the
                    ethernet-like interfaces attached to a
                    particular system.  There will be one row in
                    this table for each ethernet-like interface in
                    the system which implements the MAC Control
                    sublayer.  If some, but not all, of the
                    ethernet-like interfaces in the system implement
                    the MAC Control sublayer, there will be fewer
                    rows in this table than in the dot3StatsTable."
        ::= { dot3 9 }

    dot3ControlEntry OBJECT-TYPE
        SYNTAX      Dot3ControlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                    about the MAC Control sublayer on a single
                    ethernet-like interface."
        INDEX       { dot3StatsIndex }
        ::= { dot3ControlTable 1 }

    Dot3ControlEntry ::=
        SEQUENCE {
            dot3ControlFunctionsSupported       BITS,
            dot3ControlInUnknownOpcodes         Counter32
        }

    dot3ControlFunctionsSupported OBJECT-TYPE
        SYNTAX      BITS {
                        pause(0)   -- 802.3x flow control
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A list of the possible MAC Control functions
                    implemented for this interface."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.3.2,
                    aMACControlFunctionsSupported."
        ::= { dot3ControlEntry 1 }

    dot3ControlInUnknownOpcodes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of MAC Control frames received on this
                    interface that contain an opcode that is not
                    supported by this device.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.3.5,
                    aUnsupportedOpcodesReceived"
        ::= { dot3ControlEntry 2 }

    dot3PauseTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF Dot3PauseEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A table of descriptive and status information
                    about the MAC Control PAUSE function on the
                    ethernet-like interfaces attached to a
                    particular system. There will be one row in
                    this table for each ethernet-like interface in
                    the system which supports the MAC Control PAUSE
                    function (i.e., the 'pause' bit in the
                    corresponding instance of
                    dot3ControlFunctionsSupported is set).  If some,
                    but not all, of the ethernet-like interfaces in
                    the system implement the MAC Control PAUSE
                    function (for example, if some interfaces only
                    support half-duplex), there will be fewer rows
                    in this table than in the dot3StatsTable."
        ::= { dot3 10 }

    dot3PauseEntry OBJECT-TYPE
        SYNTAX      Dot3PauseEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An entry in the table, containing information
                    about the MAC Control PAUSE function on a single
                    ethernet-like interface."
        INDEX       { dot3StatsIndex }
        ::= { dot3PauseTable 1 }

    Dot3PauseEntry ::=
        SEQUENCE {
            dot3PauseAdminMode                  INTEGER,
            dot3PauseOperMode                   INTEGER,
            dot3InPauseFrames                   Counter32,
            dot3OutPauseFrames                  Counter32
        }

    dot3PauseAdminMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        disabled(1),
                        enabledXmit(2),
                        enabledRcv(3),
                        enabledXmitAndRcv(4)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object is used to configure the default
                    administrative PAUSE mode for this interface.

                    This object represents the
                    administratively-configured PAUSE mode for this
                    interface.  If auto-negotiation is not enabled
                    or is not implemented for the active MAU
                    attached to this interface, the value of this
                    object determines the operational PAUSE mode
                    of the interface whenever it is operating in
                    full-duplex mode.  In this case, a set to this
                    object will force the interface into the
                    specified mode.

                    If auto-negotiation is implemented and enabled
                    for the MAU attached to this interface, the
                    PAUSE mode for this interface is determined by
                    auto-negotiation, and the value of this object
                    denotes the mode to which the interface will
                    automatically revert if/when auto-negotiation is
                    later disabled.  Note that when auto-negotiation
                    is running, administrative control of the PAUSE
                    mode may be accomplished using the
                    ifMauAutoNegCapAdvertisedBits object in the
                    MAU-MIB.

                    Note that the value of this object is ignored
                    when the interface is not operating in
                    full-duplex mode.

                    An attempt to set this object to
                    'enabledXmit(2)' or 'enabledRcv(3)' will fail
                    on interfaces that do not support operation
                    at greater than 100 Mb/s."
        ::= { dot3PauseEntry 1 }

    dot3PauseOperMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        disabled(1),
                        enabledXmit(2),
                        enabledRcv(3),
                        enabledXmitAndRcv(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object reflects the PAUSE mode currently
                    in use on this interface, as determined by
                    either (1) the result of the auto-negotiation
                    function or (2) if auto-negotiation is not
                    enabled or is not implemented for the active MAU
                    attached to this interface, by the value of
                    dot3PauseAdminMode.  Interfaces operating at
                    100 Mb/s or less will never return
                    'enabledXmit(2)' or 'enabledRcv(3)'.  Interfaces
                    operating in half-duplex mode will always return
                    'disabled(1)'.  Interfaces on which
                    auto-negotiation is enabled but not yet
                    completed should return the value
                    'disabled(1)'."
        ::= { dot3PauseEntry 2 }

    dot3InPauseFrames OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of MAC Control frames received on this
                    interface with an opcode indicating the PAUSE
                    operation.

                    This counter does not increment when the
                    interface is operating in half-duplex mode.
                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.4.3,
                    aPAUSEMACCtrlFramesReceived."
        ::= { dot3PauseEntry 3 }

    dot3OutPauseFrames OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A count of MAC Control frames transmitted on
                    this interface with an opcode indicating the
                    PAUSE operation.

                    This counter does not increment when the
                    interface is operating in half-duplex mode.

                    Discontinuities in the value of this counter can
                    occur at re-initialization of the management
                    system, and at other times as indicated by the
                    value of ifCounterDiscontinuityTime."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.4.2,
                    aPAUSEMACCtrlFramesTransmitted."
        ::= { dot3PauseEntry 4 }

    --  802.3 Tests

    dot3Tests   OBJECT IDENTIFIER ::= { dot3 6 }

    dot3Errors  OBJECT IDENTIFIER ::= { dot3 7 }

    --  TDR Test

    dot3TestTdr OBJECT-IDENTITY
        STATUS      current
        DESCRIPTION "The Time-Domain Reflectometry (TDR) test is
                    specific to ethernet-like interfaces of type
                    10Base5 and 10Base2.  The TDR value may be
                    useful in determining the approximate distance
                    to a cable fault.  It is advisable to repeat
                    this test to check for a consistent resulting
                    TDR value, to verify that there is a fault.

                    A TDR test returns as its result the time
                    interval, measured in 10 MHz ticks or 100 nsec
                    units, between the start of TDR test
                    transmission and the subsequent detection of a
                    collision or deassertion of carrier.  On
                    successful completion of a TDR test, the result
                    is stored as the value of an appropriate
                    instance of an appropriate vendor specific MIB
                    object, and the OBJECT IDENTIFIER of that
                    instance is stored in the appropriate instance
                    of the appropriate test result code object
                    (thereby indicating where the result has been
                    stored)."
        ::= { dot3Tests 1 }

    -- Loopback Test

    dot3TestLoopBack OBJECT-IDENTITY
        STATUS      current
        DESCRIPTION "This test configures the MAC chip and executes
                    an internal loopback test of memory, data paths,
                    and the MAC chip logic.  This loopback test can
                    only be executed if the interface is offline.
                    Once the test has completed, the MAC chip should
                    be reinitialized for network operation, but it
                    should remain offline.

                    If an error occurs during a test, the
                    appropriate test result object will be set
                    to indicate a failure.  The two OBJECT
                    IDENTIFIER values dot3ErrorInitError and
                    dot3ErrorLoopbackError may be used to provided
                    more information as values for an appropriate
                    test result code object."
        ::= { dot3Tests 2 }

    dot3ErrorInitError OBJECT-IDENTITY
        STATUS      current
        DESCRIPTION "Couldn't initialize MAC chip for test."
        ::= { dot3Errors 1 }

    dot3ErrorLoopbackError OBJECT-IDENTITY
        STATUS      current
        DESCRIPTION "Expected data not received (or not received
                    correctly) in loopback test."
        ::= { dot3Errors 2 }

    -- { dot3 8 }, the dot3ChipSets tree, is defined in [28]

    -- conformance information

    etherConformance OBJECT IDENTIFIER ::= { etherMIB 2 }

    etherGroups      OBJECT IDENTIFIER ::= { etherConformance 1 }
    etherCompliances OBJECT IDENTIFIER ::= { etherConformance 2 }

    -- compliance statements

    etherCompliance MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********

                    The compliance statement for managed network
                    entities which have ethernet-like network
                    interfaces.
                    This compliance is deprecated and replaced by
                    dot3Compliance."

        MODULE  -- this module
            MANDATORY-GROUPS { etherStatsGroup }

            GROUP       etherCollisionTableGroup
            DESCRIPTION "This group is optional. It is appropriate
                        for all systems which have the necessary
                        metering. Implementation in such systems is
                        highly recommended."
        ::= { etherCompliances 1 }

    ether100MbsCompliance MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "******** THIS COMPLIANCE IS DEPRECATED ********

                    The compliance statement for managed network
                    entities which have 100 Mb/sec ethernet-like
                    network interfaces.

                    This compliance is deprecated and replaced by
                    dot3Compliance."

        MODULE  -- this module
            MANDATORY-GROUPS { etherStats100MbsGroup }

            GROUP       etherCollisionTableGroup
            DESCRIPTION "This group is optional. It is appropriate
                        for all systems which have the necessary
                        metering. Implementation in such systems is
                        highly recommended."
        ::= { etherCompliances 2 }

    dot3Compliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement for managed network
                    entities which have ethernet-like network
                    interfaces."

        MODULE  -- this module
            MANDATORY-GROUPS { etherStatsBaseGroup }

            GROUP       etherDuplexGroup
            DESCRIPTION "This group is mandatory for all
                        ethernet-like network interfaces which are
                        capable of operating in full-duplex mode.
                        It is highly recommended for all
                        ethernet-like network interfaces."

            GROUP       etherStatsLowSpeedGroup
            DESCRIPTION "This group is mandatory for all
                        ethernet-like network interfaces which are
                        capable of operating at 10 Mb/s or slower in
                        half-duplex mode."

            GROUP       etherStatsHighSpeedGroup
            DESCRIPTION "This group is mandatory for all
                        ethernet-like network interfaces which are
                        capable of operating at 100 Mb/s or faster."

            GROUP       etherControlGroup
            DESCRIPTION "This group is mandatory for all
                        ethernet-like network interfaces that
                        support the MAC Control sublayer."

            GROUP       etherControlPauseGroup
            DESCRIPTION "This group is mandatory for all
                        ethernet-like network interfaces that
                        support the MAC Control PAUSE function."

            GROUP       etherCollisionTableGroup
            DESCRIPTION "This group is optional. It is appropriate
                        for all ethernet-like network interfaces
                        which are capable of operating in
                        half-duplex mode and have the necessary
                        metering. Implementation in systems with
                        such interfaces is highly recommended."

        ::= { etherCompliances 3 }

    -- units of conformance

    etherStatsGroup OBJECT-GROUP
        OBJECTS     { dot3StatsIndex,
                      dot3StatsAlignmentErrors,
                      dot3StatsFCSErrors,
                      dot3StatsSingleCollisionFrames,
                      dot3StatsMultipleCollisionFrames,
                      dot3StatsSQETestErrors,
                      dot3StatsDeferredTransmissions,
                      dot3StatsLateCollisions,
                      dot3StatsExcessiveCollisions,
                      dot3StatsInternalMacTransmitErrors,
                      dot3StatsCarrierSenseErrors,
                      dot3StatsFrameTooLongs,
                      dot3StatsInternalMacReceiveErrors,
                      dot3StatsEtherChipSet
                    }
        STATUS      deprecated
        DESCRIPTION "********* THIS GROUP IS DEPRECATED **********

                    A collection of objects providing information
                    applicable to all ethernet-like network
                    interfaces.

                    This object group has been deprecated and
                    replaced by etherStatsBaseGroup and
                    etherStatsLowSpeedGroup."
        ::= { etherGroups 1 }

    etherCollisionTableGroup OBJECT-GROUP
        OBJECTS     { dot3CollFrequencies
                    }
        STATUS      current
        DESCRIPTION "A collection of objects providing a histogram
                    of packets successfully transmitted after
                    experiencing exactly N collisions."
        ::= { etherGroups 2 }

    etherStats100MbsGroup OBJECT-GROUP
        OBJECTS     { dot3StatsIndex,
                      dot3StatsAlignmentErrors,
                      dot3StatsFCSErrors,
                      dot3StatsSingleCollisionFrames,
                      dot3StatsMultipleCollisionFrames,
                      dot3StatsDeferredTransmissions,
                      dot3StatsLateCollisions,
                      dot3StatsExcessiveCollisions,
                      dot3StatsInternalMacTransmitErrors,
                      dot3StatsCarrierSenseErrors,
                      dot3StatsFrameTooLongs,
                      dot3StatsInternalMacReceiveErrors,
                      dot3StatsEtherChipSet,
                      dot3StatsSymbolErrors
                    }
        STATUS      deprecated
        DESCRIPTION "********* THIS GROUP IS DEPRECATED **********

                    A collection of objects providing information
                    applicable to 100 Mb/sec ethernet-like network
                    interfaces.

                    This object group has been deprecated and
                    replaced by etherStatsBaseGroup and
                    etherStatsHighSpeedGroup."
        ::= { etherGroups 3 }

    etherStatsBaseGroup OBJECT-GROUP
        OBJECTS     { dot3StatsIndex,
                      dot3StatsAlignmentErrors,
                      dot3StatsFCSErrors,
                      dot3StatsSingleCollisionFrames,
                      dot3StatsMultipleCollisionFrames,
                      dot3StatsDeferredTransmissions,
                      dot3StatsLateCollisions,
                      dot3StatsExcessiveCollisions,
                      dot3StatsInternalMacTransmitErrors,
                      dot3StatsCarrierSenseErrors,
                      dot3StatsFrameTooLongs,
                      dot3StatsInternalMacReceiveErrors
                    }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    applicable to all ethernet-like network
                    interfaces."
        ::= { etherGroups 4 }

    etherStatsLowSpeedGroup OBJECT-GROUP
        OBJECTS     { dot3StatsSQETestErrors }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    applicable to ethernet-like network interfaces
                    capable of operating at 10 Mb/s or slower in
                    half-duplex mode."

        ::= { etherGroups 5 }

    etherStatsHighSpeedGroup OBJECT-GROUP
        OBJECTS     { dot3StatsSymbolErrors }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    applicable to ethernet-like network interfaces
                    capable of operating at 100 Mb/s or faster."
        ::= { etherGroups 6 }

    etherDuplexGroup OBJECT-GROUP
        OBJECTS     { dot3StatsDuplexStatus }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    about the duplex mode of an ethernet-like
                    network interface."
        ::= { etherGroups 7 }

    etherControlGroup OBJECT-GROUP
        OBJECTS     { dot3ControlFunctionsSupported,
                      dot3ControlInUnknownOpcodes
                    }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    about the MAC Control sublayer on ethernet-like
                    network interfaces."
        ::= { etherGroups 8 }

    etherControlPauseGroup OBJECT-GROUP
        OBJECTS     { dot3PauseAdminMode,
                      dot3PauseOperMode,
                      dot3InPauseFrames,
                      dot3OutPauseFrames
                    }
        STATUS      current
        DESCRIPTION "A collection of objects providing information
                    about and control of the MAC Control PAUSE
                    function on ethernet-like network interfaces."
        ::= { etherGroups 9 }

END
