------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
--  File         : bcmSwapi.mib
--
--
--  Copyright (c) 1999 admin Systems, Inc.  All Rights Reserved.
--
--  Reproduction of this document is authorized on condition that this
--  copyright notice is included.  This GBN CCD MIB Specification
--  embodies proprietary intellectual property of admin Systems (ADMIN).
--  ADMIN retains all title and ownership in the specification, including any
--  revisions.
--
--  It is the intent of ADMIN to encourage the widespread use of this
--  specification in connection with the management of GBN products.
--  ADMIN grants vendor, end-users, and other interested parties a non-exclusive
--  license to use this specification in connection with the management of
--  GBN based products.
--
--  This specification is supplied "AS IS", and ADMIN makes no
--  warranty, either express or implied, as to the use, operations,
--  condition, or performance of this specification.
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--  Groups in the ADMIN SWAPI MIB
--
--  The following groups are supported for the ADMIN GBN Enterprise MIB:
--
--     sRFC1573MIB   Support for RFC1213 and RFC1573
--     sRFC1493MIB   Support for multiple SPT's
--     sRFC1757MIB   Support for Stat's group only
--     sRFC2233MIB   Support for the Mau Mib (AutoNeg)
--     sDot1QMIB     Support for the 802.1Q Mib
--     sDot1XMIB     Support for the 802.1X Mib
--     sDot1pMIB     Support for the 802.1p Mib
--     sRFC1643MIB   Support for the Ether like Interfaces Mib
--     sArch         Support for Architecture
--     sChip         Support for Switch (NOT Supported Yet)
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------
GBNDeviceSWAPI-MIB

    DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Counter32, Integer32, Unsigned32, TimeTicks, BITS,
        Gauge32
                                                 FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, TruthValue, MacAddress, RowStatus
                                                 FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
                                                 FROM SNMPv2-CONF
        DisplayString, PhysAddress               FROM RFC1213-MIB
        gbnDevice                                FROM ADMIN-MASTER-MIB
        IANAifType                               FROM IANAifType-MIB;


    bcmSwapi MODULE-IDENTITY
        LAST-UPDATED "0105030000Z"  -- May 03,2001
        ORGANIZATION "admin Systems, Inc."
        CONTACT-INFO "admin E-mail: "

        DESCRIPTION "SWAPI for Switch End Driver
                   100Mb/s and 1000Mb/s Management."

        REVISION    "0105030000Z" -- May 03,2001
        DESCRIPTION "Updated to include support for 1000 Mb/sec
                   MAUs and flow control negotiation."

        ::= { gbnDevice 2 }

--SMI BITS
    --
    -- SWAPI MIB Extensions
    --

    sRFC1573MIB OBJECT IDENTIFIER ::= { bcmSwapi 2 }
            sRFC1573Interfaces   OBJECT IDENTIFIER ::= { sRFC1573MIB 3 }

    -- Bridge MIB starts at 17
    sRFC1493MIB OBJECT IDENTIFIER ::= { bcmSwapi 4 }
            sDot1dBase     OBJECT IDENTIFIER ::= { sRFC1493MIB 1 }
            sDot1dStp      OBJECT IDENTIFIER ::= { sRFC1493MIB 2 }
            sDot1dTp       OBJECT IDENTIFIER ::= { sRFC1493MIB 4 }

    -- RMON starts at MIB-II
    sRFC1757MIB OBJECT IDENTIFIER ::= { bcmSwapi 5}
            sRFC1757Statistics   OBJECT IDENTIFIER ::= {sRFC1757MIB  1 }

    sRFC2239MIB OBJECT IDENTIFIER ::= { bcmSwapi 6}
            sDot3IfMauBasicGroup        OBJECT IDENTIFIER ::= { sRFC2239MIB 2 }
            sDot3IfMauAutoNegGroup      OBJECT IDENTIFIER ::= { sRFC2239MIB 5 }

    sDot1pMIB OBJECT IDENTIFIER ::= { bcmSwapi 7}
            sDot1dExtBase      OBJECT IDENTIFIER ::= { sDot1pMIB 1 }
            sDot1dPriority     OBJECT IDENTIFIER ::= { sDot1pMIB 2 }
            sDot1dGarp         OBJECT IDENTIFIER ::= { sDot1pMIB 3 }
            sDot1dGmrp         OBJECT IDENTIFIER ::= { sDot1pMIB 4 }

    sDot1QMIB OBJECT IDENTIFIER ::= { bcmSwapi 8}
            sDot1qBase         OBJECT IDENTIFIER ::= { sDot1QMIB 1 }
            sDot1qTp           OBJECT IDENTIFIER ::= { sDot1QMIB 2 }
            sDot1qStatic       OBJECT IDENTIFIER ::= { sDot1QMIB 3 }
            sDot1qVlan         OBJECT IDENTIFIER ::= { sDot1QMIB 4 }

    sRFC1643MIB OBJECT IDENTIFIER ::= { bcmSwapi 9}
            sRFC1643Dot3    OBJECT IDENTIFIER ::= { sRFC1643MIB 1 }

    sDot1XMIB OBJECT IDENTIFIER ::= { bcmSwapi 10}
            sDot1xBase         OBJECT IDENTIFIER ::= { sDot1XMIB 1 }
            
            
    sArch OBJECT IDENTIFIER ::= { bcmSwapi 4096}
            sArchSwitchInfo    OBJECT IDENTIFIER ::= { sArch 1 }
            sSwitchStatsInfo   OBJECT IDENTIFIER ::= { sArch 2 }

-- -------------------------------------------------------------
-- Textual Conventions
-- -------------------------------------------------------------

EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A simple status value for the object."
    SYNTAX      INTEGER { enabled(1), disabled(2) }

PortList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        ports, with the first octet specifying ports 1 through
        8, the second octet specifying ports 9 through 16, etc.
        Within each octet, the most significant bit represents
        the lowest numbered port, and the least significant bit
        represents the highest numbered port.  Thus, each port
        of the bridge is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that port is included in the set of ports; the port
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING

VlanIndex ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A value used to index per-VLAN tables: values of 0 and
        4095 are not permitted; if the value is between 1 and
        4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
        global scope within a given bridged domain (see VlanId
        textual convention).  If the value is greater than 4095
        then it represents a VLAN with scope local to the
        particular agent, i.e. one without a global VLAN-ID
        assigned to it. Such VLANs are outside the scope of
        IEEE 802.1Q but it is convenient to be able to manage them
        in the same way using this MIB."
    SYNTAX      Unsigned32

TimeFilter ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "To be used for the index to a table.  Allows an application
        to download only those rows changed since a particular time.
        A row is considered changed if the value of any object in the
        row changes or if the row is created or deleted.

        When sysUpTime is equal to zero, this table shall be empty.

        One entry exists for each past value of sysUpTime, except that
        the whole table is purged should sysUpTime wrap.

        As this basic row is updated new conceptual rows are created
        (which still share the now updated object values with all
        other instances).  The number of instances which are created
        is determined by the value of sysUpTime at which the basic row
        was last updated.  One instance will exist for each value of
        sysUpTime at the last update time for the row.  A new
        timeMark instance is created for each new sysUpTime value.
        Each new conceptual row will be associated with the timeMark
        instance which was created at the value of sysUpTime with
        which the conceptual row is to be associated.

        By definition all conceptual rows were updated at or after
        time zero and so at least one conceptual row (associated with
        timeMark.0) must exist for each underlying (basic) row.

        See the appendix for further discussion of this variable.

        Consider the following fooTable:

        fooTable ...
        INDEX { fooTimeMark, fooIndex }

        FooEntry {
           fooTimeMark  TimeFilter
           fooIndex     INTEGER,
           fooCounts    Counter
        }

        Should there be two basic rows in this table (fooIndex == 1,
        fooIndex == 2) and row 1 was updated most recently at time 6,
        while row 2 was updated most recently at time 8, and both rows
        had been updated on several earlier occasions such that the
        current values were 5 and 9 respectively then the following
        fooCounts instances would exist.

        fooCounts.0.1  5
        fooCounts.0.2  9
        fooCounts.1.1  5
        fooCounts.1.2  9
        fooCounts.2.1  5
        fooCounts.2.2  9
        fooCounts.3.1  5
        fooCounts.3.2  9
        fooCounts.4.1  5
        fooCounts.4.2  9
        fooCounts.5.1  5
        fooCounts.5.2  9
        fooCounts.6.1  5
        fooCounts.6.2  9
        fooCounts.7.2  9    -- note that row 1 doesn't exist for
        fooCounts.8.2  9    -- times 7 and 8"
    SYNTAX    TimeTicks

-- The Generic Bridge Port Table

    sDot1dBasePortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwapiDot1dBasePortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
              "A table that contains generic information about
              every port that is associated with this bridge.
              Transparent, source-route, and srt ports are
              included."
        ::= { sDot1dBase 4 }

    sDot1dBasePortEntry OBJECT-TYPE
        SYNTAX  SwapiDot1dBasePortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A list of information for each port of the
                bridge."
        REFERENCE
                "IEEE 802.1D-1990: Section 6.4.2, 6.6.1"
        INDEX  { sDot1dBasePort  }
        ::= { sDot1dBasePortTable 1 }


    SwapiDot1dBasePortEntry ::=
        SEQUENCE {
            sDot1dBasePort
                INTEGER,
            sDot1dBaseIfIndex
                INTEGER,
            sDot1dBasePortMtuExceededDiscards
                Counter32
        }


    sDot1dBasePort OBJECT-TYPE
        SYNTAX  INTEGER (1..256)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The port number of the port for which this entry
                contains bridge management information."
        ::= {  sDot1dBasePortEntry 1 }


    sDot1dBaseIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                  "The value of the instance of the ifIndex object,
                  defined in MIB-II, for the interface corresponding
                  to this port."
        ::= {  sDot1dBasePortEntry 2 }


    sDot1dBasePortMtuExceededDiscards OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                "The number of frames discarded by this port due
                to an excessive size.  It is incremented by both
                transparent and source route bridges."
        REFERENCE
                "IEEE 802.1D-1990: Section 6.6.1.1.3"
        ::= { sDot1dBasePortEntry 5 }

-- The Spanning Tree Port Table

    sDot1dStpPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwapiDot1dStpPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A table that contains port-specific information
                for the Spanning Tree Protocol."
        ::= { sDot1dStp 15 }

    sDot1dStpPortEntry OBJECT-TYPE
        SYNTAX  SwapiDot1dStpPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "A list of information maintained by every port
                about the Spanning Tree Protocol state for that
                port."
        INDEX   { sDot1dStpPort }
        ::= { sDot1dStpPortTable 1 }

    SwapiDot1dStpPortEntry ::=
        SEQUENCE {
            sDot1dStpPort             INTEGER,
            sDot1dStpPortState        INTEGER,
            sDot1dStpPortEnable       INTEGER
        }

    sDot1dStpPort OBJECT-TYPE
          SYNTAX  INTEGER (1..65535)
          MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
                  "The port number of the port for which this entry
                  contains Spanning Tree Protocol management
                  information."
          REFERENCE
                  "IEEE 802.1D-1990: Section 6.8.2.1.2"
          ::= { sDot1dStpPortEntry 1 }

    sDot1dStpPortState OBJECT-TYPE
          SYNTAX  INTEGER {
                      disabled(1),
                      blocking(2),
                      listening(3),
                      learning(4),
                      forwarding(5),
                      broken(6)
                  }
          MAX-ACCESS  read-write
          STATUS  current
          DESCRIPTION
                  "The port's current state as defined by
                  application of the Spanning Tree Protocol.  This
                  state controls what action a port takes on
                  reception of a frame.  If the bridge has detected
                  a port that is malfunctioning it will place that
                  port into the broken(6) state.  For ports which
                  are disabled (see dot1dStpPortEnable), this object
                  will have a value of disabled(1)."
          REFERENCE
                  "IEEE 802.1D-1990: Section 4.5.5.2"
          ::= { sDot1dStpPortEntry 2 }


    sDot1dStpPortEnable OBJECT-TYPE
          SYNTAX  INTEGER {
                      enabled(1),
                      disabled(2)
                  }
          MAX-ACCESS  read-write
          STATUS  current
          DESCRIPTION
                  "The enabled/disabled status of the port."
          REFERENCE
                  "IEEE 802.1D-1990: Section 4.5.5.2"
          ::= { sDot1dStpPortEntry 3 }

    sDot1dTpLearnedEntryDiscards OBJECT-TYPE
          SYNTAX  Counter32
          MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
                  "The total number of Forwarding Database entries,
                  which have been or would have been learnt, but
                  have been discarded due to a lack of space to
                  store them in the Forwarding Database.  If this
                  counter is increasing, it indicates that the
                  Forwarding Database is regularly becoming full (a
                  condition which has unpleasant performance effects
                  on the subnetwork).  If this counter has a
                  significant value but is not presently increasing,
                  it indicates that the problem has been occurring
                  but is not persistent."
          REFERENCE
                  "IEEE 802.1D-1990: Section 6.7.1.1.3"
          ::= { sDot1dTp 1 }


    sDot1dTpAgingTime OBJECT-TYPE
          SYNTAX   INTEGER (10..1000000)
          MAX-ACCESS   read-write
          STATUS   current
          DESCRIPTION
                  "The timeout period in seconds for aging out
                  dynamically learned forwarding information.
                  802.1D-1990 recommends a default of 300 seconds.But in TiNet S2008Ei,
                  the value is from 16 to 4080 in 16 increments."
          --"TiNet S2008EIֵΪ164080ұΪ16ı"
          REFERENCE
                  "IEEE 802.1D-1990: Section 6.7.1.1.3"
          ::= { sDot1dTp 2 }

    --  The Forwarding Database for Transparent Bridges

     sDot1dTpFdbTable OBJECT-TYPE
          SYNTAX  SEQUENCE OF Sdot1dTpFdbEntry
          ACCESS  not-accessible
          STATUS  mandatory
          DESCRIPTION
                  "A table that contains information about unicast
                  entries for which the bridge has forwarding and/or
                  filtering information.  This information is used
                  by the transparent bridging function in
                  determining how to propagate a received frame."
          ::= { sDot1dTp 3 }

          sDot1dTpFdbEntry OBJECT-TYPE
              SYNTAX  Sdot1dTpFdbEntry
              ACCESS  not-accessible


              STATUS  mandatory
              DESCRIPTION
                      "Information about a specific unicast MAC address
                      for which the bridge has some forwarding and/or
                      filtering information."
              INDEX   { sDot1dTpFdbAddress }
              ::= { sDot1dTpFdbTable 1 }

          Sdot1dTpFdbEntry ::=
              SEQUENCE {
                  sDot1dTpFdbAddress
                      MacAddress,
                  sDot1dTpFdbPort
                      INTEGER,
                  sDot1dTpFdbStatus
                      INTEGER
              }

          sDot1dTpFdbAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unicast MAC address for which the bridge has
                      forwarding and/or filtering information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
              ::= { sDot1dTpFdbEntry 1 }

          sDot1dTpFdbPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Either the value '0', or the port number of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port number has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable).
                      Implementors are encouraged to assign the port
                      value to this object whenever it is learned even
                      for addresses for which the corresponding value of
                      dot1dTpFdbStatus is not learned(3)."
              ::= { sDot1dTpFdbEntry 2 }



          sDot1dTpFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The status of this entry.  The meanings of the
                      values are:

                        other(1)   : none of the following.  This would
                                     include the case where some other
                                     MIB object (not the corresponding
                                     instance of dot1dTpFdbPort, nor an
                                     entry in the dot1dStaticTable) is
                                     being used to determine if and how
                                     frames addressed to the value of
                                     the corresponding instance of
                                     dot1dTpFdbAddress are being
                                     forwarded.

                        invalid(2) : this entry is not longer valid
                                     (e.g., it was learned but has since
                                     aged-out), but has not yet been
                                     flushed from the table.

                        learned(3) : the value of the corresponding
                                     instance of dot1dTpFdbPort was
                                     learned, and is being used.

                        self(4)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress
                                     represents one of the bridge's
                                     addresses.  The corresponding
                                     instance of dot1dTpFdbPort
                                     indicates which of the bridge's
                                     ports has this address.

                        mgmt(5)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress is
                                     also the value of an existing
                                     instance of dot1dStaticAddress."
              ::= { sDot1dTpFdbEntry 3 }

-- Start of RMON statistics Group

-- The Ethernet Statistics Group
--
-- Implementation of the Ethernet Statistics group is
-- optional.
--
-- The ethernet statistics group contains statistics
-- measured by the probe for each monitored interface on
-- this device.  These statistics take the form of free
-- running counters that start from zero when a valid entry
-- is created.
--
-- This group currently has statistics defined only for
-- Ethernet interfaces.  Each etherStatsEntry contains
-- statistics for one Ethernet interface.  The probe must
-- create one etherStats entry for each monitored Ethernet
-- interface on the device.

    sEtherStatsTable OBJECT-TYPE
      SYNTAX SEQUENCE OF SwapiEtherStatsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "A list of Ethernet statistics entries."
      ::= { sRFC1757Statistics 1 }


    sEtherStatsEntry OBJECT-TYPE
      SYNTAX SwapiEtherStatsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "A collection of statistics kept for a particular
          Ethernet interface.  As an example, an instance of the
          etherStatsPkts object might be named etherStatsPkts.1"
      INDEX { sEtherStatsIndex }
      ::= { sEtherStatsTable 1 }

    SwapiEtherStatsEntry ::= SEQUENCE {
      sEtherStatsIndex                    INTEGER,
      sEtherStatsDropEvents               Counter32,
      sEtherStatsOctets                   Counter32,
      sEtherStatsPkts                     Counter32,
      sEtherStatsBroadcastPkts            Counter32,
      sEtherStatsMulticastPkts            Counter32,
      sEtherStatsCRCAlignErrors           Counter32,
      sEtherStatsUndersizePkts            Counter32,
      sEtherStatsOversizePkts             Counter32,
      sEtherStatsFragments                Counter32,
      sEtherStatsJabbers                  Counter32,
      sEtherStatsCollisions               Counter32,
      sEtherStatsPkts64Octets             Counter32,
      sEtherStatsPkts65to127Octets        Counter32,
      sEtherStatsPkts128to255Octets       Counter32,
      sEtherStatsPkts256to511Octets       Counter32,
      sEtherStatsPkts512to1023Octets      Counter32,
      sEtherStatsPkts1024to1518Octets     Counter32,
      sEtherStatsRXMACControlFrames       Counter32,
      sEtherStatsRXPauseMACCtrlFrames     Counter32,
      sEtherStatsTXPauseMACCtrlFrames     Counter32,
      sEtherStatsBcmIPMCBridgedPckts      Counter32,
      sEtherStatsBcmIPMCRoutedPckts       Counter32,
      sEtherStatsBcmIPMCInDroppedPckts    Counter32,
      sEtherStatsBcmIPMCOutDroppedPckts   Counter32,
      sEtherStatsIfInFrameRate                     Counter32,
      sEtherStatsIfInOctetRate                     Counter32,
      sEtherStatsIfOutFrameRate                     Counter32,
      sEtherStatsIfOutOctetRate                     Counter32
    }

    sEtherStatsIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The value of this object uniquely identifies this
           etherStats entry.  Defined as a single port via the MIB-II ifIndex."
      ::= { sEtherStatsEntry 1 }


    sEtherStatsDropEvents OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of events in which packets
          were dropped by the probe due to lack of resources.
          Note that this number is not necessarily the number of
          packets dropped; it is just the number of times this
          condition has been detected."
      ::= { sEtherStatsEntry 3 }

    sEtherStatsOctets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of octets of data (including
          those in bad packets) received on the
          network (excluding framing bits but including
          FCS octets).

          This object can be used as a reasonable estimate of
          ethernet utilization.  If greater precision is
          desired, the etherStatsPkts and etherStatsOctets
          objects should be sampled before and after a common
          interval.  The differences in the sampled values are
          Pkts and Octets, respectively, and the number of
          seconds in the interval is Interval.  These values
          are used to calculate the Utilization as follows:

                           Pkts * (9.6 + 6.4) + (Octets * .8)
           Utilization = -------------------------------------
                                   Interval * 10,000

          The result of this equation is the value Utilization
          which is the percent utilization of the ethernet
          segment on a scale of 0 to 100 percent."
      ::= { sEtherStatsEntry 4 }

    sEtherStatsPkts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad packets,
          broadcast packets, and multicast packets) received."
      ::= { sEtherStatsEntry 5 }

    sEtherStatsBroadcastPkts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of good packets received that were
          directed to the broadcast address.  Note that this
          does not include multicast packets."
      ::= { sEtherStatsEntry 6 }

    sEtherStatsMulticastPkts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of good packets received that were
          directed to a multicast address.  Note that this
          number does not include packets directed to the
          broadcast address."
      ::= { sEtherStatsEntry 7 }

    sEtherStatsCRCAlignErrors OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets received that
          had a length (excluding framing bits, but
          including FCS octets) of between 64 and 1518
          octets, inclusive, but but had either a bad
          Frame Check Sequence (FCS) with an integral
          number of octets (FCS Error) or a bad FCS with
          a non-integral number of octets (Alignment Error)."
      ::= { sEtherStatsEntry 8 }

    sEtherStatsUndersizePkts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets received that were
          less than 64 octets long (excluding framing bits,
          but including FCS octets) and were otherwise well
          formed."
      ::= { sEtherStatsEntry 9 }

    sEtherStatsOversizePkts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets received that were
          longer than 1518 octets (excluding framing bits,
          but including FCS octets) and were otherwise
          well formed."
      ::= { sEtherStatsEntry 10 }

    sEtherStatsFragments OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets received that were less
          than 64 octets in length (excluding framing bits but
          including FCS octets) and had either a bad Frame
          Check Sequence (FCS) with an integral number of
          octets (FCS Error) or a bad FCS with a non-integral
          number of octets (Alignment Error).

          Note that it is entirely normal for
          etherStatsFragments to increment.  This is because
          it counts both runts (which are normal occurrences
          due to collisions) and noise hits."
      ::= { sEtherStatsEntry 11 }

    sEtherStatsJabbers OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets received that were
          longer than 1518 octets (excluding framing bits,
          but including FCS octets), and had either a bad
          Frame Check Sequence (FCS) with an integral number
          of octets (FCS Error) or a bad FCS with a
          non-integral number of octets (Alignment Error).

          Note that this definition of jabber is different
          than the definition in IEEE-802.3 section 8.2.1.5
          (10BASE5) and section 10.3.1.4 (10BASE2).  These
          documents define jabber as the condition where any
          packet exceeds 20 ms.  The allowed range to detect
          jabber is between 20 ms and 150 ms."
      ::= { sEtherStatsEntry 12 }

    sEtherStatsCollisions OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The best estimate of the total number of collisions
          on this Ethernet segment.

          The value returned will depend on the location of
          the RMON probe. Section 8.2.1.3 (10BASE-5) and
          section 10.3.1.3 (10BASE-2) of IEEE standard 802.3
          states that a station must detect a collision, in
          the receive mode, if three or more stations are
          transmitting simultaneously.  A repeater port must
          detect a collision when two or more stations are
          transmitting simultaneously.  Thus a probe placed on
          a repeater port could record more collisions than a
          probe connected to a station on the same segment
          would.

          Probe location plays a much smaller role when
          considering 10BASE-T.  14.2.1.4 (10BASE-T) of IEEE
          standard 802.3 defines a collision as the
          simultaneous presence of signals on the DO and RD
          circuits (transmitting and receiving at the same
          time).  A 10BASE-T station can only detect
          collisions when it is transmitting.  Thus probes
          placed on a station and a repeater, should report
          the same number of collisions.

          Note also that an RMON probe inside a repeater
          should ideally report collisions between the
          repeater and one or more other hosts (transmit
          collisions as defined by IEEE 802.3k) plus receiver
          collisions observed on any coax segments to which
          the repeater is connected."
      ::= { sEtherStatsEntry 13 }

    sEtherStatsPkts64Octets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad
          packets) received that were 64 octets in length
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 14 }

    sEtherStatsPkts65to127Octets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad
          packets) received that were between
          65 and 127 octets in length inclusive
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 15 }

    sEtherStatsPkts128to255Octets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad
          packets) received that were between
          128 and 255 octets in length inclusive
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 16 }

    sEtherStatsPkts256to511Octets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad
          packets) received that were between
          256 and 511 octets in length inclusive
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 17 }

    sEtherStatsPkts512to1023Octets OBJECT-TYPE
       SYNTAX Counter32
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The total number of packets (including bad
          packets) received that were between
          512 and 1023 octets in length inclusive
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 18 }

    sEtherStatsPkts1024to1518Octets OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of packets (including bad
          packets) received that were between
          1024 and 1518 octets in length inclusive
          (excluding framing bits but including FCS octets)."
      ::= { sEtherStatsEntry 19 }

    sEtherStatsRXMACControlFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of MAC control frames received."
          --յMAC֡.
      ::= { sEtherStatsEntry 20 }
      
    sEtherStatsRXPauseMACCtrlFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of pause frames received."
          --յPAUSE֡.
      ::= { sEtherStatsEntry 21 }
    
    sEtherStatsTXPauseMACCtrlFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of pause frames transmitted."
          --͵PAUSE֡.
      ::= { sEtherStatsEntry 22 }
      
    sEtherStatsBcmIPMCBridgedPckts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of IPMC packets bridged."
          --תIPMC.
      ::= { sEtherStatsEntry 23 }
      
    sEtherStatsBcmIPMCRoutedPckts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of IPMC packets routed."
          --·ɵIPMC.
      ::= { sEtherStatsEntry 24 }
      
    sEtherStatsBcmIPMCInDroppedPckts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of IPMC dropped packets for this port in the ingress."
          --ö˿ingress߼IPMC.
      ::= { sEtherStatsEntry 25 }
      
    sEtherStatsBcmIPMCOutDroppedPckts OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The total number of IPMC dropped packets for this port in the egress."
          --ö˿egress߼IPMC.
      ::= { sEtherStatsEntry 26 }

    sEtherStatsIfInFrameRate OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The ingress packet rate of this port."
          --ö˿ڽձĵ
      ::= { sEtherStatsEntry 27 }

    sEtherStatsIfInOctetRate OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The ingress octet rate of this port."
          --ö˿ڽձֽڵ
      ::= { sEtherStatsEntry 28 }  

    sEtherStatsIfOutFrameRate OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The egress packet rate of this port."
          --ö˿ڷͱĵ
      ::= { sEtherStatsEntry 29 }

    sEtherStatsIfOutOctetRate OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The egress octet rate of this port."
          --ö˿ڷͱֽڵ
      ::= { sEtherStatsEntry 30 }  

--
-- The Basic Interface MAU Table
--

    sIfMauTable OBJECT-TYPE
      SYNTAX     SEQUENCE OF SwapiIfMauEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
       "Table of descriptive and status information about
       MAU(s) attached to an interface."

     ::= { sDot3IfMauBasicGroup 1 }

    sIfMauEntry OBJECT-TYPE
      SYNTAX     SwapiIfMauEntry
      MAX-ACCESS not-accessible
      STATUS     current
      DESCRIPTION
       "An entry in the table, containing information
       about a single MAU."
      INDEX      { sIfMauIndex }
      ::= { sIfMauTable 1 }

    SwapiIfMauEntry ::=
      SEQUENCE {
           sIfMauIndex                     Integer32,
           sIfMauType                      OBJECT IDENTIFIER,
           sIfMauMediaAvailable            INTEGER,
           sIfMauJabberState               INTEGER,
           sIfMauDefaultType               OBJECT IDENTIFIER
        }

   sIfMauIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..65535)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "This variable uniquely identifies the MAU
               described by this entry from among other MAUs
               connected to the same interface (sIfMauIfIndex)."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.5.1.1.1, aMAUID."
       ::= { sIfMauEntry 2 }

   sIfMauType OBJECT-TYPE
       SYNTAX     OBJECT IDENTIFIER
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "This object identifies the 10 or 100 Mb/s
               baseband or broadband MAU type.  An initial set of
               MAU types are defined above.  The assignment of
               OBJECT IDENTIFIERs to new types of MAUs is managed
               by the IANA.  If the MAU type is unknown, the
               object identifier

               unknownMauType OBJECT IDENTIFIER ::= { 0 0 }

               is returned.  Note that unknownMauType is a
               syntactically valid object identifier, and any
               conformant implementation of ASN.1 and the BER
               must be able to generate and recognize this value.

               This object represents the operational type of the
               MAU, 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 this MAU, by the value of the object
               sIfMauDefaultType.  In case (2), a set to the
               object sIfMauDefaultType will force the MAU into
               the new operating mode."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.5.1.1.2, aMAUType."
       ::= { sIfMauEntry 3 }

   sIfMauMediaAvailable OBJECT-TYPE
       SYNTAX     INTEGER {
                      other(1),
                      unknown(2),
                      available(3),
                      notAvailable(4),
                      remoteFault(5),
                      invalidSignal(6),
                      remoteJabber(7),
                      remoteLinkLoss(8),
                      remoteTest(9),
                      offline(10),
                      autoNegError(11)

                  }
       MAX-ACCESS read-only
       STATUS     current
           DESCRIPTION "If the MAU is a link or fiber type (FOIRL,
                       10BASE-T, 10BASE-F) then this is equivalent to
                       the link test fail state/low light function.
                       For an AUI or a coax (including broadband) MAU
                       this indicates whether or not loopback is
                       detected on the DI circuit.  The value of this
                       attribute persists between packets for MAU types
                       AUI, 10BASE5, 10BASE2, 10BROAD36, and 10BASE-FP.

                       The value other(1) is returned if the
                       mediaAvailable state is not one of 2 through 11.
                       The value unknown(2) is returned when the MAU's
                       true state is unknown; for example, when it is
                       being initialized.  At power-up or following a
                       reset, the value of this attribute will be
                       unknown for AUI, coax, and 10BASE-FP MAUs.  For
                       these MAUs loopback will be tested on each
                       transmission during which no collision is
                       detected.  If DI is receiving input when DO
                       returns to IDL after a transmission and there
                       has been no collision during the transmission
                       then loopback will be detected.  The value of
                       this attribute will only change during
                       non-collided transmissions for AUI, coax, and
                       10BASE-FP MAUs.

                       For 100Mbps and 1000Mbps MAUs, the enumerations
                       match the states within the respective link
                       integrity state diagrams, fig 32-16, 23-12 and
                       24-15 of sections 32, 23 and 24 of [2].  Any MAU
                       which implements management of auto-negotiation
                       will map remote fault indication to remote
                       fault.

                       The value available(3) indicates that the link,
                       light, or loopback is normal.  The value
                       notAvailable(4) indicates link loss, low light,
                       or no loopback.

                       The value remoteFault(5) indicates that a fault
                       has been detected at the remote end of the link.
                       This value applies to 10BASE-FB, 100BASE-T4 Far
                       End Fault Indication and non-specified remote
                       faults from a system running auto-negotiation.
                       The values remoteJabber(7), remoteLinkLoss(8),
                       and remoteTest(9) SHOULD be used instead of
                       remoteFault(5) where the reason for remote fault
                       is identified in the remote signaling protocol.

                       The value invalidSignal(6) indicates that an
                       invalid signal has been received from the other
                       end of the link.  InvalidSignal(6) applies only
                       to MAUs of type 10BASE-FB.

                       Where an IEEE Std 802.3u-1995 clause 22 MII
                       is present, a logic one in the remote fault bit
                       (reference section 22.2.4.2.8 of that document)
                       maps to the value remoteFault(5), and a logic
                       zero in the link status bit (reference section
                       22.2.4.2.10 of that document) maps to the value
                       notAvailable(4).  The value notAvailable(4)
                       takes precedence over the value remoteFault(5).

                       Any MAU that implements management of clause 37
                       Auto-Negotiation will map the received RF1 and
                       RF2 bit values for Offline to offline(10), Link
                       Failure to remoteFault(5) and Auto-Negotiation
                       Error to autoNegError(11)."

       REFERENCE
               "[IEEE 802.3 Mgt], 30.5.1.1.4, aMediaAvailable."
       ::= { sIfMauEntry 5 }

   sIfMauJabberState OBJECT-TYPE
       SYNTAX     INTEGER {
                      other(1),
                      unknown(2),
                      noJabber(3),
                      jabbering(4)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
               "The value other(1) is returned if the jabber
               state is not 2, 3, or 4.  The agent must always
               return other(1) for MAU type dot3MauTypeAUI.

               The value unknown(2) is returned when the MAU's
               true state is unknown; for example, when it is
               being initialized.

               If the MAU is not jabbering the agent returns
               noJabber(3).  This is the 'normal' state.

               If the MAU is in jabber state the agent returns
               the jabbering(4) value."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.5.1.1.6,
               aJabber.jabberFlag."
       ::= { sIfMauEntry 7 }

   sIfMauDefaultType OBJECT-TYPE
       SYNTAX     OBJECT IDENTIFIER
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "This object identifies the default administrative
               10 or 100 Mb/s baseband MAU type, to be used in
               conjunction with the operational MAU type denoted
               by sIfMauType.

               The set of possible values for this object is the
               same as the set defined for the sIfMauType object.

               This object represents the administratively-
               configured type of the MAU.  If auto-negotiation
               is not enabled or is not implemented for this MAU,
               the value of this object determines the
               operational type of the MAU.  In this case, a set
               to this object will force the MAU into the
               specified operating mode.

               If auto-negotiation is implemented and enabled for
               this MAU, the operational type of the MAU is
               determined by auto-negotiation, and the value of
               this object denotes the type to which the MAU will
               automatically revert if/when auto-negotiation is
               later disabled.

               NOTE TO IMPLEMENTORS:  It may be necessary to
               provide for underlying hardware implementations
               which do not follow the exact behavior specified
               above.  In particular, when
               sIfMauAutoNegAdminStatus transitions from enabled
               to disabled, the agent implementation must ensure
               that the operational type of the MAU (as reported
               by sIfMauType) correctly transitions to the value
               specified by this object, rather than continuing
               to operate at the value earlier determined by the
               auto-negotiation function."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.5.1.1.1, aMAUID, and [IEEE
               802.3 Std], 22.2.4.1.4."
       ::= { sIfMauEntry 11 }

-- The sIfMauAutoNegTable applies to systems in which
-- auto-negotiation is supported on one or more MAUs
-- attached to interfaces.  Note that if auto-negotiation
-- is present and enabled, the sIfMauType object reflects
-- the result of the auto-negotiation function.

   sIfMauAutoNegTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF SwapiIfMauAutoNegEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "Configuration and status objects for the auto-
               negotiation function of MAUs attached to
               interfaces."
       ::= { sDot3IfMauAutoNegGroup 1 }

   sIfMauAutoNegEntry OBJECT-TYPE
       SYNTAX     SwapiIfMauAutoNegEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
               "An entry in the table, containing configuration
               and status information for the auto-negotiation
               function of a particular MAU."
              INDEX      { sIfMauIndex }
       ::= { sIfMauAutoNegTable 1 }

   SwapiIfMauAutoNegEntry ::=
       SEQUENCE {
           sIfMauAutoNegAdminStatus         INTEGER,
           sIfMauAutoNegRestart             INTEGER,
           sIfMauAutoControl                INTEGER,
           sIfMauAutoNegCapAdvertisedBits   BITS,
           sIfMauAutoNegCapReceivedBits     BITS
       }


   sIfMauAutoNegAdminStatus OBJECT-TYPE
       SYNTAX     INTEGER {
                      enabled(1),
                      disabled(2)
                  }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "Setting this object to enabled(1) will cause the
               interface which has the auto-negotiation signaling
               ability to be enabled.

               If the value of this object is disabled(2) then
               the interface will act as it would if it had no
               auto-negotiation signaling.  Under these
               conditions, an IEEE 802.3 MAU will immediately be
               forced to the state indicated by the value of the
               object sIfMauDefaultType.

               NOTE TO IMPLEMENTORS:  When
               sIfMauAutoNegAdminStatus transitions from enabled
               to disabled, the agent implementation must ensure
               that the operational type of the MAU (as reported
               by sIfMauType) correctly transitions to the value
               specified by the sIfMauDefaultType object, rather
               than continuing to operate at the value earlier
               determined by the auto-negotiation function."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.6.1.1.2, aAutoNegAdminState
               and 30.6.1.2.2, acAutoNegAdminControl."
       ::= { sIfMauAutoNegEntry 1 }

   sIfMauAutoNegRestart OBJECT-TYPE
       SYNTAX     INTEGER {
                      restart(1),
                      norestart(2)
                  }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
               "If the value of this object is set to restart(1)
               then this will force auto-negotiation to begin
               link renegotiation. If auto-negotiation signaling
               is disabled, a write to this object has no effect.

               Setting the value of this object to norestart(2)
               has no effect."
       REFERENCE
               "[IEEE 802.3 Mgt], 30.6.1.2.1,
               acAutoNegRestartAutoConfig."
       ::= { sIfMauAutoNegEntry 8 }

       sIfMauAutoNegCapAdvertisedBits OBJECT-TYPE
           SYNTAX      BITS {
               bOther(0),        -- other or unknown
               b10baseT(1),      -- 10BASE-T  half duplex mode
               b10baseTFD(2),    -- 10BASE-T  full duplex mode
               b100baseT4(3),    -- 100BASE-T4
               b100baseTX(4),    -- 100BASE-TX half duplex mode
               b100baseTXFD(5),  -- 100BASE-TX full duplex mode
               b100baseT2(6),    -- 100BASE-T2 half duplex mode
               b100baseT2FD(7),  -- 100BASE-T2 full duplex mode
               bFdxPause(8),     -- PAUSE for full-duplex links
               bFdxAPause(9),    -- Asymmetric PAUSE for full-duplex
                                 --     links
               bFdxSPause(10),   -- Symmetric PAUSE for full-duplex
                                 --     links
               bFdxBPause(11),   -- Asymmetric and Symmetric PAUSE for
                                 --     full-duplex links
               b1000baseX(12),   -- 1000BASE-X, -LX, -SX, -CX half
                                 --     duplex mode
               b1000baseXFD(13), -- 1000BASE-X, -LX, -SX, -CX full
                                 --     duplex mode
               b1000baseT(14),   -- 1000BASE-T half duplex mode
               b1000baseTFD(15)  -- 1000BASE-T full duplex mode
           }
           MAX-ACCESS  read-write
           STATUS      current
           DESCRIPTION "A value that uniquely identifies the set of
                       capabilities advertised by the local
                       auto-negotiation entity.

                       Capabilities in this object that are not
                       available in ifMauAutoNegCapability cannot be
                       enabled."
           REFERENCE   "[IEEE 802.3 Std], 30.6.1.1.6,
                       aAutoNegAdvertisedTechnologyAbility."
           ::= { sIfMauAutoNegEntry 10 }

       sIfMauAutoNegCapReceivedBits OBJECT-TYPE
           SYNTAX      BITS {
                bOther(0),        -- other or unknown
                b10baseT(1),      -- 10BASE-T  half duplex mode
                b10baseTFD(2),    -- 10BASE-T  full duplex mode
                b100baseT4(3),    -- 100BASE-T4
                b100baseTX(4),    -- 100BASE-TX half duplex mode
                b100baseTXFD(5),  -- 100BASE-TX full duplex mode
                b100baseT2(6),    -- 100BASE-T2 half duplex mode
                b100baseT2FD(7),  -- 100BASE-T2 full duplex mode
                bFdxPause(8),     -- PAUSE for full-duplex links
                bFdxAPause(9),    -- Asymmetric PAUSE for full-duplex
                                  --     links
                bFdxSPause(10),   -- Symmetric PAUSE for full-duplex
                                  --     links
                bFdxBPause(11),   -- Asymmetric and Symmetric PAUSE for
                                  --     full-duplex links
                b1000baseX(12),   -- 1000BASE-X, -LX, -SX, -CX half
                                  --     duplex mode
                b1000baseXFD(13), -- 1000BASE-X, -LX, -SX, -CX full
                                  --     duplex mode
                b1000baseT(14),   -- 1000BASE-T half duplex mode
                b1000baseTFD(15)  -- 1000BASE-T full duplex mode
           }
           MAX-ACCESS  read-only
           STATUS      current
           DESCRIPTION "A value that uniquely identifies the set of
                       capabilities received from the remote
                       auto-negotiation entity.

                       Note that interfaces that support this MIB may
                       be attached to remote auto-negotiation entities
                       which have capabilities beyond the scope of this
                       MIB."
           REFERENCE   "[IEEE 802.3 Std], 30.6.1.1.7,
                       aAutoNegReceivedTechnologyAbility."
           ::= { sIfMauAutoNegEntry 11 }


-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- The following are from the 802.1p MIB
-- -------------------------------------------------------------


-- -------------------------------------------------------------
-- the sDot1dExtBase group
-- -------------------------------------------------------------

    sDot1dDeviceCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            sDot1dExtendedFilteringServices(0),
                                  -- can perform filtering of
                                  -- individual multicast addresses
                                  -- controlled by GMRP.
            sDot1dTrafficClasses(1),
                                  -- can map user priority to
                                  -- multiple traffic classes.
            dot1qStaticEntryIndividualPort(2),
                                  -- dot1qStaticUnicastReceivePort &
                                  -- dot1qStaticMulticastReceivePort
                                  -- can represent non-zero entries.
            dot1qIVLCapable(3),   -- Independent VLAN Learning.
            dot1qSVLCapable(4),   -- Shared VLAN Learning.
            dot1qHybridCapable(5),
                                  -- both IVL & SVL simultaneously.
            dot1qConfigurablePvidTagging(6),
                                  -- whether the implementation
                                  -- supports the ability to
                                  -- override the default PVID
                                  -- setting and its egress status
                                  -- (VLAN-Tagged or Untagged) on
                                  -- each port.
            sDot1dLocalVlanCapable(7)
                                  -- can support multiple local
                                  -- bridges, outside of the scope
                                  -- of 802.1Q defined VLANs.
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the optional parts of IEEE 802.1D and 802.1Q
            that are implemented by this device and are manageable
            through this MIB.  Capabilities that are allowed on a
            per-port basis are indicated in sDot1dPortCapabilities."
        REFERENCE
            "ISO/IEC 15802-3 Section 5.2,
            IEEE 802.1Q/D11 Section 5.2, 12.10.1.1.3/b/2"
        ::= { sDot1dExtBase 1 }

    sDot1dTrafficClassesEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { true }
            The value true(1) indicates that Traffic Classes are
            enabled on this bridge.  When false(2), the bridge
            operates with a single priority level for all traffic."
        DEFVAL      { true }
        ::= { sDot1dExtBase 2 }

    sDot1dGmrpStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { enable }
            The administrative status requested by management for
            GMRP.  The value enabled(1) indicates that GMRP should
            be enabled on this device, in all VLANs, on all ports
            for which it has not been specifically disabled.  When
            disabled(2), GMRP is disabled, in all VLANs, on all
            ports and all GMRP packets will be forwarded
            transparently.  This object affects both Applicant and
            Registrar state machines.  A transition from disabled(2)
            to enabled(1) will cause a reset of all GMRP state
            machines on all ports."
        DEFVAL      { enabled }
        ::= { sDot1dExtBase 3 }

-- -------------------------------------------------------------
-- Port Capabilities Table
-- -------------------------------------------------------------

    sDot1dPortCapabilitiesTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dPortCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains capabilities information about
            every port that is associated with this bridge."
        ::= { sDot1dExtBase 4 }

    sDot1dPortCapabilitiesEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dPortCapabilitiesEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A set of capabilities information about this port
            indexed by sDot1dBasePort."
        AUGMENTS { sDot1dBasePortEntry }
        ::= { sDot1dPortCapabilitiesTable 1 }

    SwapiDot1dPortCapabilitiesEntry ::=
        SEQUENCE {
            sDot1dPortCapabilities
                BITS
        }

    sDot1dPortCapabilities OBJECT-TYPE
        SYNTAX      BITS {
            dot1qDot1qTagging(0), -- supports 802.1Q VLAN tagging of
                                  -- frames and GVRP.
            dot1qConfigurableAcceptableFrameTypes(1),
                                  -- allows modified values of
                                  -- dot1qPortAcceptableFrameTypes.
            dot1qIngressFiltering(2)
                                  -- supports the discarding of any
                                  -- frame received on a Port whose
                                  -- VLAN classification does not
                                  -- include that Port in its Member
                                  -- set.
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicates the parts of IEEE 802.1D and 802.1Q that are
            optional on a per-port basis that are implemented by
            this device and are manageable through this MIB."
        REFERENCE
            "ISO/IEC 15802-3 Section 5.2,
            IEEE 802.1Q/D11 Section 5.2"
        ::= { sDot1dPortCapabilitiesEntry 1 }

-- -------------------------------------------------------------
-- the sDot1dPriority group
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- Port Priority Table
-- -------------------------------------------------------------

    sDot1dPortPriorityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dPortPriorityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains information about every port that
            is associated with this transparent bridge."
        ::= { sDot1dPriority 1 }

    sDot1dPortPriorityEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dPortPriorityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of Default User Priorities for each port of a
            transparent bridge.  This is indexed by sDot1dBasePort."
        AUGMENTS { sDot1dBasePortEntry }
        ::= { sDot1dPortPriorityTable 1 }

    SwapiDot1dPortPriorityEntry ::=
        SEQUENCE {
            sDot1dPortDefaultUserPriority
                INTEGER,
            sDot1dPortNumTrafficClasses
                INTEGER
        }

    sDot1dPortDefaultUserPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { 0:all }
            The default ingress User Priority for this port.  This
            only has effect on media, such as Ethernet, that do not
            support native User Priority."
        ::= { sDot1dPortPriorityEntry 1 }

    sDot1dPortNumTrafficClasses OBJECT-TYPE
        SYNTAX      INTEGER (1..8)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The number of egress traffic classes supported on this
            port.  This object may optionally be read-only."
        ::= { sDot1dPortPriorityEntry 2 }

-- -------------------------------------------------------------
-- User Priority Regeneration Table
-- -------------------------------------------------------------

    sDot1dUserPriorityRegenTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dUserPriorityRegenEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of Regenerated User Priorities for each received
            User Priority on each port of a bridge.  The Regenerated
            User Priority value may be used to index the Traffic
            Class Table for each input port.  This only has effect
            on media that support native User Priority.  The default
            values for Regenerated User Priorities are the same as
            the User Priorities."
        REFERENCE
            "ISO/IEC 15802-3 Section 6.4"
        ::= { sDot1dPriority 2 }

    sDot1dUserPriorityRegenEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dUserPriorityRegenEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A mapping of incoming User Priority to a Regenerated
            User Priority."
        INDEX   { sDot1dBasePort, sDot1dUserPriority }
        ::= { sDot1dUserPriorityRegenTable 1 }

    SwapiDot1dUserPriorityRegenEntry ::=
        SEQUENCE {
            sDot1dUserPriority
                INTEGER,
            sDot1dRegenUserPriority
                INTEGER
        }

    sDot1dUserPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The User Priority for a frame received on this port."
        ::= { sDot1dUserPriorityRegenEntry 1 }

    sDot1dRegenUserPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The Regenerated User Priority the incoming User
            Priority is mapped to for this port."
        ::= { sDot1dUserPriorityRegenEntry 2 }

-- -------------------------------------------------------------
-- Traffic Class Table
-- -------------------------------------------------------------

    sDot1dTrafficClassTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dTrafficClassEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table mapping evaluated User Priority to Traffic
            Class, for forwarding by the bridge.  Traffic class is a
            number in the range (0..(sDot1dPortNumTrafficClasses-1))."
        REFERENCE
            "ISO/IEC 15802-3 Table 7-2"
        ::= { sDot1dPriority 3 }

    sDot1dTrafficClassEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dTrafficClassEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "User Priority to Traffic Class mapping."
        INDEX   { sDot1dBasePort, sDot1dTrafficClassPriority }
        ::= { sDot1dTrafficClassTable 1 }

    SwapiDot1dTrafficClassEntry ::=
        SEQUENCE {
            sDot1dTrafficClassPriority
                INTEGER,
            sDot1dTrafficClass
                INTEGER
        }

    sDot1dTrafficClassPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Priority value determined for the received frame.
            This value is equivalent to the priority indicated in
            the tagged frame received, or one of the evaluated
            priorities, determined according to the media-type.

            For untagged frames received from Ethernet media, this
            value is equal to the sDot1dPortDefaultUserPriority value
            for the ingress port.

            For untagged frames received from non-Ethernet media,
            this value is equal to the sDot1dRegenUserPriority value
            for the ingress port and media-specific user priority."
        ::= { sDot1dTrafficClassEntry 1 }

    sDot1dTrafficClass OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { 0:all }
            The Traffic Class the received frame is mapped to."
        ::= { sDot1dTrafficClassEntry 2 }

-- -------------------------------------------------------------
-- Outbound Access Priority Table
-- -------------------------------------------------------------

    sDot1dPortOutboundAccessPriorityTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dPortOutboundAccessPriorityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table mapping Regenerated User Priority to Outbound
            Access Priority.  This is a fixed mapping for all port
            types, with two options for 802.5 Token Ring."
        REFERENCE
            "ISO/IEC 15802-3 Table 7-3"
        ::= { sDot1dPriority 4 }

    sDot1dPortOutboundAccessPriorityEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dPortOutboundAccessPriorityEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Regenerated User Priority to Outbound Access Priority
            mapping."
        INDEX   { sDot1dBasePort, sDot1dRegenUserPriority }
        ::= { sDot1dPortOutboundAccessPriorityTable 1 }

    SwapiDot1dPortOutboundAccessPriorityEntry ::=
        SEQUENCE {
            sDot1dPortOutboundAccessPriority
                INTEGER
        }

    sDot1dPortOutboundAccessPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Outbound Access Priority the received frame is
            mapped to."
        ::= { sDot1dPortOutboundAccessPriorityEntry 1 }

------------------------------------------------------------------------------
--йоƬweightMIB
------------------------------------------------------------------------------
    oemQueueWeightTable OBJECT-TYPE
        SYNTAX SEQUENCE OF oemQueueWeightEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of weight of queue ."
        ::= { sDot1dPriority 5 }

    oemQueueWeightEntry OBJECT-TYPE
        SYNTAX oemQueueWeightEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry of weight of queue."
        INDEX { oemQueue }
        ::= { oemQueueWeightTable 1 }

    oemQueueWeightEntry ::= SEQUENCE {
        oemQueue                Integer32,
        oemQueueWeight       Integer32
      }

    oemQueue OBJECT-TYPE
        SYNTAX Integer32 (1..4)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Queue of class"
        ::= { oemQueueWeightEntry 1 }

    oemQueueWeight OBJECT-TYPE
        SYNTAX Integer32 (1..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Weight of queue"
        ::= { oemQueueWeightEntry 2 }

   oemDscpToCosMapTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF OemDscpToCosMapEntry
       ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "A table mapping evaluated DSCP to CoS."
       ::= { sDot1dPriority 6 }
 
   oemDscpToCosMapEntry OBJECT-TYPE
       SYNTAX  OemDscpToCosMapEntry
       ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "DSCP to CoS mapping. "
       INDEX   { oemDscpToCosMapDscp }
       ::= { oemDscpToCosMapTable 1 }
 
   OemDscpToCosMapEntry ::=
       SEQUENCE {
           oemDscpToCosMapDscp
               INTEGER,
           oemDscpToCosMapCos
               INTEGER              
       }
 
   oemDscpToCosMapDscp OBJECT-TYPE
       SYNTAX  INTEGER(0..63)
       ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "the DSCP value used to map to CoS. " 
       ::= { oemDscpToCosMapEntry 1 }

   oemDscpToCosMapCos OBJECT-TYPE
       SYNTAX  INTEGER(0..7)
       ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "the map result CoS. "
       ::= { oemDscpToCosMapEntry 2 } 

-- The OEM DSCP to Cos map status

   oemDscpToCosMapStatus OBJECT-TYPE
       SYNTAX  TruthValue
       ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "the DSCP to CoS map status. "
       ::= { sDot1dPriority 7 } 
       
-- -------------------------------------------------------------
-- The GMRP Port Configuration and Status Table
-- -------------------------------------------------------------

    sDot1dPortGmrpTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1dPortGmrpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table of GMRP control and status information about
            every bridge port.  Augments the sDot1dBasePortTable."
        ::= { sDot1dGmrp 1 }

    sDot1dPortGmrpEntry OBJECT-TYPE
        SYNTAX      SwapiDot1dPortGmrpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "GMRP control and status information for a bridge port."
        AUGMENTS { sDot1dBasePortEntry }
        ::= { sDot1dPortGmrpTable 1 }

    SwapiDot1dPortGmrpEntry ::=
        SEQUENCE {
            sDot1dPortGmrpStatus
                EnabledStatus
        }

    sDot1dPortGmrpStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The administrative state of GMRP operation on this port. The
            value enabled(1) indicates that GMRP is enabled on this port
            in all VLANs as long as sDot1dGmrpStatus is also enabled(1).
            A value of disabled(2) indicates that GMRP is disabled on this
            port in all VLANs: any GMRP packets received will
            be silently discarded and no GMRP registrations will be
            propagated from other ports. Setting this to a value of
            enabled(1) will be stored by the agent but will only take effect
            on the GMRP protocol operation if sDot1dGmrpStatus also
            indicates the value enabled(1).  This object affects all
            GMRP Applicant and Registrar state machines on this
            port.  A transition from disabled(2) to enabled(1) will
            cause a reset of all GMRP state machines on this port."
        DEFVAL      { enabled }
        ::= { sDot1dPortGmrpEntry 1 }

    sDot1qMaxSupportedVlans OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum number of IEEE 802.1Q VLANs that this
            device supports."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.1.1"
        ::= { sDot1qBase 3 }

    sDot1qGvrpStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The administrative status requested by management for
            GVRP.  The value enabled(1) indicates that GVRP should
            be enabled on this device, on all ports for which it has
            not been specifically disabled.  When disabled(2), GVRP
            is disabled on all ports and all GVRP packets will be
            forwarded transparently.  This object affects all GVRP
            Applicant and Registrar state machines.  A transition
            from disabled(2) to enabled(1) will cause a reset of all
            GVRP state machines on all ports."
        DEFVAL      { enabled }
        ::= { sDot1qBase 5 }

    sDot1xStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "802.1x status"
        DEFVAL      { enabled }
        ::= { sDot1xBase 1 }
        
-- -------------------------------------------------------------
-- the dot1qTp group
-- -------------------------------------------------------------

-- -------------------------------------------------------------
-- the current Filtering Database Table
-- -------------------------------------------------------------

    sDot1qFdbTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qFdbEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table that contains configuration and control
            information for each Filtering Database currently
            operating on this device.  Entries in this table appear
            automatically when VLANs are assigned FDB IDs in the
            dot1qVlanCurrentTable."
        ::= { sDot1qTp 1 }

    sDot1qFdbEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qFdbEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Information about a specific Filtering Database."
        INDEX   { sDot1qFdbId }
        ::= { sDot1qFdbTable 1 }

    SwapiDot1qFdbEntry ::=
        SEQUENCE {
            sDot1qFdbId
                Unsigned32,
            sDot1qFdbDynamicCount
                Counter32
        }

    sDot1qFdbId OBJECT-TYPE
        SYNTAX       Unsigned32
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "The identity of this Filtering Database."
        ::= { sDot1qFdbEntry 1 }

    sDot1qFdbDynamicCount OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The current number of dynamic entries in this
            Filtering Database."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.7.1.1.3"
        ::= { sDot1qFdbEntry 2 }

-- -------------------------------------------------------------
-- Multiple Forwarding Databases for 802.1Q Transparent devices
-- This table is an alternative to the dot1dTpFdbTable,
-- previously defined for 802.1D devices which only support a
-- single Forwarding Database.
-- -------------------------------------------------------------

	sDot1qTpFdbTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Sdot1qTpFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that contains information about unicast entries
        for which the device has forwarding and/or filtering
        information.  This information is used by the
        transparent bridging function in determining how to
        propagate a received frame."
    REFERENCE
        "IEEE 802.1Q/D11 Section 12.7.7"
    ::= { sDot1qTp 2 }

	sDot1qTpFdbEntry OBJECT-TYPE
    SYNTAX      Sdot1qTpFdbEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a specific unicast MAC address for
        which the device has some forwarding and/or filtering
        information."
    INDEX   { sDot1qFdbId, sDot1qTpFdbAddress }
    ::= { sDot1qTpFdbTable 1 }

	Sdot1qTpFdbEntry ::=
    SEQUENCE {
        sDot1qTpFdbAddress
            MacAddress,
        sDot1qTpFdbPort
            INTEGER,
        sDot1qTpFdbStatus
            INTEGER
    }


	sDot1qTpFdbAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current

    DESCRIPTION
        "A unicast MAC address for which the device has
        forwarding and/or filtering information."
    ::= { sDot1qTpFdbEntry 1 }

	sDot1qTpFdbPort OBJECT-TYPE
    SYNTAX      INTEGER (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Either the value '0', or the port number of the port on
        which a frame having a source address equal to the value
        of the corresponding instance of dot1qTpFdbAddress has
        been seen.  A value of '0' indicates that the port
        number has not been learned but that the device does
        have some forwarding/filtering information about this
        address (e.g. in the dot1qStaticUnicastTable).
        Implementors are encouraged to assign the port value to
        this object whenever it is learned even for addresses
        for which the corresponding value of dot1qTpFdbStatus is
        not learned(3)."
    ::= { sDot1qTpFdbEntry 2 }

	sDot1qTpFdbStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    other(1),
                    invalid(2),
                    learned(3),
                    self(4),
                    mgmt(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of this entry.  The meanings of the values
        are:
            other(1) - none of the following.  This may include
                the case where some other MIB object (not the
                corresponding instance of dot1qTpFdbPort, nor an
                entry in the dot1qStaticUnicastTable) is being
                used to determine if and how frames addressed to
                the value of the corresponding instance of
                dot1qTpFdbAddress are being forwarded.
            invalid(2) - this entry is no longer valid (e.g., it
                was learned but has since aged out), but has not
                yet been flushed from the table.
            learned(3) - the value of the corresponding instance
                of dot1qTpFdbPort was learned and is being used.

            self(4) - the value of the corresponding instance of
                dot1qTpFdbAddress represents one of the device's
                addresses.  The corresponding instance of
                dot1qTpFdbPort indicates which of the device's
                ports has this address.
            mgmt(5) - the value of the corresponding instance of
                dot1qTpFdbAddress is also the value of an
                existing instance of dot1qStaticAddress."
    ::= { sDot1qTpFdbEntry 3 }

    sDot1qForwardUnregisteredTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qForwardUnregisteredEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing forwarding information for each
            VLAN, specifying the set of ports to which forwarding of
            multicast group-addressed frames for which there is no
            more specific forwarding information applies.  This is
            configured statically by management and determined
            dynamically by GMRP.  An entry appears in this table for
            all VLANs that are currently instantiated."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.7.2, 12.7.7"
        ::= { sDot1qTp 5 }

    sDot1qForwardUnregisteredEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qForwardUnregisteredEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Forwarding information for a VLAN, specifying the set
            of ports to which all multicasts for which there is no
            more specific forwarding information shall be forwarded.
            This is configured statically by management or
            dynamically by GMRP."
        INDEX   { sDot1qVlanIndex }
        ::= { sDot1qForwardUnregisteredTable 1 }

    SwapiDot1qForwardUnregisteredEntry ::=
        SEQUENCE {
            sDot1qForwardUnregisteredPorts
                PortList
        }

    sDot1qForwardUnregisteredPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The complete set of ports in this VLAN to which
            multicast group-addressed frames for which there is no
            more specific forwarding information will be forwarded.
            This includes ports for which this need has been
            determined dynamically by GMRP, or configured statically
            by management."
        ::= { sDot1qForwardUnregisteredEntry 1 }

--
-- sDot1qStatic Group
--
-- -------------------------------------------------------------
-- The Static (Destination-Address Filtering) Database
-- -------------------------------------------------------------

    sDot1qStaticUnicastTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qStaticUnicastEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing filtering information for Unicast
            MAC addresses for each Filtering Database, configured
            into the device by (local or network) management
            specifying the set of ports to which frames received
            from specific ports and containing specific unicast
            destination addresses are allowed to be forwarded.  A
            value of zero in this table as the port number from
            which frames with a specific destination address are
            received, is used to specify all ports for which there
            is no specific entry in this table for that particular
            destination address.  Entries are valid for unicast
            addresses only."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.7.7,
            ISO/IEC 15802-3 Section 7.9.1"
        ::= { sDot1qStatic 1 }

    sDot1qStaticUnicastEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qStaticUnicastEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Filtering information configured into the device by
            (local or network) management specifying the set of
            ports to which frames received from a specific port and
            containing a specific unicast destination address are
            allowed to be forwarded."
        INDEX   {
            sDot1qFdbId,
            sDot1qStaticUnicastAddress,
            sDot1qStaticUnicastReceivePort
        }
        ::= { sDot1qStaticUnicastTable 1 }

    SwapiDot1qStaticUnicastEntry ::=
        SEQUENCE {
            sDot1qStaticUnicastAddress
                MacAddress,
            sDot1qStaticUnicastReceivePort
                INTEGER,
            sDot1qStaticUnicastAllowedToGoTo
                PortList
        }

    sDot1qStaticUnicastAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The destination MAC address in a frame to which this
            entry's filtering information applies.  This object must
            take the value of a unicast address."
        ::= { sDot1qStaticUnicastEntry 1 }

    sDot1qStaticUnicastReceivePort OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Either the value '0', or the port number of the port
            from which a frame must be received in order for this
            entry's filtering information to apply.  A value of zero
            indicates that this entry applies on all ports of the
            device for which there is no other applicable entry."
        ::= { sDot1qStaticUnicastEntry 2 }

    sDot1qStaticUnicastAllowedToGoTo OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The set of ports for which a frame with a specific
            unicast address will be flooded in the event that it
            has not been learned.  It also specifies the set of
            ports a specific unicast address may be dynamically
            learnt on.  The dot1qTpFdbTable will have an equivalent
            entry with a dot1qTpFdbPort value of '0' until this
            address has been learnt, when it will be updated with
            the port the address has been seen on.  This only
            applies to ports that are members of the VLAN, defined
            by dot1qVlanCurrentEgressPorts.  The default value of
            this object is a string of ones of appropriate length."
        REFERENCE
            "IEEE 802.1Q/D11 Table 8-5, ISO/IEC 15802-3 Table 7-5"
        ::= { sDot1qStaticUnicastEntry 3 }

    sDot1qStaticMulticastTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qStaticMulticastEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing filtering information for Multicast
            and Broadcast MAC addresses for each VLAN, configured
            into the device by (local or network) management
            specifying the set of ports to which frames received
            from specific ports and containing specific Multicast
            and Broadcast destination addresses are allowed to be
            forwarded.  A value of zero in this table as the port
            number from which frames with a specific destination
            address are received, is used to specify all ports for
            which there is no specific entry in this table for that
            particular destination address.  Entries are valid for
            Multicast and Broadcast addresses only."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.7.7,
            ISO/IEC 15802-3 Section 7.9.1"
        ::= { sDot1qStatic 2 }

    sDot1qStaticMulticastEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qStaticMulticastEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Filtering information configured into the device by
            (local or network) management specifying the set of
            ports to which frames received from this specific port
            for this VLAN and containing this Multicast or Broadcast
            destination address are allowed to be forwarded."
        INDEX   {
            sDot1qVlanIndex,
            sDot1qStaticMulticastAddress,
            sDot1qStaticMulticastReceivePort
        }
        ::= { sDot1qStaticMulticastTable 1 }

    SwapiDot1qStaticMulticastEntry ::=
        SEQUENCE {
            sDot1qStaticMulticastAddress
                MacAddress,
            sDot1qStaticMulticastReceivePort
                INTEGER,
            sDot1qStaticMulticastStaticEgressPorts
                PortList,
            sDot1qStaticMulticastStatus
                INTEGER
        }

    sDot1qStaticMulticastAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The destination MAC address in a frame to which this
            entry's filtering information applies.  This object must
            take the value of a Multicast or Broadcast address."
        ::= { sDot1qStaticMulticastEntry 1 }

    sDot1qStaticMulticastReceivePort OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Either the value '0', or the port number of the port
            from which a frame must be received in order for this
            entry's filtering information to apply.  A value of zero
            indicates that this entry applies on all ports of the
            device for which there is no other applicable entry."
        ::= { sDot1qStaticMulticastEntry 2 }

    sDot1qStaticMulticastStaticEgressPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The set of ports to which frames received from a
            specific port and destined for a specific Multicast or
            Broadcast MAC address must be forwarded, regardless of
            any dynamic information e.g. from GMRP.  A port may not
            be added in this set if it is already a member of the
            set of ports in dot1qStaticMulticastForbiddenEgressPorts.
            The default value of this object is a string of ones of
            appropriate length."
        ::= { sDot1qStaticMulticastEntry 3 }

    sDot1qStaticMulticastStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        other(1),
                        invalid(2),
                        permanent(3),
                        deleteOnReset(4),
                        deleteOnTimeout(5)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry.
                other(1) - this entry is currently in use but
                    the conditions under which it will remain
                    so differ from the following values.
                invalid(2) - writing this value to the object
                    removes the corresponding entry.
                permanent(3) - this entry is currently in use
                    and will remain so after the next reset of
                    the bridge.
                deleteOnReset(4) - this entry is currently in
                    use and will remain so until the next
                    reset of the bridge.
                deleteOnTimeout(5) - this entry is currently in
                    use and will remain so until it is aged out."
        DEFVAL      { permanent }
        ::= { sDot1qStaticMulticastEntry 5 }

-- -------------------------------------------------------------
-- The Current VLAN Database
-- -------------------------------------------------------------

    sDot1qVlanCurrentTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qVlanCurrentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing current configuration information
            for each VLAN currently configured into the device by
            (local or network) management, or dynamically created
            as a result of GVRP requests received."
        ::= { sDot1qVlan 2 }

    sDot1qVlanCurrentEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qVlanCurrentEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Information for a VLAN configured into the device by
            (local or network) management, or dynamically created
            as a result of GVRP requests received."
        INDEX   { sDot1qVlanTimeMark, sDot1qVlanIndex }
        ::= { sDot1qVlanCurrentTable 1 }

    SwapiDot1qVlanCurrentEntry ::=
        SEQUENCE {
            sDot1qVlanTimeMark
                TimeFilter,
            sDot1qVlanIndex
                VlanIndex,
            sDot1qVlanFdbId
                Unsigned32,
            sDot1qVlanCurrentEgressPorts
                PortList,
            sDot1qVlanCurrentUntaggedPorts
                PortList
        }

    sDot1qVlanTimeMark OBJECT-TYPE
        SYNTAX      TimeFilter
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A TimeFilter for this entry.  See the TimeFilter
            textual convention to see how this works."
        ::= { sDot1qVlanCurrentEntry 1 }

    sDot1qVlanIndex OBJECT-TYPE
        SYNTAX      VlanIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The VLAN-ID or other identifier refering to this VLAN."
        ::= { sDot1qVlanCurrentEntry 2 }

    sDot1qVlanFdbId OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The Filtering Database used by this VLAN.  This is one
            of the dot1qFdbId values in the sDot1qFdbTable.  This
            value is allocated automatically by the device whenever
            the VLAN is created: either dynamically by GVRP, or by
            management, in dot1qVlanStaticTable.  Allocation of this
            value follows the learning constraints defined for this
            VLAN in dot1qLearningConstraintsTable."
        ::= { sDot1qVlanCurrentEntry 3 }

    sDot1qVlanCurrentEgressPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The set of ports which are transmitting traffic for
            this VLAN as either tagged or untagged frames."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.2.1"
        ::= { sDot1qVlanCurrentEntry 4 }

    sDot1qVlanCurrentUntaggedPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The set of ports which are transmitting traffic for
            this VLAN as untagged frames."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.2.1"
        ::= { sDot1qVlanCurrentEntry 5 }

-- -------------------------------------------------------------
-- The Static VLAN Database
-- -------------------------------------------------------------

    sDot1qVlanStaticTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qVlanStaticEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing static configuration information for
            each VLAN configured into the device by (local or
            network) management.  All entries are permanent and will
            be restored after the device is reset."
        ::= { sDot1qVlan 3 }

    sDot1qVlanStaticEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qVlanStaticEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Static information for a VLAN configured into the
            device by (local or network) management."
        INDEX   { sDot1qVlanIndex }
        ::= { sDot1qVlanStaticTable 1 }

    SwapiDot1qVlanStaticEntry ::=
        SEQUENCE {
            sDot1qVlanStaticEgressPorts
                PortList,
            sDot1qVlanStaticUntaggedPorts
                PortList,
            sDot1qVlanStaticRowStatus
                RowStatus
        }

    sDot1qVlanStaticEgressPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The set of ports which are permanently assigned to the
            egress list for this VLAN by management.  Changes to a
            bit in this object affect the per-port per-VLAN
            Registrar control for Registration Fixed for the
            relevant GVRP state machine on each port.  A port may
            not be added in this set if it is already a member of
            the set of ports in sDot1qVlanForbiddenEgressPorts.  The
            default value of this object is a string of zeros of
            appropriate length, indicating not fixed."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.7.7.3, 11.2.3.2.3"
        ::= { sDot1qVlanStaticEntry 2 }

    sDot1qVlanStaticUntaggedPorts OBJECT-TYPE
        SYNTAX      PortList
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The set of ports which should transmit egress packets
            for this VLAN as untagged.  The default value of this
            object for the default VLAN (sDot1qVlanIndex = 1) is a string
            of appropriate length including all ports.  There is no
            specified default for other VLANs.  If a device agent cannot
            support the set of ports being set then it will reject the
            set operation with an error. An example might be if a
            manager attempts to set more than one VLAN to be untagged
            on egress where the device does not support this IEEE 802.1Q
            option."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.2.1"
        ::= { sDot1qVlanStaticEntry 4 }

    sDot1qVlanStaticRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object indicates the status of this entry."
        ::= { sDot1qVlanStaticEntry 5 }

-- -------------------------------------------------------------
-- The VLAN Port Configuration Table
-- -------------------------------------------------------------

    sDot1qPortVlanTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwapiDot1qPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing per port control and status
            information for VLAN configuration in the device."
        ::= { sDot1qVlan 5 }

    sDot1qPortVlanEntry OBJECT-TYPE
        SYNTAX      SwapiDot1qPortVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Information controlling VLAN configuration for a port
            on the device.  This is indexed by sDot1dBasePort."
        AUGMENTS { sDot1dBasePortEntry }
        ::= { sDot1qPortVlanTable 1 }

    SwapiDot1qPortVlanEntry ::=
        SEQUENCE {
            sDot1qPvid
                VlanIndex,
            sDot1qPortAcceptableFrameTypes
                INTEGER,
            sDot1qPortIngressFiltering
                TruthValue,
            sDot1qPortGvrpStatus
                EnabledStatus
        }

    sDot1qPvid OBJECT-TYPE
        SYNTAX      VlanIndex
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { 1:all }
            The PVID, the VLAN ID assigned to untagged frames or
            Prority-Tagged frames received on this port."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.1.1"
        DEFVAL      { 1 }
        ::= { sDot1qPortVlanEntry 1 }

    sDot1qPortAcceptableFrameTypes OBJECT-TYPE
        SYNTAX      INTEGER {
                        admitAll(1),
                        admitOnlyVlanTagged(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { 1:all }
            When this is admitOnlyVlanTagged(2) the device will
            discard untagged frames or Priority-Tagged frames
            received on this port.  When admitAll(1), untagged
            frames or Prority-Tagged frames received on this port
            will be accepted and assigned to the PVID for this port.

            This control does not affect VLAN independent BPDU
            frames, such as GVRP and STP.  It does affect VLAN
            dependent BPDU frames, such as GMRP."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.1.3"
        DEFVAL      { admitAll }
        ::= { sDot1qPortVlanEntry 2 }

    sDot1qPortIngressFiltering OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "DURABLE: { 2:all }
            When this is true(1) the device will discard incoming
            frames for VLANs which do not include this Port in its
            Member set.  When false(2), the port will accept all
            incoming frames.

            This control does not affect VLAN independent BPDU
            frames, such as GVRP and STP.  It does affect VLAN
            dependent BPDU frames, such as GMRP."
        REFERENCE
            "IEEE 802.1Q/D11 Section 12.10.1.4"
        DEFVAL      { false }
        ::= { sDot1qPortVlanEntry 3 }

    sDot1qPortGvrpStatus OBJECT-TYPE
        SYNTAX      EnabledStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The state of GVRP operation on this port.  The value
            enabled(1) indicates that GVRP is enabled on this port,
            as long as dot1qGvrpStatus is also enabled for this
            device.  When disabled(2) but dot1qGvrpStatus is still
            enabled for the device, GVRP is disabled on this port:
            any GVRP packets received will be silently discarded and
            no GVRP registrations will be propagated from other
            ports.  This object affects all GVRP Applicant and
            Registrar state machines on this port.  A transition
            from disabled(2) to enabled(1) will cause a reset of all
            GVRP state machines on this port."
        DEFVAL      { enabled }
        ::= { sDot1qPortVlanEntry 4 }

--
-- sRFC1643 Group
--
    sDot3StatsTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF SwapiDot3StatsEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
         "Statistics for a collection of ethernet-like
         interfaces attached to a particular system."
        ::= { sRFC1643Dot3 2 }

    sDot3StatsEntry   OBJECT-TYPE
        SYNTAX      SwapiDot3StatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
          "Statistics for a particular interface to an
          ethernet-like medium."
        INDEX     { sDot3StatsIndex }
        ::= { sDot3StatsTable 1 }


    SwapiDot3StatsEntry ::= SEQUENCE {
        sDot3StatsIndex                      INTEGER,
        sDot3StatsAlignmentErrors            Counter32,
        sDot3StatsFCSErrors                  Counter32,
        sDot3StatsSingleCollisionFrames      Counter32,
        sDot3StatsMultipleCollisionFrames    Counter32,
        sDot3StatsSQETestErrors              Counter32,
        sDot3StatsDeferredTransmissions      Counter32,
        sDot3StatsLateCollisions             Counter32,
        sDot3StatsExcessiveCollisions        Counter32,
        sDot3StatsInternalMacTransmitErrors  Counter32,
        sDot3StatsCarrierSenseErrors         Counter32,
        sDot3StatsFrameTooLongs              Counter32,
        sDot3StatsInternalMacReceiveErrors   Counter32,
        sDot3StatsEtherChipSet               OBJECT IDENTIFIER,
        sDot3StatsSymbolErrors                  Counter32,
        sDot3StatsDuplexStatus                   INTEGER
    }

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

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


        ::= { sDot3StatsEntry 2 }

    sDot3StatsFCSErrors   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"
        ::= { sDot3StatsEntry 3 }

    sDot3StatsSingleCollisionFrames   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 sDot3StatsMultipleCollisionFrames
        object."
        REFERENCE
        "IEEE 802.3 Layer Management"
        ::= { sDot3StatsEntry 4 }

    sDot3StatsMultipleCollisionFrames   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 sDot3StatsSingleCollisionFrames
        object."
        REFERENCE
        "IEEE 802.3 Layer Management"
        ::= { sDot3StatsEntry 5 }

    sDot3StatsSQETestErrors   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"
        ::= { sDot3StatsEntry 6 }

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


    sDot3StatsLateCollisions   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"
        ::= { sDot3StatsEntry 8 }

    sDot3StatsExcessiveCollisions   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"
        ::= { sDot3StatsEntry 9 }

    sDot3StatsInternalMacTransmitErrors   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 sDot3StatsLateCollisions object, the
        sDot3StatsExcessiveCollisions object, or the
        sDot3StatsCarrierSenseErrors 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"
        ::= { sDot3StatsEntry 10 }

    sDot3StatsCarrierSenseErrors   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"
        ::= { sDot3StatsEntry 11 }

    -- { sDot3StatsEntry 12 } is not assigned

    sDot3StatsFrameTooLongs   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"
        ::= { sDot3StatsEntry 13 }

    -- { sDot3StatsEntry 14 } is not assigned

    -- { sDot3StatsEntry 15 } is not assigned

    sDot3StatsInternalMacReceiveErrors   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 sDot3StatsFrameTooLongs object, the
        sDot3StatsAlignmentErrors object, or the
        sDot3StatsFCSErrors 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"
        ::= { sDot3StatsEntry 16 }

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

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

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


--
-- sArch Group
--
-- Needs to be replaced with the 64-bit counters
--

      sSwitchStatsTable OBJECT-TYPE
          SYNTAX  SEQUENCE OF SwapiSwitchStatsEntry
          MAX-ACCESS  not-accessible
          STATUS  current
          DESCRIPTION
                  "A list of interface entries.  The number of
                  entries is given by the value of ifNumber."
          ::= {  sSwitchStatsInfo 1 }


      sSwitchStatsEntry OBJECT-TYPE
          SYNTAX  SwapiSwitchStatsEntry
          MAX-ACCESS  not-accessible
          STATUS  current
          DESCRIPTION
                  "An interface entry containing objects at the
                  subnetwork layer and below for a particular
                  interface."
          INDEX   { sSwitchPortIndex }
          ::= { sSwitchStatsTable 1 }

      SwapiSwitchStatsEntry ::=
          SEQUENCE {
              sSwitchPortIndex                  INTEGER,
              sSwitchStatsTXOctetsNoErr         Counter32,
              sSwitchStatsTXPacketsNoErr        Counter32,
              sSwitchStatsRXOctetsNoErr         Counter32,
              sSwitchStatsRXPacketsNoErr        Counter32
          }

      sSwitchPortIndex OBJECT-TYPE
          SYNTAX  INTEGER (1..65536)
          MAX-ACCESS  read-only
          STATUS  current
          DESCRIPTION
           "A unique value, uses linear port number with holes."
          ::= { sSwitchStatsEntry 1 }

    sSwitchStatsTXOctetsNoErr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of octets transmitted from the interface. This
             number does not include octets in error."
        ::= { sSwitchStatsEntry 2 }

    sSwitchStatsTXPacketsNoErr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets transmitted from the interface. This
             number does not include packets in error."
        ::= { sSwitchStatsEntry 3 }

    sSwitchStatsRXOctetsNoErr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of octets received on the interface. This
             number does not include octets in error."
        ::= { sSwitchStatsEntry 4 }

    sSwitchStatsRXPacketsNoErr OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packets received on the interface. This
             number does not include packets in error."
        ::= { sSwitchStatsEntry 5 }

-- ----------------------------------------------------------------
-- Conformance groups.  This is required by SMIv2
-- ----------------------------------------------------------------
sMIBConformance OBJECT IDENTIFIER ::= { bcmSwapi 1 }
sMIBGroups OBJECT IDENTIFIER ::= { sMIBConformance 1 }
sMIBCompliances OBJECT IDENTIFIER ::= { sMIBConformance 2 }

    sMIBDot1dGroup OBJECT-GROUP
     OBJECTS {
         sDot1dBasePort,
         sDot1dBasePortMtuExceededDiscards,
         sDot1dStpPort,
         sDot1dStpPortState,
         sDot1dStpPortEnable,
         sDot1dTpLearnedEntryDiscards,
         sDot1dTpAgingTime
        }
        STATUS    current
        DESCRIPTION
        "Swapi dot1d support objects."
        ::= { sMIBGroups 3 }

    sMIBRMONGroup OBJECT-GROUP
     OBJECTS {
         sEtherStatsIndex,
         sEtherStatsDropEvents,
         sEtherStatsOctets,
         sEtherStatsPkts,
         sEtherStatsBroadcastPkts,
         sEtherStatsMulticastPkts,
         sEtherStatsCRCAlignErrors,
         sEtherStatsUndersizePkts,
         sEtherStatsOversizePkts,
         sEtherStatsFragments,
         sEtherStatsJabbers,
         sEtherStatsCollisions,
         sEtherStatsPkts64Octets,
         sEtherStatsPkts65to127Octets,
         sEtherStatsPkts128to255Octets,
         sEtherStatsPkts256to511Octets,
         sEtherStatsPkts512to1023Octets,
         sEtherStatsPkts1024to1518Octets,
         sEtherStatsRXMACControlFrames,
         sEtherStatsRXPauseMACCtrlFrames,
         sEtherStatsTXPauseMACCtrlFrames,
         sEtherStatsBcmIPMCBridgedPckts,
         sEtherStatsBcmIPMCRoutedPckts,
         sEtherStatsBcmIPMCInDroppedPckts,
         sEtherStatsBcmIPMCOutDroppedPckts,
         sEtherStatsIfInFrameRate,
         sEtherStatsIfInOctetRate,
         sEtherStatsIfOutFrameRate,
         sEtherStatsIfOutOctetRate
        }
        STATUS    current
        DESCRIPTION
        "Swapi RMON support objects."
        ::= { sMIBGroups 4 }

    sMIBMauGroup OBJECT-GROUP
     OBJECTS {
         sIfMauIndex,
         sIfMauType,
         sIfMauMediaAvailable,
         sIfMauJabberState,
         sIfMauDefaultType,
         sIfMauAutoNegAdminStatus,
         sIfMauAutoNegRestart,
         sIfMauAutoNegCapAdvertisedBits,
         sIfMauAutoNegCapReceivedBits
    }
    STATUS    current
    DESCRIPTION
    "Swapi MAU support objects."
    ::= { sMIBGroups 5 }

    sMIBDot1pGroup OBJECT-GROUP
     OBJECTS {
         sDot1dDeviceCapabilities,
         sDot1dTrafficClassesEnabled,
         sDot1dGmrpStatus,
         sDot1dPortCapabilities,
         sDot1dPortDefaultUserPriority,
         sDot1dPortNumTrafficClasses,
         sDot1dRegenUserPriority,
         sDot1dTrafficClass,
         sDot1dPortOutboundAccessPriority,
         sDot1dPortGmrpStatus
        }
        STATUS    current
        DESCRIPTION
        "Swapi Dot1p dependent support objects."
        ::= { sMIBGroups 6 }

    sMIBDot1QGroup OBJECT-GROUP
     OBJECTS {
         sDot1qGvrpStatus,
         sDot1qFdbDynamicCount,
         sDot1qStaticUnicastAllowedToGoTo,
         sDot1qStaticMulticastStaticEgressPorts,
         sDot1qStaticMulticastStatus,
         sDot1qVlanFdbId,
         sDot1qForwardUnregisteredPorts,
         sDot1qVlanCurrentEgressPorts,
         sDot1qVlanCurrentUntaggedPorts,
         sDot1qVlanStaticEgressPorts,
         sDot1qVlanStaticUntaggedPorts,
         sDot1qVlanStaticRowStatus,
         sDot1qPvid,
         sDot1qPortAcceptableFrameTypes,
         sDot1qPortIngressFiltering,
         sDot1qPortGvrpStatus
        }
        STATUS    current
        DESCRIPTION
        "Swapi Dot1Q dependent support objects."
        ::= { sMIBGroups 7 }

    sMIBDot3Group OBJECT-GROUP
     OBJECTS {
        sDot3StatsIndex,
        sDot3StatsAlignmentErrors,
        sDot3StatsFCSErrors,
        sDot3StatsSingleCollisionFrames,
        sDot3StatsMultipleCollisionFrames,
        sDot3StatsSQETestErrors,
        sDot3StatsDeferredTransmissions,
        sDot3StatsLateCollisions,
        sDot3StatsExcessiveCollisions,
        sDot3StatsInternalMacTransmitErrors,
        sDot3StatsCarrierSenseErrors,
        sDot3StatsFrameTooLongs,
        sDot3StatsInternalMacReceiveErrors,
        sDot3StatsEtherChipSet
        }
        STATUS    current
        DESCRIPTION
        "Swapi RFC1643 dependent support objects."
        ::= { sMIBGroups 8 }

    sMIBArchGroup OBJECT-GROUP
     OBJECTS {
         sSwitchPortIndex,
         sSwitchStatsTXOctetsNoErr,
         sSwitchStatsTXPacketsNoErr,
         sSwitchStatsRXOctetsNoErr,
         sSwitchStatsRXPacketsNoErr
        }
        STATUS    current
        DESCRIPTION
        "Swapi architectural dependent support objects."
        ::= { sMIBGroups 9 }


    sMIBCompliance MODULE-COMPLIANCE
     STATUS  current
     DESCRIPTION
            "The compliance statement for s module."
     MODULE
     MANDATORY-GROUPS {
         sMIBDot1dGroup,
         sMIBRMONGroup,
         sMIBMauGroup,
         sMIBDot1pGroup,
         sMIBDot1QGroup,
         sMIBDot3Group,
         sMIBArchGroup
     }
     ::= { sMIBCompliances 1 }

    END

