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

-- $Id: fspbb.mib,v 1.6 2012/09/07 09:52:05 siva Exp $

SUPERMICRO-PROP-PBB-MIB DEFINITIONS ::= BEGIN 
 
IMPORTS
 
    OBJECT-TYPE,MODULE-IDENTITY,
    Integer32,Unsigned32, enterprises
       FROM SNMPv2-SMI
    RowStatus,MacAddress,TruthValue ,DisplayString
       FROM SNMPv2-TC
    fsPbbCBPServiceMappingBackboneSid,fsPbbPipIfIndex
   	    FROM SUPERMICRO-PBB-MIB
    ifIndex
        FROM  IF-MIB
    PriorityCodePoint
        FROM SUPERMICRO-DOT1AD-MIB
    ;
supermicroProviderBackboneBridgeMIB MODULE-IDENTITY
    LAST-UPDATED "201209050000Z"
    ORGANIZATION "Super Micro Computer Inc."
    CONTACT-INFO "support@Supermicro.com"
    DESCRIPTION "The MIB module for PBB module"
    REVISION "201209050000Z"
    DESCRIPTION "The MIB module for PBB module"
	::= { enterprises  supermicro-computer-inc(10876) super-switch(101) extended(2) 15 }



fsPbbSystem     OBJECT IDENTIFIER   ::= { supermicroProviderBackboneBridgeMIB 1 }
fsPbbISIDConfig OBJECT IDENTIFIER   ::= { supermicroProviderBackboneBridgeMIB 2 }
fsPbbPortConfig OBJECT IDENTIFIER   ::= { supermicroProviderBackboneBridgeMIB 3 }
fsPbbInstanceConfig OBJECT IDENTIFIER   
                                    ::= { supermicroProviderBackboneBridgeMIB 4 }

-- ----------------------------------------------------------------
-- fsPbbSystem group
-- Bridge Wide Configuration
-- ----------------------------------------------------------------
-- ------------------------------------------------------------------------
-- Shutdown status
-- ----------------------------------------------------------------
fsPbbShutdownStatus OBJECT-TYPE 
   SYNTAX      INTEGER  { start(1), shutdown(2) }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The administrative shutdown status requested by management for PBB  
      The value start(1) indicates that PBB is active in the bridge.
      The value shutdown(2) indicates that PBB should be shutdown  
      in the device on all ports. All memory and configuration will be released."
   DEFVAL   { shutdown }       
   ::= { fsPbbSystem 1 } 

-- ------------------------------------------------------------------------
-- Global OUI
-- ----------------------------------------------------------------
fsPbbGlbOUI OBJECT-TYPE
    SYNTAX      OCTET STRING    
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
    "This is the value of global bridge wide OUI(Organization Unique Identifier).
    This identifier is used by VIP and CBP to form the default destination address 
    in case OUI for an ISID on these ports is not configured."
    DEFVAL { "00:1E:83" }

    ::= { fsPbbSystem 2 }


-- ------------------------------------------------------------------------
-- Max number of ISIDs that the system can support
-- ----------------------------------------------------------------
fsPbbMaxNoOfISID OBJECT-TYPE 
   SYNTAX      Integer32 (1..16777214)
   MAX-ACCESS  read-write 
   STATUS      deprecated
   DESCRIPTION 
   "Max number of ISID that the whole system can support. 
      The value set will be applied only after next reboot of the system.
      The memory corresponding to this scaling 
      parameter is not applied startup but when configurations 
      are restored or given by the operator before PBB start. "
   ::= { fsPbbSystem 3 } 

-- ----------------------------------------------------------------
-- Max number of ISIDs per Context
-- ----------------------------------------------------------------
fsPbbMaxNoOfISIDPerContext OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-write 
   STATUS      deprecated
   DESCRIPTION 
        "Max number of ISID that can be configured per context. 
      The value set will be applied only after next reboot of the system.
      The memory corresponding to this scaling 
      parameter is not applied startup but when configurations 
      are restored or given by the operator before PBB start. "
   ::= { fsPbbSystem 4 } 

-- ----------------------------------------------------------------
-- max_ports_per_isid
-- ----------------------------------------------------------------
fsPbbMaxPortsPerISID OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-write 
   STATUS      deprecated 
   DESCRIPTION 
      "Max number of member ports that can be configured  per ISID .
      These include CBP and PIP member ports only. For an I component 
      max ports per isid can be one(PIP) only while for a B component
      there can be more than one CBPs per isid . The value set will be
      applied only after next reboot of the system.
      The memory corresponding to this scaling 
      parameter is not applied startup but when configurations 
      are restored or given by the operator before PBB start. " 
   ::= { fsPbbSystem 5 } 

-- ----------------------------------------------------------------
-- max_ports_per_isid_per_context
-- ----------------------------------------------------------------
fsPbbMaxPortsPerISIDPerContext OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-write 
   STATUS      deprecated 
   DESCRIPTION 
      "Max number of member ports that can be configured per ISID per context. 
      These include CBP and PIP member ports only. For an I component 
      max ports per isid can be one(PIP) only while for a B component
      there can be more than one CBPs per isid . The value set will be
      applied only after next reboot of the system.
      The memory corresponding to this scaling 
      parameter is not applied startup but when configurations 
      are restored or given by the operator before PBB start. " 
   ::= { fsPbbSystem 6 } 
   
-- ------------------------------------------------------------------------
-- Max number of ISIDs that the system can support
-- ----------------------------------------------------------------
fsPbbMaxCurrentNoOfISID OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-only 
   STATUS      deprecated 
   DESCRIPTION 
      "Max number of ISID that the whole system can support. 
      This is a read-only object to show the scaling parameters 
      which is applied in the running system. This will be applicable 
      when PBB is started."
   ::= { fsPbbSystem 7 } 

-- ----------------------------------------------------------------
-- Max number of ISIDs per Context
-- ----------------------------------------------------------------
fsPbbMaxCurrentISIDPerContext OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-only 
   STATUS      deprecated 
   DESCRIPTION 
      "Max number of ISID that can be configured per context. 
      This is a read-only object to show the scaling parameters 
      which is applied in the running system. This will be applicable 
      when PBB is started." 
   ::= { fsPbbSystem 8  } 

-- ----------------------------------------------------------------
-- max_ports_per_isid
-- ----------------------------------------------------------------
fsPbbMaxCurrentPortsPerISID OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-only 
   STATUS      deprecated 
   DESCRIPTION 
      "Max number of member ports per ISID. These incude only CBPs and PIPs.
       This is a read-only object to show the scaling parameters 
      which is applied in the running system. This will be applicable 
      when PBB is started." 
   ::= { fsPbbSystem 9 } 

-- ----------------------------------------------------------------
-- max_ports_per_isid_per_context
-- ----------------------------------------------------------------
fsPbbMaxCurrPortsPerISIDContext OBJECT-TYPE 
   SYNTAX      Integer32 
   MAX-ACCESS  read-only 
   STATUS      deprecated 
   DESCRIPTION 
     "Max number of member ports that can be configured per ISID per context. 
      These include CBP and PIP member ports only. 
      This is a read-only object to show the scaling parameters 
      which is applied in the running system. This will be applicable 
      when PBB is started." 
   ::= { fsPbbSystem 10} 
 
fsPbbTraceInput OBJECT-TYPE 
          SYNTAX      DisplayString (SIZE(1..288))          
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION
            "This object stores the trace option string input given by the user.
             To enable particular trace the user has to enter
             the corresponding string(given below) assigned for that. 
             And for enabling more than once traces the user has to enter the 
             corresponding strings with SPACE delimiter between each string. 

             For example, to enable
                 - Init and Shutdown traces
                 - Management traces
             The input string is,
             enable init-shut mgmt 
             For example to disable 
                 - Init and Shutdown traces
                 - Management traces
             The input string is,
             disable init-shut mgmt 
             first value should be either enable or disable.

             The entered input string is parsed to get the trace options. 
             And the corresponding bits of the trace options are set in 
             fsPbbTraceOption object.
                               
             enable          - Enables the corresponding option.
             disable         - Disables the corresponding option.
             init-shut       - Init and Shutdown traces
             mgmt            - Management traces
             data            - Data Path traces
             ctrl            - Control Plane traces
             pkt-dump        - Packet Dump traces
             resource        - Traces related to all
                               resources except buffers
             all-fail        - All Failure traces
             buf             - Buffer allocation/
                               release traces          

             critical        - PBB Critical traces
             redundancy      - PBB Redundancy traces
             -               - Reserved

             By default critical trace is enabled." 

          DEFVAL  { "critical" }
          ::= { fsPbbSystem 11} 

fsPbbTraceOption OBJECT-TYPE 
          SYNTAX      Integer32          
          MAX-ACCESS  read-only
          STATUS      current 
          DESCRIPTION 
             "This object is used to store the trace options that are enabled
             by the user. The bit positions of the traces is shown below
             
             Bit 0  - init-shut
             Bit 1  - mgmt
             Bit 2  - data
             Bit 3  - ctrl
             Bit 4  - pkt-dump
             Bit 5  - resource
             Bit 6  - all-fail
             Bit 7  - buf

             Bit 8 - critical
             Bit 9 - redundancy

             Bit 10 - -

             By default critical trace(Bit 8) is set."
             
          DEFVAL { '0100'H }
          ::= { fsPbbSystem 12} 


-- SCALAR END

------------------------------------------------------------------------------
 -- ISID Configuration OUI
-- ----------------------------------------------------------------
 
fsPbbISIDOUITable	OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbISIDOUIEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table specifies an OUI per ISID"
    ::= { fsPbbISIDConfig 1 }
    
fsPbbISIDOUIEntry OBJECT-TYPE
    SYNTAX      FsPbbISIDOUIEntry 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This entry configures an OUI for an ISID."
    INDEX {	fsPbbContextId,  
			fsPbbCBPServiceMappingBackboneSid,
			ifIndex}
    ::= { fsPbbISIDOUITable 1 }
            
FsPbbISIDOUIEntry ::=
    SEQUENCE {
    fsPbbContextId          Integer32,
	fsPbbOUI 	            OCTET STRING,
	fsPbbOUIRowStatus       RowStatus
    }

fsPbbContextId OBJECT-TYPE
   SYNTAX       Integer32 (0..65535)
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
      "Identifies a virtual context."
   ::= { fsPbbISIDOUIEntry 1 }

fsPbbOUI OBJECT-TYPE
    SYNTAX      OCTET STRING    
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
	"The Backbone Service Instance Group Address at the CBP 
	is generated by using this OUI(Organization Unique Identifier)  with the associated ISID value. 
	In case this mapping is not present, the OUI corresponding to the complete bridge is used instead."
    ::= { fsPbbISIDOUIEntry 2 }
    
fsPbbOUIRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION   
    	"This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
    ::= { fsPbbISIDOUIEntry 3 }

------------------------------------------------------------------------------
 -- PISID Info table
-- ----------------------------------------------------------------
 
fsPbbPortPisidTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbPortPisidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table specifies the P-ISID on the
        Customer Network Ports in PBB bridge mode"
   
    ::= { fsPbbPortConfig 1}
    
fsPbbPortPisidEntry OBJECT-TYPE
    SYNTAX      FsPbbPortPisidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry in this table specifies PISID per Port
         in PBB bridge mode . "

    INDEX {fsPbbContextId, ifIndex }
            ::= { fsPbbPortPisidTable 1 }
            
FsPbbPortPisidEntry ::=
    SEQUENCE {
	fsPbbPortPisid	Integer32,
	fsPbbPIsidRowStatus RowStatus
	}

fsPbbPortPisid OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
	"It specifies the PSID for a PBB port. It is applicable only for CNP  
	S-tagged and C-tagged ports.
	Whenever a packet comes without S-Tag on a CNP Stagged port then
	the P-ISID is used to get the VIP.
	Whenever a packet comes without C-Tag on a CNP Ctagged port then
	the P-ISID is used to get the VIP.
    Hence the Pisid, if configured, has the highest priority in
    deciding upon the ISID to which an incoming frame is classified. "

   ::= { fsPbbPortPisidEntry 1 }

fsPbbPIsidRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object indicates the status of this entry. An entry is
        created in this table when this object is SET to 'createAndWait'.
        The entry in this table is used when the status of this object 
        is SET 'active'. The entry in this table is not used when this 
        object is SET 'notInService'. An entry created in this table is
        be deleted when this object is SET 'destroy'."
    ::= { fsPbbPortPisidEntry 2}

-- -------------------------------------------------------------
-- Provider Backbone Bridge Port Configuration Table
-- -------------------------------------------------------------

fsPbbPortTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing provider bridge port related configurations.
   
        All the values for the objects in this table will take effect
        only when the Bridge Mode is set as  
        ProviderCoreBridge or ProviderEdgeBridge."
    ::= { fsPbbPortConfig 2 }
    
fsPbbPortEntry   OBJECT-TYPE
    SYNTAX      FsPbbPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information controlling per port configurations for 
        the externally accessible ports of Provider Bridges."
    INDEX { fsPbbPipIfIndex  }
    ::= { fsPbbPortTable  1 }
            
FsPbbPortEntry  ::=
    SEQUENCE {
        fsPbbPortPcpSelectionRow           PriorityCodePoint,
        fsPbbPortUseDei                    TruthValue,
        fsPbbPortReqDropEncoding           TruthValue
    }
    

fsPbbPortPcpSelectionRow OBJECT-TYPE
   SYNTAX      PriorityCodePoint
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The row to be used on this port for PCP encoding and PCP decoding
       tables. PCP encoding and PCP decoding on a port will be based on the row
       configured as per this mib object for this port. This can be set for all 
       bride port types."
    DEFVAL { 1 }
    ::= { fsPbbPortEntry 1  }

fsPbbPortUseDei OBJECT-TYPE 
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
       "The object to specify whether drop_eligible parameter in the PCP can be
       used for encoding and decoding.
       
       If this object is set to True for the port, then drop_eligible parameter
       will be encoded in the DEI of transmitted frames.If the DEI is set in the 
       S-tag or the PCP decoding table indicates that drop_eligible True, 
       then drop_eligible will become true for the received frames.
       
       If this object is set to False, the DEI will be transmitted as zero
       and ignored on receipt.
       
       This object can be set only on PNPs and external CNPs."

   DEFVAL   { false }
   ::= { fsPbbPortEntry 2 }

fsPbbPortReqDropEncoding OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "When this object is set to True and if the bridge port can not 
       encode particular priorities with drop_eligible, then frames queued 
       with those priorites and drop_eligible true can be discarded and not 
       transmitted.

       This object can be set only on PNPs and external CNPs."

   DEFVAL   { false } 
   ::= { fsPbbPortEntry 3 } 

    
-- ----------------------------------------------------------------
-- PCP decoding table (Priority Code Point decoding table)
-- (Ref. IEEE802.1ad/D6 - section 12.6.2.8 and 12.6.2.9)
-- ----------------------------------------------------------------
fsPbbPcpDecodingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbPcpDecodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The priority and drop_eligible parameters of the received frames
    are decoded from the PCP using Priority Code Point decoding table. For
    each PIP, the PCP decoding table has eight entries corresponding to each
    of the possible PCP values."
      
    ::= { fsPbbPortConfig 3 }
    
fsPbbPcpDecodingEntry OBJECT-TYPE
    SYNTAX      FsPbbPcpDecodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the priority and drop_eligible information for
    a particular PIP, PCP selection row and PCP value.
    
    Creation of an entry in this table is not allowed and only modification 
    is permitted"
     
    INDEX { fsPbbPipIfIndex, 
            fsPbbPcpDecodingPcpSelRow, 
            fsPbbPcpDecodingPcpValue
          }
    ::= { fsPbbPcpDecodingTable 1 }
            
FsPbbPcpDecodingEntry ::=
    SEQUENCE {
        fsPbbPcpDecodingPcpSelRow           PriorityCodePoint,
        fsPbbPcpDecodingPcpValue            INTEGER,
        fsPbbPcpDecodingPriority            INTEGER,
        fsPbbPcpDecodingDropEligible        TruthValue
    }

fsPbbPcpDecodingPcpSelRow OBJECT-TYPE
    SYNTAX      PriorityCodePoint
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP selection row in the decoding table for which the priority and
        drop eligible parameters are to be mapped for a given PCP value."
        
    ::= { fsPbbPcpDecodingEntry 1 }

fsPbbPcpDecodingPcpValue OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP value in the decoding table for which the priority and 
        drop eligible parameters are to be derived."
        
    ::= { fsPbbPcpDecodingEntry 2 }

fsPbbPcpDecodingPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Priority associated with the particular PCP and PCP selection row in
         the PCP decoding table.This is the priority decoded for the PCP associated
         with the received frame. The frame will further be processed with this
         priority value."
        
    ::= { fsPbbPcpDecodingEntry 3 }

fsPbbPcpDecodingDropEligible OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The drop_eligible value associated with the particular PCP and PCP 
         selection row in the PCP decoding table. When this is set to True,
         frames should be discarded in preference to other frames with drop_eligible 
         False."

    ::= { fsPbbPcpDecodingEntry 4 }

-- ----------------------------------------------------------------
-- PCP encoding table (Priority Code Point encoding table)
-- (Ref. IEEE802.1ad/D6 - section 12.6.2.10 and 12.6.2.11)
-- ----------------------------------------------------------------
fsPbbPcpEncodingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbPcpEncodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "The priority and drop_eligible parameters are encoded in the Priority Code
    Point field of the Service Instance tag using the Priority Code Point encoding table
    for a PIP . For each PIP, PCP encoding table has 16 entries, corresponding
    to each of the possible combinations of the eight possible values of priority 
    and two possible values of drop_eligible."
    ::= { fsPbbPortConfig 4 }
    
fsPbbPcpEncodingEntry OBJECT-TYPE
    SYNTAX      FsPbbPcpEncodingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the PCP value for a particular PIP,PCP selection 
    row, priority and drop_eligible value.
    
    Creation of an entry in this table is not allowed and only modification
    is permitted."

    INDEX {fsPbbPipIfIndex, 
           fsPbbPcpEncodingPcpSelRow, 
           fsPbbPcpEncodingPriority, 
           fsPbbPcpEncodingDropEligible
          }
    ::= { fsPbbPcpEncodingTable 1 }
            
FsPbbPcpEncodingEntry ::=
    SEQUENCE {
        fsPbbPcpEncodingPcpSelRow           PriorityCodePoint,
        fsPbbPcpEncodingPriority            INTEGER,
        fsPbbPcpEncodingDropEligible        TruthValue,
        fsPbbPcpEncodingPcpValue            INTEGER
    }

fsPbbPcpEncodingPcpSelRow OBJECT-TYPE
    SYNTAX      PriorityCodePoint
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The PCP selection row in the encoding table for which the the PCP value
        to be mapped for a particular priority and drop_eligible combination."
        
    ::= { fsPbbPcpEncodingEntry 1 }

fsPbbPcpEncodingPriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The priority associated with a particular PCP selection row.
         Priority and drop_eligible combination for a particular PIP will
         be mapped to a PCP valule."
        
    ::= { fsPbbPcpEncodingEntry 2 }

fsPbbPcpEncodingDropEligible OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The drop_eligible parameter associated with a particular priority 
        and PCP selection row in the PCP encoding table."
        
    ::= { fsPbbPcpEncodingEntry 3 }

fsPbbPcpEncodingPcpValue OBJECT-TYPE
    SYNTAX      INTEGER (0..7) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The PCP value associated with the particular priority and drop_eligible
        combination of the PCP selection row in PCP encoding table. This will be
        encoded in the transmitted frames."

    ::= { fsPbbPcpEncodingEntry 4 }


-- ----------------------------------------------------------------
-- PBB Instance Table
-- ----------------------------------------------------------------
fsPbbInstanceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbInstanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This table is maintained to provide the multiple instance view to the 
    operator"
    ::= { fsPbbInstanceConfig 1 }
    
fsPbbInstanceEntry OBJECT-TYPE
    SYNTAX      FsPbbInstanceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the backbone instance name and the mac address,
    for the backbone instance id."

    INDEX {fsPbbInstanceId}
    ::= { fsPbbInstanceTable 1 }
            
FsPbbInstanceEntry ::=
    SEQUENCE {
        fsPbbInstanceId             Integer32,
        fsPbbInstanceMacAddr        MacAddress,
        fsPbbInstanceName           DisplayString,
        fsPbbInstanceIComponents    Unsigned32,
        fsPbbInstanceBComponents    Unsigned32,
        fsPbbInstanceBebPorts       Unsigned32,
        fsPbbInstanceRowStatus      RowStatus
    }

fsPbbInstanceId OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The backbone instance identifier of a particular backbone instance." 
   ::= { fsPbbInstanceEntry 1 } 

fsPbbInstanceMacAddr  OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The MAC address used by this backbone instance." 
   ::= { fsPbbInstanceEntry 2 } 

fsPbbInstanceName  OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..32)) 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The backbone instance name for the backbone instance. By default 
       instance name will be 'instance<instanceid>'. Eg: 'instance1' 
       for backbone instance 1." 
   ::= { fsPbbInstanceEntry 3 } 

fsPbbInstanceIComponents OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of I-components in this backbone instance."
    ::= { fsPbbInstanceEntry 4 }

fsPbbInstanceBComponents OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of B-components in this backbone instance."
    ::= { fsPbbInstanceEntry 5 }

fsPbbInstanceBebPorts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of CNPs, PIPs, CBPs, and PNPs in this BEB."
    ::= { fsPbbInstanceEntry 6 }

fsPbbInstanceRowStatus  OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
      "Row status of the backbone instance entry."
   ::= { fsPbbInstanceEntry 7 } 


-- ----------------------------------------------------------------
-- PBB Instance Mapping Table
-- ----------------------------------------------------------------
fsPbbInstanceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FsPbbInstanceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "This is a table which associates the instance id with a virtual context"
    ::= { fsPbbInstanceConfig 2 }
    
fsPbbInstanceMappingEntry OBJECT-TYPE
    SYNTAX      FsPbbInstanceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION

    "The table entry contains the backbone instance name and the mac address,
    for the backbone instance id."

    INDEX {fsPbbContextId}
    ::= { fsPbbInstanceMappingTable 1 }
            
FsPbbInstanceMappingEntry ::=
    SEQUENCE {
        fsPbbContextToInstanceId    Integer32
    }

fsPbbContextToInstanceId OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The backbone instance identifier, to which the context id is associated with." 
   DEFVAL   { 0 } 
   ::= { fsPbbInstanceMappingEntry 1 } 

END
