EtherLike-MIB DEFINITIONS ::= BEGIN

IMPORTS
    ifEntry, ifIndex
        FROM IF-MIB
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    PhysAddress, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    transmission, mib-2, Integer32, Gauge32, Counter32, OBJECT-TYPE, MODULE-IDENTITY
        FROM SNMPv2-SMI;

etherMIB MODULE-IDENTITY
    LAST-UPDATED "9402030400Z"
    ORGANIZATION "IETF Interfaces MIB Working Group"
    CONTACT-INFO
                 "Frank Kastenholz

      Postal: FTP Software
              2 High Street
              North Andover, MA 01845
              US

         Tel: +1 508 685 4000
      E-Mail: kasten@ftp.com"
    DESCRIPTION
        "The MIB module to describe generic objects for
         Ethernet-like network interfaces. This MIB is an
         updated version of the Ethernet-like MIB in RFC
         1398."
    ::= { mib-2  35 }

etherMIBObjects ::= { etherMIB  1 }

dot3 ::= { transmission  7 }

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

        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
    }

dot3StatsIndex OBJECT-TYPE
    SYNTAX     INTEGER
    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."
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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.

         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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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
         message is defined in section 7.2.2.2.4 of
         ANSI/IEEE 802.3-1985 and its generation is
         described in section 7.2.4.6 of the same
         document."
    REFERENCE
        "ANSI/IEEE Std 802.3-1985 Carrier Sense
         Multiple Access with Collision Detection Access
         Method and Physical Layer Specifications"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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
         512 bit-times into the transmission of a
         packet.

         Five hundred and twelve bit-times corresponds
         to 51.2 microseconds on a 10 Mbit/s system. 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { 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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { dot3StatsEntry  11 }

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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { dot3StatsEntry  13 }

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."
    REFERENCE
        "IEEE 802.3 Layer Management"
    ::= { dot3StatsEntry  16 }

dot3StatsEtherChipSet OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "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 }

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

dot3CollCount OBJECT-TYPE
    SYNTAX     INTEGER
    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."
    ::= { dot3CollEntry  3 }

dot3Tests ::= { dot3  6 }

dot3Errors ::= { dot3  7 }

dot3TestTdr ::= { dot3Tests  1 }

dot3TestLoopBack ::= { dot3Tests  2 }

dot3ErrorInitError ::= { dot3Errors  1 }

dot3ErrorLoopbackError ::= { dot3Errors  2 }

dot3ChipSets ::= { dot3  8 }

dot3ChipSetAMD ::= { dot3ChipSets  1 }

dot3ChipSetAMD7990 ::= { dot3ChipSetAMD  1 }

dot3ChipSetAMD79900 ::= { dot3ChipSetAMD  2 }

dot3ChipSetAMD79C940 ::= { dot3ChipSetAMD  3 }

dot3ChipSetIntel ::= { dot3ChipSets  2 }

dot3ChipSetIntel82586 ::= { dot3ChipSetIntel  1 }

dot3ChipSetIntel82596 ::= { dot3ChipSetIntel  2 }

dot3ChipSetSeeq ::= { dot3ChipSets  3 }

dot3ChipSetSeeq8003 ::= { dot3ChipSetSeeq  1 }

dot3ChipSetNational ::= { dot3ChipSets  4 }

dot3ChipSetNational8390 ::= { dot3ChipSetNational  1 }

dot3ChipSetNationalSonic ::= { dot3ChipSetNational  2 }

dot3ChipSetFujitsu ::= { dot3ChipSets  5 }

dot3ChipSetFujitsu86950 ::= { dot3ChipSetFujitsu  1 }

dot3ChipSetDigital ::= { dot3ChipSets  6 }

dot3ChipSetDigitalDC21040 ::= { dot3ChipSetDigital  1 }

etherConformance ::= { etherMIB  2 }

etherGroups ::= { etherConformance  1 }

etherCompliances ::= { etherConformance  2 }

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

    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 }

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

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

END
