-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsbridge.mib,v 1.11 2012/09/07 09:52:04 siva Exp $

SUPERMICRO-BRIDGE-MIB DEFINITIONS ::= BEGIN

IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, OBJECT-IDENTITY,
       enterprises,Integer32, Counter32             FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, TruthValue, MacAddress   FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP,
       NOTIFICATION-GROUP                     FROM SNMPv2-CONF;
                         	
futureBridgeMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
	 DESCRIPTION 
	 "This mib module is for Proprietary Bridge mib"
	 REVISION "201209050000Z"
	 DESCRIPTION 
	 "This mib module is for Proprietary Bridge mib"
	 
::= { enterprises supermicro-computer-inc(10876) super-switch(101) basic(1) 26}

BridgeId ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION 
		" Identifier of Bridge in 8 byte format"
        SYNTAX          OCTET STRING (SIZE (8))

dot1dFutureBridge   OBJECT IDENTIFIER   ::= {  futureBridgeMIB 1 }
dot1dFutureBase     OBJECT IDENTIFIER ::= { dot1dFutureBridge 1 }
dot1dFutureTp     OBJECT IDENTIFIER ::= { dot1dFutureBridge 2 }
dot1dFilter   OBJECT IDENTIFIER ::= { dot1dFutureBridge 3 }
dot1dMcast    OBJECT IDENTIFIER ::= { dot1dFutureBridge 4 }
 
-- the dot1dFutureBase group

--SCALAR_TABLE_BEGIN dot1dFutureBase 

dot1dBridgeSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative system control status requested by management for
      the TB feature. The value 'start'(1) indicates that all resources 
      required by TB should be allocated and TB should be supported 
      in the device on all ports. The value shutdown(2) indicates that TB 
      should be shutdown in the device on all ports and all allocated memory 
      must be released."
       DEFVAL { start}
       ::= { dot1dFutureBase 1 }

dot1dBaseBridgeStatus OBJECT-TYPE
       SYNTAX  INTEGER{
                 up (1),
                 down (2),
                 downwithallinterfacesdown (3)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
               "Control for Bridging services.
                Setting this object to down-with-all-interfaces-down(3),
                  assigns down(2) value to dot1dBasePortAdminiStatus in 
                  all entries of dot1dBasePortTable"
       DEFVAL { down }
       ::= { dot1dFutureBase 2 }

dot1dBaseBridgeCRCStatus OBJECT-TYPE
       SYNTAX  INTEGER{
                 withCRC(1),
                 withoutCRC(2)
               }
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
               "Setting this object to with-CRC(1) expects all LAN 
                frames to be received with CRC, and transmits through 
                WAN and LAN interface with the same CRC without 
                regeneration."
       DEFVAL { withoutCRC }
       ::= { dot1dFutureBase 3 }

dot1dBaseBridgeDebug   OBJECT-TYPE
   SYNTAX  Integer32 (0..255)
   MAX-ACCESS   read-write
   STATUS   current
   DESCRIPTION
      "To enable debugging facility for FutureTB/STP." 
   ::= { dot1dFutureBase 4  }

dot1dBaseBridgeTrace   OBJECT-TYPE
   SYNTAX  Integer32 (0..255)
   MAX-ACCESS   read-write
   STATUS   current
   DESCRIPTION
      "This object is used to enable Trace Statements in  
      FutureTB/STP module. 

      A FOUR BYTE integer is used for enabling the level of tracing.  
      Each BIT in the four byte integer, represents a particular  
      level of Trace.  

      The maping between the bit positions & the level of trace is  
      as follows:  
      0 - Init and Shutdown Traces 
      1 - Management Traces 
      2 - Data Path Traces 
      3 - Control Plane Traces 
      4 - Packet Dump Traces 
      5 - Traces related to All Resources except Buffers 
      6 - All Failure Traces 
      7 - Buffer Traces 

      The remaining bits are unused. Combination of levels are  
      also allowed. 

      For example if the bits 0 and 1 are set, then the Trace 
      statements related to Init-Shutdown and management  
      will be printed. 

      The user has to enter the corresponding INTEGER VALUE for the 
      bits set. For example if bits 0 and 1 are set then user has to  
      give the value 3." 
   ::= { dot1dFutureBase 5  }

dot1dBaseBridgeMaxFwdDbEntries   OBJECT-TYPE
   SYNTAX  Integer32 (1..65535)
   MAX-ACCESS   read-only
   STATUS   current
   DESCRIPTION
      "Maximum Entries in the Forwarding Database." 
   ::= { dot1dFutureBase 6 }



--SCALAR_TABLE_END dot1dFutureBase 

dot1dFutureBasePortTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF Dot1dFutureBasePortEntry
       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."
       ::= { dot1dFutureBase 7 }

dot1dFutureBasePortEntry OBJECT-TYPE
       SYNTAX  Dot1dFutureBasePortEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "A list of information for each port of the
               bridge."
       REFERENCE
               "P802.1d/D9, July 14, 1989: Section 6.4.2, 6.6.1"
       INDEX  { dot1dFutureBasePort }
       ::= { dot1dFutureBasePortTable 1 }

   Dot1dFutureBasePortEntry ::=
       SEQUENCE {
           dot1dFutureBasePort
               Integer32,
	   dot1dBasePortAdminStatus
               INTEGER,
           dot1dBasePortOperStatus
               INTEGER,
           dot1dBasePortBcastStatus
               INTEGER,
           dot1dBasePortFilterNumber
               Integer32,
           dot1dBasePortMcastNumber
               Integer32,      
           dot1dBasePortBcastOutFrames
                 Counter32,
           dot1dBasePortMcastOutFrames
               Counter32
       }

   dot1dFutureBasePort OBJECT-TYPE
       SYNTAX  Integer32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
		"The port number of the port for which this entry contains
		bridge management information "
       ::= { dot1dFutureBasePortEntry 1 }

     dot1dBasePortAdminStatus OBJECT-TYPE
       SYNTAX  INTEGER{
               up (1),
               down (2)
              }
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
      "Control for Bridging services for this interface.
      An entry in the dot1dBasePortTable, dot1dStpPortTable and 
      dot1dTpPortTable will be created during the first indication 
      of this Interface Oper Up. Such a created Interface can be 
      made BasePortAdminUp or BasePortAdminDown by setting this 
      object to  up (1) or down (2) respectively.

      When this object is configured with dot1dBasePortCircuit         
      equal to 0xffff, the value specified is assigned to all
      circuits corresponding to the interface identified by 
      the dot1dBasePortIndex."


       DEFVAL { up }
       ::= { dot1dFutureBasePortEntry 2 }

   dot1dBasePortOperStatus OBJECT-TYPE
       SYNTAX  INTEGER{
               up (1),
               down (2)
              }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
      "The operational counterpart of the dot1dBasePortAdminStatus. 
       This object is valid only if the administration status of the
       corresponding interface is up (1)."
       ::= { dot1dFutureBasePortEntry 3 }

   dot1dBasePortBcastStatus OBJECT-TYPE
       SYNTAX  INTEGER{
               up (1),
               down (2)
              }
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "Control for Broadcast frame forwarding over this 
      interface.  Setting this object to down (2) restricts forwarding
      Broadcast frames over this interface."
       DEFVAL { up }
       ::= { dot1dFutureBasePortEntry 4 }


   dot1dBasePortFilterNumber OBJECT-TYPE
       SYNTAX  Integer32 (0..99)
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
           "The  number specifying the set of filter entries (dot1dFilterEntry)
           to be used on this interface.  Setting this object to zero 
           deassigns the filter table entries assigned to this interface."
       DEFVAL  { 0 }
       ::=  { dot1dFutureBasePortEntry 5 }

   dot1dBasePortMcastNumber  OBJECT-TYPE
       SYNTAX  Integer32 (0..99)
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
           "The number specifying the set of multicast entries 
           (dot1dMCastEntry) to be used on this interface.  Setting this 
           object to zero deassigns the multicast table entries assigned 
           to this interface."
       DEFVAL  { 0 }
       ::=  { dot1dFutureBasePortEntry 6 }

   dot1dBasePortBcastOutFrames  OBJECT-TYPE
         SYNTAX  Counter32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
             "Count of broadcasted frame that are transmitted through
            this interface. This object is updated only for frames with
            broadcast destination address (ff.ff.ff.ff.ff.ff) and frames 
            which are broadcasted because of no learned entry in the 
            dot1dTpFdbTable."
         ::=  { dot1dFutureBasePortEntry 7 }

   dot1dBasePortMcastOutFrames  OBJECT-TYPE
         SYNTAX  Counter32
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
             "Count of frames transmitted through this interface with 
             destination address in which the Mac layer multicast bit set.
             This object is not updated for frames tranmitted with broadcast
             destination address (i.e ff.ff.ff.ff.ff.ff)."
         ::=  { dot1dFutureBasePortEntry 8 }


   -- the dot1dTp group
   --  Port Table for Transparent Bridges

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

   dot1dFutureTpPortEntry OBJECT-TYPE
       SYNTAX  Dot1dFutureTpPortEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "A list of information for each port of a
               transparent bridge."
       INDEX   { dot1dFutureTpPort }
       ::= { dot1dFutureTpPortTable 1 }

   Dot1dFutureTpPortEntry ::=
       SEQUENCE {
           dot1dFutureTpPort
               Integer32,
	     dot1dTpPortInProtoDiscards
               Counter32,
           dot1dTpPortInFilterDiscards 
               Counter32,
           dot1dTpPortProtocolFilterMask
               Integer32
       }

   dot1dFutureTpPort OBJECT-TYPE
       SYNTAX  Integer32 (1..65535)
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
                "The port number of the port for which this entry contains
                Transparent Bridging management information "
       ::= { dot1dFutureTpPortEntry 1 }

   dot1dTpPortInProtoDiscards OBJECT-TYPE
       SYNTAX   Counter32
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
               "Count of valid frames received by this port
               which were discarded  due to the protocol filter mask
               (dot1dTpPortProtocolFilterMask)."
       ::= { dot1dFutureTpPortEntry 2 }


   dot1dTpPortInFilterDiscards OBJECT-TYPE
       SYNTAX   Counter32
       MAX-ACCESS   read-only
       STATUS   current
       DESCRIPTION
               "Count of valid frames received which were
               discarded  (i.e filtered) by the forwarding process
                 this  includes frames discarded by Max-Size
                 and frames discarded by protocol filter mask."
       ::= { dot1dFutureTpPortEntry 3 }

   dot1dTpPortProtocolFilterMask OBJECT-TYPE
       SYNTAX  Integer32
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
            "The protocol type filtering mask for this interface.
                 The possible  masks are :
            IP          0x0004
            IPX         0x0008
            XNS         0x0010
            DECNET      0x0020
            CLNP        0x0040
            ATALK       0x0080
            PPPOE       0x0100 
	     For eg. to filter IP and IPX  frames, set the  
            dot1dTpPortProtocolFilterMask to ( IP | IPX )."
       DEFVAL { 0 }
       ::= { dot1dFutureTpPortEntry 4 }


--The Bridge Filter MIB

-- Destination and Source address based filtering.
-- This filtering scheme is an Egress filtering where the defined filter is
-- applied only on potential transmission ports.

--This consists of two tables, one for the actual filter list entries and  the
--other one for assigning a particular filter to a particular interface.

dot1dFilterTable   OBJECT-TYPE
   SYNTAX   SEQUENCE OF Dot1dFilterEntry
   MAX-ACCESS   not-accessible
   STATUS   current
   DESCRIPTION
      "This entity's Bridge Filter  Table."
   ::= {dot1dFilter 1}

dot1dFilterEntry   OBJECT-TYPE
   SYNTAX   Dot1dFilterEntry
   MAX-ACCESS   not-accessible
   STATUS   current
   DESCRIPTION
      "Contains the information about the packets to be filtered."
   INDEX   { dot1dFilterNumber,
        dot1dFilterSrcAddress,
        dot1dFilterDstAddress }
   ::= { dot1dFilterTable 1 }

Dot1dFilterEntry   ::=    SEQUENCE {
   dot1dFilterNumber   
Integer32,
   dot1dFilterSrcAddress   
MacAddress,
   dot1dFilterSrcMask   
MacAddress,
   dot1dFilterDstAddress   
MacAddress,
   dot1dFilterDstMask   
MacAddress,
   dot1dFilterPermiss   
INTEGER
   }

dot1dFilterNumber   OBJECT-TYPE
   SYNTAX   Integer32 (1..99)
   MAX-ACCESS   not-accessible
   STATUS   current
   DESCRIPTION
      "The number assigned to this particular filter table."
   ::= { dot1dFilterEntry 1 }

dot1dFilterSrcAddress   OBJECT-TYPE
   SYNTAX   MacAddress
   MAX-ACCESS   not-accessible
   STATUS   current
   DESCRIPTION
      "The Source address of the packet to be filtered."
   ::= { dot1dFilterEntry 2 }

dot1dFilterSrcMask   OBJECT-TYPE
   SYNTAX   MacAddress
   MAX-ACCESS   read-create
   STATUS   current
   DESCRIPTION
      "The Mask to be used with the Source address. F's in the mask
      correspond to bits to be ignored while comparing the source
      address in the packet with that in the filter entry."
   DEFVAL   { 'FFFFFFFFFFFF'h }
   ::= { dot1dFilterEntry 3 }

dot1dFilterDstAddress   OBJECT-TYPE
   SYNTAX   MacAddress
   MAX-ACCESS   not-accessible
   STATUS   current
   DESCRIPTION
      "The Destination address of the packet to be filtered."
   ::= { dot1dFilterEntry 4 }

dot1dFilterDstMask   OBJECT-TYPE
   SYNTAX   MacAddress
   MAX-ACCESS   read-create
   STATUS   current
   DESCRIPTION
      "The Mask to be used with the Destination address. F's in 
      the mask correspond to bits to be ignored while comparing the 
      destination address in the packet with that in the filter 
      entry."
   DEFVAL   { 'FFFFFFFFFFFF'h }
   ::= { dot1dFilterEntry 5 }

dot1dFilterPermiss   OBJECT-TYPE
   SYNTAX   INTEGER { 
      block   (1),
      allow   (2), 
      invalid (3)
      }
   MAX-ACCESS   read-create
   STATUS   current
   DESCRIPTION
      "Specifies whether to discard the packet or not when a match
      occurs with the source and destination addresses of this filter
      entry. Setting this variable to 'invalid' amounts to 
      invalidating the filter list entry."
        DEFVAL { allow }
   ::= { dot1dFilterEntry 6 }


-- The Bridge Multicast List MIB

-- Multicast List number for an interface (member of a group) allows 
-- to transmit only a specified set of multicast frames through an interface
-- (member of a group).
-- A frame in which the destination address with multicast bit set is 
-- allowed(excluding  broadcast address) to forward through an interface 
-- (member of a group) only if the multicast address is one among the set 
-- of multicast addresses assigned  to the interface through the multicast 
-- list number. Assigning a multicast list number of zero to the 
-- interface removes the multicast frame filtering for the interface 
-- (member of a group).

-- Each multicast list number is associated with a set of Multicast addresses.

dot1dMcastTable   OBJECT-TYPE
    SYNTAX   SEQUENCE OF Dot1dMcastEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "This entity's Bridge Multicast table."
    ::=  { dot1dMcast 1 }

dot1dMcastEntry   OBJECT-TYPE
    SYNTAX   Dot1dMcastEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "Contains the multicast address."
    INDEX   { dot1dMcastMacaddress, 
              dot1dMlistNumber        }
    ::= { dot1dMcastTable 1 }

Dot1dMcastEntry       ::=    SEQUENCE {
    dot1dMlistNumber        
Integer32,
    dot1dMcastMacaddress    
MacAddress,
      dot1dMcastPermiss       
INTEGER
    } 

dot1dMlistNumber   OBJECT-TYPE
    SYNTAX   Integer32 (1..99)
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "The Number assigned to this particular multicast table."
    ::=  { dot1dMcastEntry 1 }

dot1dMcastMacaddress   OBJECT-TYPE
    SYNTAX   MacAddress
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
        "The multicast macaddress that is valid for an interface."
    ::=  { dot1dMcastEntry 2 }

dot1dMcastPermiss     OBJECT-TYPE
   SYNTAX   INTEGER { 
      block   (1),
      allow   (2), 
      invalid (3)
      }
   MAX-ACCESS   read-create
   STATUS   current
   DESCRIPTION
      "Specifies whether to discard the packet with this multicast address
      or to forward it.  Setting this variable to 'invalid' amounts to 
      invalidating the multicast entry."
 DEFVAL { allow }
   ::= { dot1dMcastEntry  3 }

END
