Subject: aMACControlFunctionsSupported

From: John Flick <[email-masked]>
Date: Thu, 12 Nov 1998 21:38:02 -0800 (PST)

Hi,

Since there has been very little discussion on this topic, I have
decided to have a read-only object called
dot3ControlFunctionsSupported, and two pause objects called
dot3PauseAdminMode and dot3PauseOperMode.  These will act similar to
ifMauType/ifMauDefaultType in that dot3PauseAdminMode will configure
the pause mode if auto-negotiation is unsupported or disabled, and
auto-negotiation will control the pause mode when auto-negotiation is
enabled.

I have attached the revised dot3ControlTable and dot3PauseTable to
this message.  Please review this!!!  Note that the deadline for
submitting internet-drafts before the Orlando IETF is November 18 at
5:00 PM, Reston time (U.S. east coast).  I have also included the
definition of the dot3DuplexStatus that was decided on in Chicago.

Thanks,
John
-------------------------------------------------------------------

    dot3DuplexStatus 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."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.1.1.32,
                    aDuplexStatus."
        ::= { dot3StatsEntry 19 }

    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."
        ::= { 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)
                    }
        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."
        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."
        ::= { 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,
            dot3PauseLinkDelayAllowance         Unsigned32,
            dot3InPauseFrames                   Counter32,
            dot3OutPauseFrames                  Counter32
        }

    dot3PauseAdminMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        disabled(1),
                        enabledXmit(2),
                        enabledRcv(3),
                        enabledXmitAndRcv(4)
                    }
        MAX-ACCESS  read-only
        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 1 }

    dot3PauseLinkDelayAllowance OBJECT-TYPE
        SYNTAX      Unsigned32 (0..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The allowance, in bit times, made by the PAUSE
                    MAC Control entity for round-trip propagation
                    delay of the full-duplex link."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.4.1,
                    aPAUSELinkDelayAllowance."
        ::= { 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."
        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."
        REFERENCE   "[IEEE 802.3 Std.], 30.3.4.2,
                    aPAUSEMACCtrlFramesTransmitted."
        ::= { dot3PauseEntry 4 }