
-- MIB definitions for Juniper Networks ex2500 Private MIBs


-- ----------------------------------------------------------------------------
-- { INSERT:  bosRootDefs
-- ----------------------------------------------------------------------------

EX2500-BASE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-IDENTITY,
    enterprises, Integer32, Unsigned32, Counter32, Gauge32, Counter64,
    TimeTicks, IpAddress, mib-2
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue, DisplayString, PhysAddress,
    MacAddress, RowStatus, TimeInterval, TimeStamp
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    BridgeId, dot1dTp, dot1dTpPort, dot1dBridge, dot1dBasePortEntry,
    dot1dBasePort
        FROM BRIDGE-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    PortList
        FROM Q-BRIDGE-MIB
    SnmpAdminString, SnmpEngineID,SnmpMessageProcessingModel,
     SnmpSecurityModel,SnmpSecurityLevel  FROM SNMP-FRAMEWORK-MIB
    usmNoAuthProtocol, usmNoPrivProtocol  FROM SNMP-USER-BASED-SM-MIB
    sysName, sysLocation, sysContact, ifIndex
        FROM RFC1213-MIB
    ifIndex, InterfaceIndex, InterfaceIndexOrZero
        FROM IF-MIB;

-- ----------------------------------------------------------------------------
-- } INSERT:  bosRootDefs
-- ----------------------------------------------------------------------------



-- ----------------------------------------------------------------------------
-- { INSERT:  bosRoot
-- ----------------------------------------------------------------------------
-- enterprise OID reference  http://www.iana.org/assignments/enterprise-numbers


juniper MODULE-IDENTITY
    LAST-UPDATED "200711270000Z"
    ORGANIZATION "Juniper Networks"
    CONTACT-INFO ""
    DESCRIPTION "This mib module is the base mib for the propriatory mibs."
    ::= { enterprises 1411 }


-- Access "juniper" Groups for Juniper Networks ex2500 Private MIBs




ex2500               OBJECT IDENTIFIER ::= { juniper 102 }
-- ----------------------------------------------------------------------------
-- { INSERT: base
-- ----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------
-- } INSERT: base
-- ----------------------------------------------------------------------------

-- Access "ex2500" group for Common Juniper Networks ex2500 Private MIBs



bosradius               OBJECT IDENTIFIER ::= { ex2500 25 }
-- ----------------------------------------------------------------------------
-- { INSERT: radius
-- ----------------------------------------------------------------------------


 radiusExtClient           OBJECT IDENTIFIER ::= { bosradius 1 }


radiusExtDebugMask OBJECT-TYPE
      SYNTAX INTEGER{
			disableall     (0),
			enableall      (1),
			error          (2),
			event          (3),
			packet         (4),
			response       (5),
			timer          (6)
	     }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
            "Mask for enabling or disabling the Debug/Trace
	 	prints in the radius module."
      ::= { radiusExtClient 1 }

radiusMaxNoOfUserEntries OBJECT-TYPE
      SYNTAX Integer32 (1 ..100)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
            "  Max of No of User entries stored.For value of this
	 object will be stored for the MemPool Initialization."
      ::= { radiusExtClient 2 }

radiusSecureBackdoorStatus OBJECT-TYPE
      SYNTAX INTEGER { enabled (1),
                       disabled (2)
                     }
 
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
            "  Status of RADIUS Server Secure Backdoor.If it is
         enabled allow noradius user to login with admin password
         otherwise it won't allow noradius user to login."
      ::= { radiusExtClient 3 }

radiusNewCfgPort OBJECT-TYPE
    SYNTAX  INTEGER  (1500..3000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Specify the RADIUS port number."
    DEFVAL { 1812 }
    ::= { radiusExtClient 4 }


    
radiusExtServerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF RadiusExtServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The (conceptual) table listing the RADIUS servers with
                 which the client shares a secret."
    ::=  { radiusExtClient 5 }


radiusExtServerEntry OBJECT-TYPE
    SYNTAX RadiusExtServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry (conceptual row) representing a RADIUS server
                 with which the client shares a secret."
    INDEX {radiusExtServerIndex}
    ::=  { radiusExtServerTable 1 }

RadiusExtServerEntry ::= SEQUENCE {
    radiusExtServerIndex    InterfaceIndex,
    radiusExtServerAddress    IpAddress,
    radiusExtServerType    INTEGER,
    radiusExtServerSharedSecret    DisplayString,
    radiusExtServerResponseTime INTEGER,
    radiusExtServerMaximumRetransmission  INTEGER,
    radiusExtServerEntryStatus		RowStatus
   }


radiusExtServerIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The RADIUS server with whom the client interacts."
    ::=  { radiusExtServerEntry 1 }

radiusExtServerAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP address of the RADIUS server
                 referred to in this table entry."
    ::=  { radiusExtServerEntry 2 }

radiusExtServerType OBJECT-TYPE
    SYNTAX INTEGER { auth (1),
                     acct (2),
                     both (3)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RADIUS server type 
	 (Authentication or Accounting(Not Available) or Both(Not Available)).
         For creating a server entry Server Type should be set"
    ::=  { radiusExtServerEntry 3 }

radiusExtServerSharedSecret OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secret string which is shared between Server and Client"
    ::=  { radiusExtServerEntry 4 }

--radiusExtServerEnabled OBJECT-TYPE
--    SYNTAX INTEGER { enabled (1),
--                     disabled (2)
--                   }
--    MAX-ACCESS read-write
--    STATUS current
--    DESCRIPTION
--        "Flag to tell whether the server is active or Inactive"
--    DEFVAL { enabled }
--    ::=  { radiusExtServerEntry 5 }

radiusExtServerResponseTime OBJECT-TYPE
    SYNTAX INTEGER (1 ..10)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum time within which the server has to respond for a
         request from the client"
    ::=  { radiusExtServerEntry 6 }

radiusExtServerMaximumRetransmission OBJECT-TYPE
    SYNTAX INTEGER (1 ..3)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The allowed maximum no. of trials to be tried by a client to get
         response from the server for a request"
    ::=  { radiusExtServerEntry 7 }

 radiusExtServerEntryStatus	OBJECT-TYPE
   SYNTAX    			RowStatus
   MAX-ACCESS 			read-write
   STATUS 			current
   DESCRIPTION
      "The status of the entry can be used as specified in the SNMP V2
      standard. "
  ::=  {   radiusExtServerEntry 8  }

radiusExtServerEnabled OBJECT-TYPE
    SYNTAX INTEGER { 
                     disabled (1),
                     enabled (2)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Flag to denote whether the server is active or Inactive"
    DEFVAL { disabled }
    ::=  { radiusExtClient 6 }

radiusNewCfgAcctPort OBJECT-TYPE
    SYNTAX  INTEGER  (1500..3000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Specify the RADIUS Accounting port number."
    DEFVAL { 1813 }
    ::= { radiusExtClient 7 }

radiusExtAcctEnabled OBJECT-TYPE
    SYNTAX INTEGER { 
                    disabled (1),
                    enabled (2)
                   }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Flag to denote whether the RADIUS Accounting is active or Inactive"
    DEFVAL { disabled }
    ::=  { radiusExtClient 8 }
-- ----------------------------------------------------------------------------
-- } INSERT: radius
-- ----------------------------------------------------------------------------


bosntp			OBJECT IDENTIFIER ::= { ex2500 15 }
-- ----------------------------------------------------------------------------
-- { INSERT: ntp
-- ----------------------------------------------------------------------------

      
ntpCfg OBJECT IDENTIFIER   ::= { bosntp 1 }
ntpOps OBJECT IDENTIFIER   ::= { bosntp 2 }

 
-- -----------------------------------------------------------------
-- NTP Configuration Group
-- -----------------------------------------------------------------

ntpCfgAdminStatus OBJECT-TYPE
SYNTAX INTEGER{
    enabled (1),
    disabled (0)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The administrative status of the NTP client service
in the switch. A value of 'enabled' denotes that
the client will regularly poll the NTP servers in
order to synchronize the local system time."
::= { ntpCfg 1 }


ntpCfgPollInterval OBJECT-TYPE
SYNTAX Integer32 (0..10080)
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The time interval, in minutes, between two polling
periods wherein the client sends a request to the
designated NTP servers. Set Poll Interval to zero would set to its default value"
DEFVAL { 1440 }
::= { ntpCfg 2 }

ntpCfgPriServer OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The IP address of the primary NTP server. Setting
the address to all zeroes will remove the primary
server configuration. During a polling period, the
client first sends a request to the primary server
followed by the secondary server."
::= { ntpCfg 3 }

ntpCfgSecServer OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION "The IP address of the secondary NTP server. Setting
the address to all zeroes will remove the secondary
server configuration. During a polling period, the
client first sends a request to the primary server
followed by the secondary server."
::= { ntpCfg 4 }


-- -----------------------------------------------------------------
-- NTP Operations Group
-- -----------------------------------------------------------------

ntpOpsPollServer OBJECT-TYPE
SYNTAX INTEGER { no(1), yes(2) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Setting this object to 'yes' will trigger the NTP
client to transmit a request to the designated
servers. The set operation has no effect if the
client is administratively disabled. A get operation
on this object always yields a value of 'no'."
::= { ntpOps 1 }

-- -----------------------------------------------------------------
-- NTP Statistics
-- -----------------------------------------------------------------

ntpSysTime OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "System Time when the request is sent."
::= { ntpCfg 5 }

ntpLastUpdtTime OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Last Updated Time when the response is received from
Primary/Secondary server."
::= { ntpCfg 6 }

ntpLastUpdtServer OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Server from which last time was updated. "
::= { ntpCfg 7 }


-- -------------------------------------
-- ntpServerStatsTable - Start
-- -------------------------------------

ntpServerStatsTable OBJECT-TYPE
SYNTAX      SEQUENCE OF NtpServerStatsEntry 
MAX-ACCESS  not-accessible 
STATUS      current 
DESCRIPTION 
"A table of statistics information for Primary and Secondary Servers 
supported by the NTP. " 
::= { ntpCfg 8 } 

ntpServerStatsEntry OBJECT-TYPE 
SYNTAX      NtpServerStatsEntry 
MAX-ACCESS  not-accessible 
STATUS      current 
DESCRIPTION 
"Index to the table is Ip Address to Primary/Secondary Server." 
INDEX { ntpIpAddress} 
::= { ntpServerStatsTable 1 } 
 
 
NtpServerStatsEntry ::= 
SEQUENCE { 
    ntpIpAddress 
    IpAddress, 
    ntpStatSerReq 
    Counter32, 
    ntpStatSerRep
    Counter32, 
    ntpStatSerUpd 
    Counter32,
    ntpSerClearStat
    INTEGER    
    } 

ntpIpAddress OBJECT-TYPE 
SYNTAX      IpAddress
MAX-ACCESS  not-accessible 
STATUS      current 
DESCRIPTION 
"The IP Address allocated to Primary/Secondary Server ." 
::= { ntpServerStatsEntry 1 } 

ntpStatSerReq OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Number of requests Sent to Server."
::= { ntpServerStatsEntry 2 }

ntpStatSerRep OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Number of replies received from Server."
::= { ntpServerStatsEntry 3 }

ntpStatSerUpd OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Number of Updates received from Server."
::= { ntpServerStatsEntry 4 }

ntpSerClearStat OBJECT-TYPE
SYNTAX  INTEGER {
        ok(1),
        clear(2)
        }
MAX-ACCESS  read-write
STATUS  current
DESCRIPTION
        "Setting this to clear(2) results in clearing the statistics
        for respective Server. Setting this to OK(1) would not clear anything."
::= { ntpServerStatsEntry 5 }


-- -------------------------------------
-- ntpServerStatsTable - End
-- -------------------------------------

-- ----------------------------------------------------------------------------
-- } INSERT: ntp 
-- ----------------------------------------------------------------------------


boscfa                  OBJECT IDENTIFIER ::= { ex2500 27 }
-- ----------------------------------------------------------------------------
-- { INSERT: cfa
-- ----------------------------------------------------------------------------


      InterfaceIndex ::= TEXTUAL-CONVENTION
         DISPLAY-HINT "d"
         STATUS       current
         DESCRIPTION
            "A unique value, greater than zero, for each interface
            or interface sub-layer in the managed system.  It is
            recommended that values are assigned contiguously
            starting from 1.  The value for each interface sub-
            layer must remain constant at least from one re-
            initialization of the entity's network management
            system to the next re-initialization."
         SYNTAX       Integer32 (1..2147483647)


      if OBJECT IDENTIFIER ::= { boscfa 1 }

      ff OBJECT IDENTIFIER ::= { boscfa 2 }

      fm OBJECT IDENTIFIER ::= { boscfa 3 }

      traps OBJECT IDENTIFIER ::= { boscfa 4 }


-- Cfa If Group
-- This group defines objects for Interface Management.

      ifMaxInterfaces         OBJECT-TYPE
         SYNTAX               InterfaceIndex
         MAX-ACCESS           read-write
         STATUS               deprecated
         DESCRIPTION
            "Specifies the maximum number of interfaces that can
            be present in the system."
         ::= { if 1 }

      ifMaxPhysInterfaces  OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-write
         STATUS            deprecated
         DESCRIPTION
            "Specifies the maximum number of physical interfaces 
            that can be present in the system."
         ::= { if 2 }

      ifAvailableIndex     OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "Shows an ifIndex which is available for creation of
            any new virtual (non-physical) interface in the system.
            This ifIndex value can be used for creation of interfaces
            in the ifMainTable or any media-specif MIB. For creation
            of physical interfaces, any free ifIndex between 1 and
            ifMaxPhysInterfaces can be used."
         ::= { if 3 }


-- ifMainTable
-- This table is used for the management of all the interfaces in the
-- system. 
         
      ifMainTable          OBJECT-TYPE
         SYNTAX            SEQUENCE OF IfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system. 
            This table contains objects which are applicable to all
            types of interfaces in the system. This table is a 
            proprietary extension to the standard ifTable and 
            ifXTable. The index to this table has the semantics of
            the MIB-2 ifIndex."
         ::= { if 4 }

      ifMainEntry          OBJECT-TYPE
         SYNTAX            IfMainEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface."
         INDEX { ifMainIndex }
         ::= { ifMainTable 1 }

      IfMainEntry ::=
         SEQUENCE {
            ifMainIndex              InterfaceIndex,
            ifMainType               INTEGER,
            ifMainMtu                Integer32,
            ifMainAdminStatus        INTEGER,
            ifMainOperStatus         INTEGER,
            ifMainEncapType          INTEGER,
            ifMainBrgPortType         INTEGER,
            ifMainRowStatus          RowStatus,
-- #ifdef BNTGLUE_WANTED /* INCLUDE_BNT */
            ifMainPortName            DisplayString,
            ifMainLinkStateChangeCount Counter32,
-- #endif 
            ifMainVlanId             INTEGER,
            ifMainIntfIpNum          INTEGER
            }

      ifMainIndex          OBJECT-TYPE
         SYNTAX            InterfaceIndex
         MAX-ACCESS        not-accessible 
         STATUS            current
         DESCRIPTION
            "A unique value, greater than zero, for each
            interface. This object is identical to the ifIndex
            of the standard MIB-2 ifTable." 
         ::= { ifMainEntry 1 }

      ifMainType      OBJECT-TYPE
         SYNTAX       INTEGER {
                        rfc877x25(5), -- X.25
                        ethernetCsmacd(6), -- Ethernet/802.3
                        iso88025TokenRing(9), -- Token Ring
                        ppp(23), -- PPP link
                        softwareLoopback(24), -- Loopback Interface
                        frameRelay(32), -- Frame Relay DTE port
                        miox25(38), -- multiprotocol over x.25
                                    -- used for X.25 VCs
                        aal5(49), -- AAL5 over ATM
                        async(84), -- ASYNC
                        frameRelayMPI(92), -- multiprotocol
                                           -- over FR
                                           -- used for FR VCs
                                           -- and sub-interfaces
                        pppMultilinkBundle(108), -- PPP Multilink
                                                 -- Bundle
                        ipOverAtm(114), -- IPoA virtual
                        hdlc(118), -- HDLC port
                        tunnel(131), -- Encapsulation interface   
                        atmSubInterface(134), -- VCs under IPoA
                        l3ipvlan(136), -- Layer3 VLAN interface
                        mplsTunnel (150), -- MPLS Tunnel Virtual Interface
                        ieee8023ad(161), -- Link Aggregation Mib
                        mpls (166) -- MPLS
                        } -- These are the currently supported 
                          -- interfaces. More can be added at a
                          -- later time.
         MAX-ACCESS   read-create
         STATUS       current
         DESCRIPTION
            "The type/protocol of interface. Specification of
            the object is mandatory for all interfaces. This
            value should be specified after the row creation
            in the ifMainTable and before setting any other
            object in this table. Once the type is specified,
            it cannot be changed - the interface should be
            deleted for changing the type of the interface.

            The ethernetCsmacd(6), iso88025TokenRing(9), aal5(49),
            async(84) and hdlc(118) are physical interfaces while
            all other types are virtual or logical interfaces.
            
            For creation of physical interface types, it is mandatory to
            specify the handle to the device driver using the ifAlias
            object of the standard ifXTable before specifying the type.
            This handle could be something like eth1 or /dev/abcd."
         ::= { ifMainEntry 2 }

      ifMainMtu            OBJECT-TYPE
         SYNTAX            Integer32
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "The MTU for the interface as shown to the higher
            interface sub-layer (this value should not include
            the encapsulation or header added by the interface).
            If IP is operating over the interface, then this 
            value indicates the IP MTU over this interface.
            
            For changing the MTU of any interface, the interface
            must be brought down first - changing MTU while the
            interface is administratively up is not permitted.
            
            If not specified during interface creation, a default
            value is assigned based on the ifMainType given to
            the particular interface.
            
            While configuring for logical VLAN interfaces, care
            should be taken to, configure this value as the
            lowest of the MTU values of the member ports."
         ::= { ifMainEntry 3 }

      ifMainAdminStatus    OBJECT-TYPE
         SYNTAX            INTEGER {
                              up(1),   -- ready to pass packets
                              down(2),
                              testing(3)   -- in some test mode
                              }
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "The desired state of the interface. This object
            can be set only when the ifMainRowStatus of the
            interface is active. This object has the semantics
            of the ifAdminStatus of the standard ifTable.
            
            The testing(3) state indicates that no operational 
            packets can be passed - this state is not currently
            supported. 
            
            When a managed system initializes, all 
            interfaces start with ifMainAdminStatus in the
            down(2) state, it's a default state also. As a result
            of either explicit management action or per 
            configuration information retained by the managed
            system, ifMainAdminStatus is then changed to
            the up (1) state (or remains in the
            down(2) state)."
         DEFVAL { down } 
         ::= { ifMainEntry 4 }

      ifMainOperStatus     OBJECT-TYPE
         SYNTAX            INTEGER  {
                              up(1),        -- ready to pass packets
                              down(2),
                              testing(3),   -- in some test mode
                              unknown(4),   -- status can not be
                                            -- determined for
                                            -- some reason.
                              dormant(5),
                              notPresent(6), -- some component is
                                             -- missing
                              lowerLayerDown(7) -- down due to state
                                                --  of lower-layer
                                                -- interface(s).
                              }
         MAX-ACCESS        read-only
         STATUS            current
         DESCRIPTION
            "The current operational state of the interface.
            The testing (3) state indicates that no operational
            packets can be passed - this state is not supported
            currently. 
            
            If ifMainAdminStatus is down (2)
            then ifMainOperStatus would be down (2). If
            ifMainAdminStatus is changed to up (1) then
            ifMainOperStatus should change to up (1) if the
            interface is ready to transmit and receive
            work traffic; it should change to dormant (5)
            the interface is waiting for external actions
            (such as a serial line waiting for an incoming
            connection); it should change to lowerLayerDown(7)
            state if it cannot be made up as the interface sub-layer
            below it is down; it should remain in the down (2) state
            if and only if there is a fault that prevents it
            from going to the up (1) state; it should remain in
            the notPresent (6) state if the interface has
            missing (typically, hardware) components.
            
            The status unknown(4) is shown when it is not possible
            to determine the exact status of the interface - e.g.
            the interface sub-layer is performing negotiations - 
            during this period the interface is not up but at the
            same time, it is not a fault condition and hence it
            cannot be shown as down - in such periods the status
            is shown as unknown.
            
            This object has the semantics of the ifOperStatus of the
            standard ifTable."
         ::= { ifMainEntry 5 }

      ifMainEncapType         OBJECT-TYPE
         SYNTAX               INTEGER {
                                 other(1),
                                 nlpid(2), -- NLPID based encap
                                           -- in the case of FR
                                           -- and multiplexed
                                           -- NLPID encap for X.25
                                 nlpidSnap(3), -- NLPID-SNAP based
                                                -- encap in the case
                                                -- of FR and multiplexed
                                                -- NLPID-SNAP encap for
                                                -- X.25.
                                 cudNlpid(4),   -- dedicated NLPID for
                                                -- X.25 only
                                 cudNlpidSnap(5),   -- dedicated
                                                      -- NLPID-SNAP for
                                                      -- X.25 only
                                 llcSnap(6),   -- for ATM VCs only
                                 vcMultiplexed(7),  -- for ATM VCs only
                                 ethernetV2(8) -- for Ethernet interfaces
                                 }
         MAX-ACCESS           read-write
         STATUS               current
         DESCRIPTION
            "The encapsulation type to be used over the interface.

            For Ethernet interfaces, the default encapsulation
            type is ethernetV2(8). The other possible encapsulation
            is llcSnap(6). If other(1) is specified then an
            automatic encapsulation type learning method is used
            in ARP for determining the encapsulation for unicast
            destinations while the multicast and broadcast destinations
            use ethernetV2(8).

            For PPP and MLPPP interfaces, the encapsulation type can
            only be other(1) and this is the default value.

            For FR VCs, the value can be nlpid(2) (for carrying protocols
            which have NLPID) or nlpidSnap(3) (for other protocols). The
            default is nlpid(2) and the types of protocols supported are
            inferred from the stack-layering implemented over the
            interface.

            For X.25 VCs, the value can be nlpid(2) or nlpidSnap(3) 
            (where the VC can carry multiplexed protocol traffic with
            each data packet containing the NLPID or SNAP header) or
            cudNlpid(4) or cudNlpidSnap(5) (where the CUD specifies
            the NLPID of the protocol or SNAP and the data packets do
            not contain these headers - for dedicated VCs). The default 
            is cudNlpid(4).
            
            For ATM VCs, the default is llcSnap(6) but the 
            vcMultiplexed(7) encapsulation is also supported.
				
            This object is not applicable to other interfaces."
         ::= { ifMainEntry 6 }

      ifMainBrgPortType      OBJECT-TYPE
        SYNTAX      INTEGER {
                             providerNetworkPort           (1),
                             customerNetworkPortPortBased (2),
                             customerNetworkPortStagged  (3),
                             customerEdgePort              (4),
                             propCustomerEdgePort          (5),
                             propCustomerNetworkPort       (6),
                             propProviderNetworkPort       (7),
                             customerBridgePort            (8)
         }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The Bridge port type of this specified externally accessible port.
           Bridge Port type can be specified only for switch ports and not for 
           router ports.

           providerNetworkPort - Port Connected to a single Provider.
           SVLAN Classification is based on only the PVID configured for the 
           port for untagged packets.

           customerNetworkPortPortBased - Port in the S-VLAN component that 
           can transmit or received frames for single customer. 
           All packets received on this port, are mapped to one single service 
           instance identified by the PVID of that Port.
           Acceptable Port Type will be always Admit only Untagged or Priority 
           Tagged Frames on this port.

           customerNetworkPortStagged - Port in the S-VLAN component that 
           can transmit or received frames for single customer. 
           VLAN classification on this interface will be based on the S-tag 
           received or on the PVID of the port. Ingress Filtering will be 
           always enabled on this port.

           customerEdgePort - Port in a Provider Edge Bridge connected to a 
           single customer. Multiple services can be provide on this port.
           The Packets received on this interface will be first classified 
           to a CVLAN. CVLAN classification can be based on the Vid 
           in the C-Tag present in the packet (if it C-tagged packet) or from 
           the pvid of the port. Service instance selection (S-VLAN selection) 
           for a frame is done based on the entry present in the C-VID 
           registration table for the pair (C-VID, reception Port). 
           CustomerEdgePort configuration is allowed only in Provider Edge 
           Bridges.

           propCustomerEdgePort - Port connected to a single customer, where 
           multiple services can be provided based on only Proprietary SVLAN 
           classification tables. S-VLAN classification will not happen based on
           C-VID registration table on this port. propCustomerEdgePort 
           configuration is allowed only in Provider Edge Bridges.

           propCustomerNetworkPort - Port connected to a single customer, where 
           multiple service can be provided based on CVLANs by assigning one of 
           the Proprietary SVLAN classification tables to this port. The 
           services can also be assigned using other proprietary SVLAN 
           classification tables where CVLAN is not the index of the table.

           propProviderNetworkPort - Port connected to a Q-in-Q Bridge located
           inside Provider Network. This port is part of S-VLAN component. 
           If packets to be tagged and sent out of this port will have 0x8100
           as the ether type. Similarly pakcets with standard Q tag (ether type
           as 0x8100) received will be considered as S-Tagged packets. 

           customerBridgePort - Type of the port to be used in customer 
           bridges as well in Provider(Q-in-Q) bridges. This type is not valid 
           in Provider Core bridges as well as Provider Edge bridge. 
           
           In Customer bridges and in Provider Bridges only customerPort option
           is allowed.

           Bridge Port Type cannot be set for a port-channel port, if some 
           physical ports are aggregated in it.
           Also Bridge Port type cannot be set for a port, if part of a 
           port-channel.

           Whenever the Bridge port type changes, the previous configuration 
           associated with the port will be flushed.

           For example. 
           
           whenever CNP(STagged) and PNP port types are changed to any 
           other port type,
             - The unicast entries learnt on this port and 
             - The VID translation table entries associated with the port 
               will be flushed.

           Whenever CEP port type is changed to any other port type,
             - The unicast entries learnt on this port
             - The C-VID registration table entries associated with the port
             - The PEP configuration table entries
             - The service priority regeneration table entries 
             will be flushed.

             Even the vlan membership of the port will be removed when the 
             Pbport type is changed."

         DEFVAL { 8 }
         ::= { ifMainEntry 7 }

      ifMainRowStatus      OBJECT-TYPE
         SYNTAX            RowStatus
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "A RowStatus variable for addition, deletion and in-activation
            of the interfaces. Specification of the object is mandatory
            for all interfaces.
            
            When the status is active, the interface is created and
            ready to use in the respective protocol modules.
            
            When the status is notInService, the interface has not been
            registered with the respective protocol modules and as such
            those modules are not aware of the existence of the interface
            - creation is hence, incomplete. Setting an active interface
            to notInService results in de-registration/deletion of the
            interface from the respective protocol modules and all the
            configurations associated with that interface in those modules
            may be lost.
            
            Deletion of an interface, may affect the status of other
            interfaces which are layered above or below it in the Interface
            Stack (ifStackTable) and may result in other interfaces being
            made notReady or notInService."
         ::= { ifMainEntry 8 }

   
ifMainPortName  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This is used to assign a alias to a port"
    ::= { ifMainEntry 9 }

   
--#ifdef BNTGLUE_WANTED /* INCLUDE_BNT */

      ifMainLinkStateChangeCount            OBJECT-TYPE
         SYNTAX                             Counter32
         MAX-ACCESS                         read-only 
         STATUS                             current
         DESCRIPTION
            "No of Link State changes for the interface"
         ::= { ifMainEntry 11 }
--#endif  /* INCLUDE_BNT */

ifMainVlanId       OBJECT-TYPE
         SYNTAX            INTEGER
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies Vlan associated with the IP Interface"
         ::= { ifMainEntry 12 }

ifMainIntfIpNum       OBJECT-TYPE
         SYNTAX            INTEGER
         MAX-ACCESS        read-create
         STATUS            current
         DESCRIPTION
            "Specifies the Interface IP number assosiated with IP Interface"
         ::= { ifMainEntry 13 }


   
-- ifIpTable
-- This table is used for the management of the interfaces in the
-- system which are registered with IP. 
      
      ifIpTable            OBJECT-TYPE
         SYNTAX            SEQUENCE OF IfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "A list of all the interface entries in the system which
            are registered with IP.
                  
            This table contains objects which are applicable for the
            management of IP over the network interfaces
            in the system. 
               
            This table is a extension to the ifMainTable. 
            The index to this table has the semantics of
            the ifMainIndex of the ifMainTable.
                  
            Entries are created automatically in this table for
            any interface sub-layer which is layer below IP using
            the ifStackTable. Similarly, entries are deleted from
            this table when the interface's layering below IP is
            removed."
         ::= { if 5 }

      ifIpEntry            OBJECT-TYPE
         SYNTAX            IfIpEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing management information applicable
            to a particular interface over which IP is operating."
         INDEX { ifMainIndex }
         ::= { ifIpTable 1 }

      IfIpEntry ::=
         SEQUENCE {
            ifIpAddrAllocMethod  INTEGER,
            ifIpAddr             IpAddress,
            ifIpSubnetMask       IpAddress,
            ifIpBroadcastAddr    IpAddress,
            ifIpForwardingEnable  TruthValue,
            ifIpAddrAllocProtocol INTEGER
            }

      ifIpAddrAllocMethod  OBJECT-TYPE
         SYNTAX            INTEGER {
                              manual(1),  -- To be set by Manager
                              negotiation(2), -- obtained from peer
                              dynamic(3),
			      none(4)  -- none of the above
                              } -- Currently only
                                -- these method possible.
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "The mechanism to be used for allocation of IP
            address for this interface. 
            
            The value negotiation can be used only for PPP
            and MLPPP interfaces which support obtaining of
            IP addresses through negotiation.

            The dynamic(3) option takes an IP 
            address dynamically from the available 
            server (dhcp/bootp) according to the
            protocol specified in ifIpAddrAllocProtocol. 

            If the method specified is manual and the IP 
            address is not provided (then the interface   
            would be treated as a un-numbered interface."
         DEFVAL { none }
         ::= { ifIpEntry 1 }

      ifIpAddr             OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP address given to this
            interface. The specification of this object is
            mandatory for all network interfaces (Ethernet,
            FR VC, IPoA interface, PPP link - not under MP,
            MP interface and X.25 VC). If the interface is
            not a network interface then the default value
            of 0.0.0.0 is assigned and the interface is
            treated as a un-numbered interface by IP."
         DEFVAL { '00000000'H } 
         ::= { ifIpEntry 2 }

      ifIpSubnetMask       OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
            "Specifies the IP Subnet Mask for this
            interface. The value should be specified only
            for network interfaces and any valid VLSM is
            accepted. 
            
            If not specified, this object takes the default
            subnet mask value based on the class of the IP
            address configured for the interface."
         ::= { ifIpEntry 3 }

      ifIpBroadcastAddr    OBJECT-TYPE
         SYNTAX            IpAddress
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies the IP broadcast address for this
            interface. The value should be specified only
            for network interfaces and any valid broadcast
            address based on a valid VLSM is accepted. 
            
            If not specified, this object takes the default
            value based on the class of the IP
            address configured for the interface."
         ::= { ifIpEntry 4 }

      ifIpForwardingEnable OBJECT-TYPE
         SYNTAX            TruthValue
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Specifies whether IP forwarding is enable on
            this interface. Disabling IP forwarding on an
            interface will result in packets which are to
            be forwarded on that interface being dropped
            and ICMP error messages being generated for the
            packets."
         DEFVAL { true } 
         ::= { ifIpEntry 5 }

      ifIpAddrAllocProtocol  OBJECT-TYPE
         SYNTAX              INTEGER {
                                none (0),
                                dhcp(2)
                              } 
         MAX-ACCESS        read-write 
         STATUS            current
         DESCRIPTION
           "Specifies the protocol to be used to obtain
            IP address for this interface.  This object is
            valid only when ifIpAddrAllocMethod is set to
            dynamic (3)." 
         DEFVAL { dhcp }
         ::= { ifIpEntry 6 }
  
-- ifIvrTable
-- This table is used for the Inter VLAN Routing related 
-- configurations for each interface such as converting Bridged interfaces
-- to Routed interfaces and vice-versa.

      ifIvrTable              OBJECT-TYPE
         SYNTAX               SEQUENCE OF IfIvrEntry
         MAX-ACCESS           not-accessible
         STATUS               current
         DESCRIPTION
            "A list of all the interfaces in the system with IVR related
            configurations.

            This table is an extension to the ifMainTable. The index to 
            this table has the semantics of the ifMainIndex of the 
            ifMainTable."
         ::= { if 6 }

      ifIvrEntry           OBJECT-TYPE
         SYNTAX            IfIvrEntry
         MAX-ACCESS        not-accessible
         STATUS            current
         DESCRIPTION
            "An entry containing IVR-related information applicable
            to a interface."
         INDEX { ifMainIndex }
         ::= { ifIvrTable 1 }
         
      IfIvrEntry ::=
         SEQUENCE {
            ifIvrBridgedIface
               TruthValue
            }

      ifIvrBridgedIface     OBJECT-TYPE
         SYNTAX            TruthValue 
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "Indicates if this interface is a Bridged interface
            or not. 
            A value of 'TRUE' indicates that this interface is 
            a Bridged interface and is capable of performing 
            bridging of packets through this interface.
            A value of 'FALSE' indicates that this 
            interface is a Routed interface and is capable of
            performing routing of packets through this interface." 
         ::= { ifIvrEntry 1 }

       ifMaxIpInterfaces       OBJECT-TYPE
         SYNTAX               InterfaceIndex
         MAX-ACCESS           read-only
         STATUS               current
         DESCRIPTION
            "Specifies the maximum number of IP interfaces that can
            be present in the system."
         ::= { if 7 }

      ifMaxMgmInterfaces      OBJECT-TYPE
         SYNTAX               InterfaceIndex
         MAX-ACCESS           read-only
         STATUS               current
         DESCRIPTION
            "Specifies the maximum number of Mgmt interfaces that can
            be present in the system."
         ::= { if 8 }

      ifMaxLogicalInterfaces  OBJECT-TYPE
         SYNTAX               InterfaceIndex
         MAX-ACCESS           read-only
         STATUS               current 
         DESCRIPTION
            "Specifies the maximum number of logical interfaces that can
            be present in the system."
         ::= { if 9 }

-- Cfa Ff Group
-- This group defines objects for Management of the Fast Forwarding
-- feature of the CFA.

      ffCacheSize                OBJECT-TYPE
         SYNTAX                  Integer32 (10..65535)
         MAX-ACCESS              read-write
         STATUS                  deprecated 
         DESCRIPTION
            "This object permits the resizing of the Host
            Cache. This object can be changed only when
            the Fast Forwarding Mechanism is disabled.
            For changing the Cache Size, The Fast-Forwarding
            Mechanism should be disabled first (this will
            result in loss of all current entries in the 
            cache) and then enabled again after specifying
            the new size."
         ::= { ff 2 }

      ffIpChecksumValidationEnable     OBJECT-TYPE
         SYNTAX                        TruthValue
         MAX-ACCESS                    read-write
         STATUS                        deprecated 
         DESCRIPTION
            "This object permits the enabling and disabling of
            the validation of the IP Checksum for incoming 
            IP packets. Setting of this variable to TRUE(1) enables 
            the checksum validation and setting it to FALSE(2) 
            disables it."
         DEFVAL { true } 
         ::= { ff 3 }

      ffCachePurgeCount    OBJECT-TYPE
         SYNTAX            Counter32
         MAX-ACCESS        read-only
         STATUS            deprecated 
         DESCRIPTION
            "A counter which indicates the number of times the
            entries in the Host Cache Table were purged due 
            to cache overflow."
         ::= { ff 4 }

      ffCacheLastPurgeTime       OBJECT-TYPE
         SYNTAX                  TimeStamp
         MAX-ACCESS              read-only
         STATUS                  deprecated 
         DESCRIPTION
            "Indicates the SysUpTime when the last purging of
            entries in the Host Cache Table took place."
         ::= { ff 5 }

      ffStaticEntryInvalidTrapEnable   OBJECT-TYPE
         SYNTAX                        TruthValue
         MAX-ACCESS                    read-write
         STATUS                        deprecated 
         DESCRIPTION
            "Permits enabling and disabling of the generation of 
            ffStaticEntryInvalid SNMP Enterprise Trap when a static
            entry becomes invalid. When its value is TRUE(1), the 
            trap is generated when a static entry become invalid."
         DEFVAL { true } 
         ::= { ff 6 }

      ffCurrentStaticEntryInvalidCount    OBJECT-TYPE
         SYNTAX                           Counter32
         MAX-ACCESS                       read-only
         STATUS                           deprecated 
         DESCRIPTION
            "A counter which indicates the number of static
            entries in the Host Cache Table that are 
            currently invalid."
         ::= { ff 7 }

      ffTotalEntryCount                   OBJECT-TYPE
         SYNTAX                           Counter32
         MAX-ACCESS                       read-only
         STATUS                           deprecated 
         DESCRIPTION
            "A counter which indicates the total number of
            entries in the Host Cache Table."
         ::= { ff 8 }

      ffStaticEntryCount                  OBJECT-TYPE
         SYNTAX                           Counter32
         MAX-ACCESS                       read-only
         STATUS                           deprecated 
         DESCRIPTION
            "A counter which indicates the number of static
            entries in the Host Cache Table."
         ::= { ff 9 }

      ffTotalPktsFastForwarded            OBJECT-TYPE
         SYNTAX                           Counter32
         MAX-ACCESS                       read-only
         STATUS                           deprecated 
         DESCRIPTION
            "A counter which indicates the number of packets
            that were successfully fast-forwarded by the
            host cache mechanism."
         ::= { ff 10 }

-- ffTable
-- This table shows the current status of the Host Cache in the
-- system. 

      ffHostCacheTable     OBJECT-TYPE
         SYNTAX            SEQUENCE OF FfHostCacheEntry
         MAX-ACCESS        not-accessible
         STATUS            deprecated 
         DESCRIPTION
            "This table has entries corresponding to the current 
            entries in the Host Cache. The entries in this table
            can be added, deleted or modified."
         ::= { ff 11 }

      ffHostCacheEntry     OBJECT-TYPE
         SYNTAX            FfHostCacheEntry
         MAX-ACCESS        not-accessible
         STATUS            deprecated 
         DESCRIPTION
            "An Entry consisting of all the information 
            about an entry in the Host Cache."
         INDEX { ffHostCacheDestAddr }
         ::= { ffHostCacheTable 1 }

      FfHostCacheEntry ::=
         SEQUENCE {
            ffHostCacheDestAddr              IpAddress,
            ffHostCacheNextHopAddr           IpAddress,
            ffHostCacheIfIndex               InterfaceIndex,
            ffHostCacheNextHopMediaAddr      OCTET STRING,
            ffHostCacheHits                  Counter32,
            ffHostCacheLastHitTime           TimeStamp,
            ffHostCacheEntryType             INTEGER,
            ffHostCacheRowStatus             RowStatus
            }

      ffHostCacheDestAddr        OBJECT-TYPE
         SYNTAX                  IpAddress
         MAX-ACCESS              not-accessible 
         STATUS                  deprecated 
         DESCRIPTION
            "The IP address of the destination host. "
         ::= { ffHostCacheEntry 1 }

      ffHostCacheNextHopAddr     OBJECT-TYPE
         SYNTAX                  IpAddress
         MAX-ACCESS              read-create
         STATUS                  deprecated 
         DESCRIPTION
            "The IP address of the next-hop to which a packet 
            for this host are forwarded. This could be same as 
            ffHostCacheDestAddr if the next-hop is the end-host 
            as well. 
               
            When creating a static entry, this object 
            should be set with the IP address of the next-hop 
            (router) for a host which is not directly connected 
            to our system and with the IP address of the host 
            itself for a host which is directly connected to us.
               
            A set on this object for an entry whose 
            ffHostCacheEntryType is dynamic is not permitted."
         ::= { ffHostCacheEntry 2 }

      ffHostCacheIfIndex         OBJECT-TYPE
         SYNTAX                  InterfaceIndex
         MAX-ACCESS              read-create
         STATUS                  deprecated 
         DESCRIPTION
            "Identifies the MIB-2 ifIndex of the outgoing
            interface over which packets to this host are sent.
            When creating a static entry, this object should be
            set with the ifIndex of our network interface 
            for reaching the specified next-hop. 
               
            It is mandatory to specify the next-hop IP address
            using the ffHostCacheNextHopAddr before setting this
            value. The specified ifIndex should be that of an
            interface which is registered with IP.
               
            A set on this object for an entry
            whose ffHostCacheEntryType is dynamic is not 
            permitted."
         ::= { ffHostCacheEntry 3 }

      ffHostCacheNextHopMediaAddr      OBJECT-TYPE
         SYNTAX                        OCTET STRING (SIZE (0..6))
         MAX-ACCESS                    read-create
         STATUS                        deprecated 
         DESCRIPTION
            "Provides the media address of the next-hop
            to which the packet for this host is to be sent to.

            It is mandatory to specify the next-hop IP address
            and the outgoing ifIndex using the 
            ffHostCacheNextHopAddr and ffHostCacheIfIndex
            respectively before setting this value.

            This object must be specified for hosts, which are
            reached through the interfaces of ethernetCsmacd(6) 
            and iso88025TokenRing(9) type. The value for such 
            interfaces would be the MAC address as per the
            representation used for the particular media.
               
            For interfaces of type ppp(23) and 
            pppMultilinkBundle(108), this object must have the
            default value 0. 
                  
            For virtual circuit interfaces (type miox25(38) and 
            frameRelayMPI(92)), this object must have the MIB-2
            ifIndex assigned to the respective virtual circuit.
                     
            For virtual interfaces (type ipOverAtm(114) and
            frameRelay(32)), this object MAY be used to (optionally)
            specify the MIB-2 ifIndex assigned to the outgoing
            virtual circuit. If not specified the value would be
            obtained automatically from the respective modules.
            
            A set on this object for an entry whose 
            ffHostCacheEntryType is dynamic is not permitted."
         ::= { ffHostCacheEntry 4 }

      ffHostCacheHits      OBJECT-TYPE
         SYNTAX            Counter32
         MAX-ACCESS        read-only
         STATUS            deprecated 
         DESCRIPTION
            "Indicates the total number of packets fast-
            forwarded to this host."
         ::= { ffHostCacheEntry 5 }

      ffHostCacheLastHitTime     OBJECT-TYPE
         SYNTAX                  TimeStamp
         MAX-ACCESS              read-only
         STATUS                  deprecated 
         DESCRIPTION
            "Indicates the SysUpTime when the last packet
            was fast-forwarded to this host."
         ::= { ffHostCacheEntry 6 }

      ffHostCacheEntryType       OBJECT-TYPE
         SYNTAX                  INTEGER {
                                    static(1),
                                    dynamic (2)
                                    }
         MAX-ACCESS              read-create
         STATUS                  deprecated 
         DESCRIPTION
            "An object, which indicates the type of this Host Cache 
            entry. 
               
            A static entry is an entry created by the Network 
            Manager and is not purged by the system. Such entries
            would be invalidated due to route or other changes
            but will continue to remain in the Host Cache.
               
            Dynamic entries are those entries which have been learnt by 
            the system and which can be purged in the event of 
            a cache overflow or invalidation due to route or other
            changes. 
               
            All entries created through SNMP must set this object to 
            static otherwise." 
         DEFVAL { static } 
         ::= { ffHostCacheEntry 7 }

      ffHostCacheRowStatus       OBJECT-TYPE
         SYNTAX                  RowStatus
         MAX-ACCESS              read-create
         STATUS                  deprecated 
         DESCRIPTION
            "A RowStatus object for addition/deletion of Host
            Cache entries. It also indicates the status of the
            entry. 
               
            Set action is not allowed for notInService(2). An entry,
            which has become invalid due to a route failure or 
            address resolution failure, would have the status 
            'notInService'. 
               
            An entry for a host for which the link layer 
            information can be cached but the information is 
            not currently available would have the status 'notReady'.
               
            All active entries with all possible information 
            complete would have the value 'active'."
         ::= { ffHostCacheEntry 8 }


-- Cfa Fm Group
-- This group defines objects for Fault Management features.

      fmMemoryResourceTrapEnable    OBJECT-TYPE
         SYNTAX                     TruthValue
         MAX-ACCESS                 read-write
         STATUS                     deprecated 
         DESCRIPTION
            "Permits the enabling and disabling of 
            fmLowMemoryResource Trap when a memory 
            allocation failure is encountered in the 
            module."
         DEFVAL { true }
         ::= { fm 1 }

      fmTimersResourceTrapEnable    OBJECT-TYPE
         SYNTAX                     TruthValue
         MAX-ACCESS                 read-write
         STATUS                     deprecated 
         DESCRIPTION
            "Permits the enabling and disabling of 
            fmLowTimerResource Trap when a request 
            for a timer fails in the module."
         DEFVAL { true }
         ::= { fm 2 }
 
      fmTracingEnable           OBJECT-TYPE
         SYNTAX                 Integer32
         MAX-ACCESS             read-write
         STATUS                 deprecated 
         DESCRIPTION
            "Permits the enabling and disabling of 
            the generation of the log/trace messages
            throughout the module. This object acts
            as a Tracing Level Flag and specifies
            the level of trace or log to be enabled in 
            the module."
         DEFVAL { 0 }
         ::= { fm 3 }

      fmMemAllocFailCount    OBJECT-TYPE
         SYNTAX              Counter32
         MAX-ACCESS          read-only
         STATUS              current
         DESCRIPTION
            "Maintains a count of the number of times
            when a failure was encountered while memory
            allocation operation in the module."
         ::= { fm 4 }

      fmTimerReqFailCount    OBJECT-TYPE
         SYNTAX              Counter32
         MAX-ACCESS          read-only
         STATUS              current
         DESCRIPTION
            "Maintains a count of the number of times
            when a failure was encountered while requesting
            a timer in the module."
         ::= { fm 5 }


  -- Notifications or Traps

      trapPrefix  OBJECT IDENTIFIER ::= { traps 0 }

      fmLowTimerResource       NOTIFICATION-TYPE
         OBJECTS {
            fmTimerReqFailCount   
            }
         STATUS                    deprecated 
         DESCRIPTION
            "This trap is generated whenever there is a failure in
            a timer related operation in the module.
               
            This trap is generated only when the value of the 
            fmTimersResouceTrapEnable object is TRUE(1)."
         ::= { trapPrefix 1 }

      fmLowBufferResource         NOTIFICATION-TYPE
         OBJECTS {
            fmMemAllocFailCount
            }
         STATUS                  deprecated 
         DESCRIPTION
            "This trap is generated when a memory allocation 
            failure occurs in the module. This 
            trap is generated only when the value of the 
            fmMemoryResourceTrapEnable object is TRUE(1)."
         ::= { trapPrefix 2 }

      ffStaticEntryInvalid       NOTIFICATION-TYPE
         OBJECTS {
            ffHostCacheIfIndex,
            ffHostCacheEntryType 
            }
         STATUS                  deprecated 
         DESCRIPTION
            "This trap is generated when a static entry
            in the ffHostCacheTable becomes invalid
            due to a route deletion or address resolution failure. This 
            trap is generated only when the value of the 
            ffStaticEntryInvalidTrapEnable object is TRUE (1)."
         ::= { trapPrefix 3 }

-- ----------------------------------------------------------------------------
-- } INSERT: cfa
-- ----------------------------------------------------------------------------


bosrmon                 OBJECT IDENTIFIER ::= { ex2500 44 }
-- ----------------------------------------------------------------------------
-- { INSERT: rmon
-- ----------------------------------------------------------------------------

-- BosRmon Trace enable/disable object
 
         rmonDebugType OBJECT-TYPE
              SYNTAX  Unsigned32 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled debug flag for rmon"

         ::=  { bosrmon  1 }
        
-- BosRmon enable/disable status object
 
         rmonEnableStatus OBJECT-TYPE
              SYNTAX  INTEGER { rmonenabled(1), rmondisabled(2) } 
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the rmonenable flag for rmon" 

         ::=  { bosrmon  2 }
-- BosRmon  stats supported object
 
      rmonHwStatsSupp OBJECT-TYPE

              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the flag for whether HW supports
                   Etherstatistics or not   "

         ::=  { bosrmon  3 }

-- BosRmon  HW history supported object

 
         rmonHwHistorySupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWhistorysupp flag for rmon"

         ::=  { bosrmon  4 }


-- BosRmon HWalarmsupported object
 
         rmonHwAlarmSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWAlarmsupp flag for rmon"

         ::=  { bosrmon  5 }

-- BosRmon  HWHostsupported object
 
         rmonHwHostSupp OBJECT-TYPE

              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWhostsupp flag for rmon"

         ::=  { bosrmon  6 }

-- BosRmon  HW hosttopN supported object
 
         rmonHwHostTopNSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWHostTopN flag for rmon"

         ::=  { bosrmon  7 }

-- BosRmon  HW matrix supported object
 
         rmonHwMatrixSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWMatrix flag for rmon"

         ::=  { bosrmon  8 }

-- BosRmon  HW Event supported object
 
         rmonHwEventSupp OBJECT-TYPE
              SYNTAX  INTEGER { notsupported(0), supported(1)}
              MAX-ACCESS read-write
              STATUS current
              DESCRIPTION
		  "This object defines the enabled HWEvent flag for rmon"

         ::=  { bosrmon  9 }

-- ----------------------------------------------------------------------------
-- } INSERT: rmon
-- ----------------------------------------------------------------------------

bosla                  OBJECT IDENTIFIER ::= { ex2500 62 }
-- ----------------------------------------------------------------------------
-- { INSERT: la
-- ----------------------------------------------------------------------------
-- ------------------------------------------------------------
-- groups in the MIB
-- ------------------------------------------------------------

      bosLaTrunkgroup        OBJECT IDENTIFIER ::= { bosla 1 }
      bosLaTrunkGroupInfo    OBJECT IDENTIFIER ::= { bosla 2 }
      bosLaLacp              OBJECT IDENTIFIER ::= { bosla 3 }
      bosLaLacpStats         OBJECT IDENTIFIER ::= { bosla 4 }
      bosLaLacpInfo          OBJECT IDENTIFIER ::= { bosla 5 }
      bosLaThashL2           OBJECT IDENTIFIER ::= { bosla 6 }
-- ------------------------------------------------------------------

-- Trunk Group Group
bosLaTrunkGroupTableMaxSize OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The maximum number of entries in trunk group table."
    ::= { bosLaTrunkgroup 1 }


bosLaTrunkGroupCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosLaTrunkGroupCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of trunk group configuration."
    ::= { bosLaTrunkgroup 2 }

bosLaTrunkGroupCfgTableEntry OBJECT-TYPE
    SYNTAX  BosLaTrunkGroupCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the trunk group configuration table."
    INDEX   { bosLaTrunkGroupCfgIndex }
    ::= { bosLaTrunkGroupCfgTable 1 }

BosLaTrunkGroupCfgTableEntry ::= 
    SEQUENCE {
    bosLaTrunkGroupCfgIndex          InterfaceIndex,
    bosLaTrunkGroupCfgPorts          OCTET STRING,
    bosLaTrunkGroupCfgAddPort        Integer32,
    bosLaTrunkGroupCfgRemovePort     Integer32,
    bosLaTrunkGroupCfgState          INTEGER,
    bosLaTrunkGroupCfgDelete         INTEGER
    }
 
bosLaTrunkGroupCfgIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex 
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The identifier of the trunk group."
    ::= { bosLaTrunkGroupCfgTableEntry 1 }
 
bosLaTrunkGroupCfgPorts OBJECT-TYPE
    SYNTAX  OCTET STRING
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The port list in the trunk group.  The ports are presented
         in bitmap format.

         in receiving order:

             OCTET 1  OCTET 2  .....
             xxxxxxxx xxxxxxxx ..... 
             ||    || |_ port 8
             ||    ||  
             ||    ||___ port 7
             ||    |____ port 6
             ||      .    .   .
             ||_________ port 1
             |__________ reserved
 
         where x : 1 - The represented port belongs to the trunk group
                   0 - The represented port does not belong to the trunk group"
    ::= { bosLaTrunkGroupCfgTableEntry 2 }
 
bosLaTrunkGroupCfgAddPort OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The port to be added in the trunk group. When read, 0 is returned."
    ::= { bosLaTrunkGroupCfgTableEntry 3 }

bosLaTrunkGroupCfgRemovePort OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The port to be deleted from the trunk group. when read, 0
     is returned."
    ::= { bosLaTrunkGroupCfgTableEntry 4 }

bosLaTrunkGroupCfgState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "Enable or disable a trunk group."
    ::= { bosLaTrunkGroupCfgTableEntry 5 }
 
bosLaTrunkGroupCfgDelete OBJECT-TYPE
    SYNTAX  INTEGER  {
        other(1),
        delete(2)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "Setting the value to delete(2) will delete the entire
         row. When read, other(1) is returned."
    ::= { bosLaTrunkGroupCfgTableEntry 6 }



-- Trunk Group Information

bosLaTrunkGroupInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaTrunkGroupInfoTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of trunk group information."
    ::= { bosLaTrunkGroupInfo 1 }

bosLaTrunkGroupInfoTableEntry OBJECT-TYPE
    SYNTAX BosLaTrunkGroupInfoTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in trunk group information table."
    INDEX { bosLaTrunkGroupInfoIndex }
    ::= { bosLaTrunkGroupInfoTable 1 }

BosLaTrunkGroupInfoTableEntry ::= SEQUENCE {
    bosLaTrunkGroupInfoIndex       InterfaceIndex,
    bosLaTrunkGroupInfoState       INTEGER,
    bosLaTrunkGroupInfoProtocol    INTEGER,
    bosLaTrunkGroupInfoPorts       OCTET STRING
    }

bosLaTrunkGroupInfoIndex OBJECT-TYPE
    SYNTAX  InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The identifier of the trunk group."
    ::= { bosLaTrunkGroupInfoTableEntry 1 }

bosLaTrunkGroupInfoState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enabled(1),
        disabled(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Trunk group state."
    ::= { bosLaTrunkGroupInfoTableEntry 2 }

bosLaTrunkGroupInfoProtocol OBJECT-TYPE
    SYNTAX  INTEGER  {
        none(0),
        static(1),
        lacp(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Trunk group protocol
         None - Neither static nor lacp 
         Static - static trunk group
         Lacp - dynamic trunk group"
    ::= { bosLaTrunkGroupInfoTableEntry 3 }

bosLaTrunkGroupInfoPorts OBJECT-TYPE
    SYNTAX  OCTET STRING
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The port list in the trunk group. The ports are presented in
         bitmap format.

         in receiving order:

             OCTET 1  OCTET 2  .....
             xxxxxxxx xxxxxxxx .....
             ||    || |_ port 8
             ||    ||
             ||    ||___ port 7
             ||    |____ port 6
             ||      .    .   .
             ||_________ port 1
             |__________ reserved

         where x : 1 - The represented port belongs to the trunk group
                   0 - The represented port does not belong to the trunk group"
    ::= { bosLaTrunkGroupInfoTableEntry 4 }


bosLaTrunkGroupInfoPortTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosLaTrunkGroupInfoPortTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of Trunk Group Info."
    ::= {bosLaTrunkGroupInfo 2 }

bosLaTrunkGroupInfoPortTableEntry OBJECT-TYPE
    SYNTAX  BosLaTrunkGroupInfoPortTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the Trunk Info table."
    INDEX  { bosLaTrunkGroupInfoPortTrunkId, bosLaTrunkGroupInfoPortPortId, bosLaTrunkGroupInfoPortInstId }
    ::= { bosLaTrunkGroupInfoPortTable 1 }

BosLaTrunkGroupInfoPortTableEntry ::= SEQUENCE {
    bosLaTrunkGroupInfoPortTrunkId   InterfaceIndex,
    bosLaTrunkGroupInfoPortPortId    InterfaceIndex,
    bosLaTrunkGroupInfoPortInstId    Integer32,
    bosLaTrunkGroupInfoPortStatus    INTEGER
    }

bosLaTrunkGroupInfoPortTrunkId OBJECT-TYPE
    SYNTAX  InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The Trunk identifier."
    ::= { bosLaTrunkGroupInfoPortTableEntry 1 }

bosLaTrunkGroupInfoPortPortId OBJECT-TYPE
    SYNTAX  InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The Port identifier."
    ::= { bosLaTrunkGroupInfoPortTableEntry 2 }

bosLaTrunkGroupInfoPortInstId OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The Spanning Tree Group identifier."
    ::= { bosLaTrunkGroupInfoPortTableEntry 3 }

bosLaTrunkGroupInfoPortStatus OBJECT-TYPE
    SYNTAX  INTEGER{
        down(0),
        blocking(1),
        forwarding(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The Port Status."
    ::= { bosLaTrunkGroupInfoPortTableEntry 4 }


-- Link Aggregation Control Protocol Group
bosLaLacpSystemPriority OBJECT-TYPE
    SYNTAX  Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "A 2-octet read-write value indicating the priority
        value associated with the Actor's System ID."
    ::= { bosLaLacp 1 }

bosLaLacpSystemTimeoutTime OBJECT-TYPE
    SYNTAX  INTEGER  {
        short(3),
        long(90)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "If a port does not receive LACPDUs for Timeout time LACP 
         information pertaining to the port is invalidated.
         Its every 3 sec (short) and every 90 sec (long 3)."
    ::= { bosLaLacp 2 }

bosLaLacpPortCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosLaLacpPortCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of LACP port configuration."
    ::= { bosLaLacp 3 }

bosLaLacpPortCfgTableEntry OBJECT-TYPE
    SYNTAX  BosLaLacpPortCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the LACP port configuration table."
    INDEX  { bosLaLacpPortCfgTableId }
    ::= { bosLaLacpPortCfgTable 1 }

BosLaLacpPortCfgTableEntry ::= SEQUENCE {
    bosLaLacpPortCfgTableId       InterfaceIndex,
    bosLaLacpPortState                INTEGER, 
    bosLaLacpPortActorPortPriority    Integer32, 
    bosLaLacpPortActorAdminKey        Integer32,
    bosLaLacpPortStaticTrunkId         Integer32 
    }

bosLaLacpPortCfgTableId OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
          " LACP port number."
    ::= { bosLaLacpPortCfgTableEntry 1 }

bosLaLacpPortState OBJECT-TYPE
    SYNTAX  INTEGER  {
        off(1),
        active(2),
        passive(3)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "LACP port state can be one of three states 
         off (Not participating in LACP) 
         Active (Initiates LACPDU updates)
         Passive (Does not initiate LACPDU updates but responds to peer."
    ::= { bosLaLacpPortCfgTableEntry 2 }

bosLaLacpPortActorPortPriority OBJECT-TYPE
    SYNTAX       Integer32 (1..65535)
    MAX-ACCESS       read-write
    STATUS       current
    DESCRIPTION
        "The priority value assigned to this Aggregation Port.
        This 16-bit value is read-write."
    ::= { bosLaLacpPortCfgTableEntry 3 }

bosLaLacpPortActorAdminKey OBJECT-TYPE
    SYNTAX       Integer32 (1..65535)
    MAX-ACCESS       read-write
    STATUS       current
    DESCRIPTION
        "The current administrative value of the Key for the
        Aggregation Port. This is a 16-bit read-write value.
        The meaning of particular Key values is of local
        significance.
        
        By default, port index itself is the key. That is default
	key for port 1 is 1, port 2 is 2..."
    ::= { bosLaLacpPortCfgTableEntry 4 }

bosLaLacpPortStaticTrunkId OBJECT-TYPE
    SYNTAX     Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
          "This object specifies the static lacp id of the port. Its value
          can be <0- Max number of static port channels>.

          '0' means the port is no longer in static lacp. Value 0 can be
          configured only if the port's lacp mode is off.

          If the value is non-zero,then the configured value is the static
          lacp trunk Id of the port.

          If a port is to be configured in static lacp, this mib object needs
          to be configured before configuring the admin key 
          (bosLaLacpPortActorAdminKey). This object need to be set only if 
          the port is to be configured in static lacp.
          "

    ::={bosLaLacpPortCfgTableEntry 5 }


-- LACP Statistics

bosLaLacpStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaLacpStatsTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of LACP Stats."
    ::= {bosLaLacpStats 1}

bosLaLacpStatsTableEntry OBJECT-TYPE
    SYNTAX BosLaLacpStatsTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Lacp status info."
    INDEX { lacpStatsIndex }
    ::= { bosLaLacpStatsTable 1 }

BosLaLacpStatsTableEntry ::= SEQUENCE {
   lacpStatsIndex InterfaceIndex,
   lacpdusRx Integer32,
   markerpdusRx Integer32,
   markerresponsepdusRx Integer32,
   unknownRx Integer32,
   illegalRx Integer32,
   lacpdusTx Integer32,
   markerpdusTx Integer32,
   markerresponsepdusTx Integer32,
   lacpClearStats INTEGER
}

lacpStatsIndex OBJECT-TYPE
  SYNTAX InterfaceIndex
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
    "Index"
  ::= {bosLaLacpStatsTableEntry 1}

lacpdusRx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Valid LACPDUs received"
  ::= {bosLaLacpStatsTableEntry 2}

markerpdusRx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Valid Marker PDUs received"
  ::= {bosLaLacpStatsTableEntry 3}

markerresponsepdusRx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Valid Marker Rsp PDUs received"
  ::= {bosLaLacpStatsTableEntry 4}

unknownRx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Unknown version/TLV type"
  ::= {bosLaLacpStatsTableEntry 5}

illegalRx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Illegal subtype received"
  ::= {bosLaLacpStatsTableEntry 6}

lacpdusTx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "LACPDUs transmitted"
  ::= {bosLaLacpStatsTableEntry 7}

markerpdusTx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Market PDUs transmitted"
  ::= {bosLaLacpStatsTableEntry 8}

markerresponsepdusTx OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
    "Marker Rsp PDUs transmitted "
  ::= {bosLaLacpStatsTableEntry 9}

lacpClearStats  OBJECT-TYPE
    SYNTAX  INTEGER {
        ok(1),
        clear(2)
        }
    MAX-ACCESS  read-write
    STATUS  current 
    DESCRIPTION 
        "Setting this to clear(2) results in clearing the LACP statistics."
    ::= { bosLaLacpStatsTableEntry 10 }



-- MIB Objects :
-- LACP information

bosLaLacpInfoAggrTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaLacpInfoAggrTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of LACP aggregator information."
    ::= { bosLaLacpInfo 1 }

bosLaLacpInfoAggrTableEntry OBJECT-TYPE
    SYNTAX BosLaLacpInfoAggrTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about a LACP aggregator."
    INDEX { bosLaLacpInfoAggrIndex }
    ::= { bosLaLacpInfoAggrTable 1 }

BosLaLacpInfoAggrTableEntry ::= SEQUENCE {
    bosLaLacpInfoAggrIndex           InterfaceIndex,
    bosLaLacpInfoAggrId      Integer32,
    bosLaLacpInfoAggrMac     MacAddress,
    bosLaLacpInfoAggrActSysPrio  Integer32,
    bosLaLacpInfoAggrActSysId    MacAddress,
    bosLaLacpInfoAggrIndivState  INTEGER,
    bosLaLacpInfoAggrActAdminKey Integer32,
    bosLaLacpInfoAggrActOperKey  Integer32,
    bosLaLacpInfoAggrPartSysPrio Integer32,
    bosLaLacpInfoAggrPartSysId   MacAddress,
    bosLaLacpInfoAggrPartOperKey Integer32,
    bosLaLacpInfoAggrReadyState  INTEGER,
    bosLaLacpInfoAggrNumPorts    Integer32,
    bosLaLacpInfoAggrPorts       DisplayString
    }

bosLaLacpInfoAggrIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The aggregator identifier."
    ::= { bosLaLacpInfoAggrTableEntry 1 }

bosLaLacpInfoAggrId OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The aggregator identifier."
    ::= { bosLaLacpInfoAggrTableEntry 2 }

bosLaLacpInfoAggrMac OBJECT-TYPE 
    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 6-octet read-only value carrying the individual
       MAC address assigned to the Aggregator."
    ::= { bosLaLacpInfoAggrTableEntry 3 }

bosLaLacpInfoAggrActSysPrio OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 2-octet read-only value indicating the priority
        value associated with the Actor's System ID."
    ::= { bosLaLacpInfoAggrTableEntry 4 }

bosLaLacpInfoAggrActSysId OBJECT-TYPE 
    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 6-octet read-only MAC address value used as a unique
        identifier for the System that contains this Aggregator"
    ::= { bosLaLacpInfoAggrTableEntry 5 }

bosLaLacpInfoAggrIndivState OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A read-only value indicating whether the
        Aggregator represents an Aggregate (`TRUE') or
        an Individual link (`FALSE')."
    ::= { bosLaLacpInfoAggrTableEntry 6 }

bosLaLacpInfoAggrActAdminKey OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current administrative value of the Key for the
        Aggregator."
    ::= { bosLaLacpInfoAggrTableEntry 7 }

bosLaLacpInfoAggrActOperKey OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current operational value of the Key for the
        Aggregator."
    ::= { bosLaLacpInfoAggrTableEntry 8 }

bosLaLacpInfoAggrPartSysPrio OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 2-octet read-only value that indicates the priority
        value associated with the Partner's System ID. If the
        aggregation is manually configured, this System Priority
        value will be a value assigned by the local System."
    ::= { bosLaLacpInfoAggrTableEntry 9 }

bosLaLacpInfoAggrPartSysId OBJECT-TYPE 
    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 6-octet read-only MAC address value consisting of the
        unique identifier for the current protocol Partner of
        this Aggregator. A value of zero indicates that there is
        no known Partner. If the aggregation is manually
        configured, this System ID value will be a value
        assigned by the local System."
    ::= { bosLaLacpInfoAggrTableEntry 10 }

bosLaLacpInfoAggrPartOperKey OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current operational value of the Key for the
        Aggregator's current protocol Partner. This is a 16-bit
        read-only value. If the aggregation is manually
        configured, this Key value will be a value assigned by
        the local System."
    ::= { bosLaLacpInfoAggrTableEntry 11 }

bosLaLacpInfoAggrReadyState OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Aggregation Ready State"
    ::= { bosLaLacpInfoAggrTableEntry 12 }

bosLaLacpInfoAggrNumPorts OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Number of ports configured in the aggregator"
    ::= { bosLaLacpInfoAggrTableEntry 13 }

bosLaLacpInfoAggrPorts OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Ports configured in aggregator"
    ::= { bosLaLacpInfoAggrTableEntry 14 }


bosLaLacpInfoPort OBJECT IDENTIFIER ::= { bosLaLacpInfo 2 }

bosLaLacpInfoPortGeneralTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaLacpInfoPortGeneralTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of LACP port general information."
    ::= { bosLaLacpInfoPort 1 }

bosLaLacpInfoPortGeneralTableEntry OBJECT-TYPE
    SYNTAX BosLaLacpInfoPortGeneralTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "General information about a LACP port."
    INDEX { bosLaLacpInfoPortGeneralIndex }
    ::= { bosLaLacpInfoPortGeneralTable 1 }

BosLaLacpInfoPortGeneralTableEntry ::= SEQUENCE {
    bosLaLacpInfoPortGeneralIndex        InterfaceIndex,
    bosLaLacpInfoPortLacpEna         INTEGER,
    bosLaLacpInfoPortAdminEna        INTEGER,
    bosLaLacpInfoPortActSysId        MacAddress,
    bosLaLacpInfoPortActSysPrio      Integer32,
    bosLaLacpInfoPortActAdminKey         Integer32,
    bosLaLacpInfoPortActOperKey      Integer32,
    bosLaLacpInfoPortActPortNum      Integer32,
    bosLaLacpInfoPortActPortPrio         Integer32,
    bosLaLacpInfoPortIndivState      INTEGER,
    bosLaLacpInfoSelAggrId           Integer32,
    bosLaLacpInfoAttAggrId           Integer32,
    bosLaLacpInfoPortReadyN          INTEGER,
    bosLaLacpInfoPortNtt             INTEGER,
    bosLaLacpInfoPortSelected        INTEGER,
    bosLaLacpInfoPortRxState         DisplayString, 
    bosLaLacpInfoPortMuxState        DisplayString,
    bosLaLacpInfoPortTrunkType       INTEGER
    }

bosLaLacpInfoPortGeneralIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The port identifier."
    ::= { bosLaLacpInfoPortGeneralTableEntry 1 }

bosLaLacpInfoPortLacpEna OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Value indicating whether lacp is enabled (1) or disabled
         (2) on this port"
    ::= { bosLaLacpInfoPortGeneralTableEntry 2 }

bosLaLacpInfoPortAdminEna OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Value indicating whether the port is enabled (1) or disabled
         (2)"
    ::= { bosLaLacpInfoPortGeneralTableEntry 3 }

bosLaLacpInfoPortActSysId OBJECT-TYPE
    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 6-octet read-only MAC address value that defines the
        value of the System ID for the System that contains this
        Aggregation Port."
    ::= { bosLaLacpInfoPortGeneralTableEntry 4 }

bosLaLacpInfoPortActSysPrio OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 2-octet read-only value used to define the priority
        value associated with the Actor's System ID."
    ::= { bosLaLacpInfoPortGeneralTableEntry 5 }

bosLaLacpInfoPortActAdminKey OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current administrative value of the Key for the
        Aggregation Port."
    ::= { bosLaLacpInfoPortGeneralTableEntry 6 }

bosLaLacpInfoPortActOperKey OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current operational value of the Key for the
        Aggregation Port."
    ::= { bosLaLacpInfoPortGeneralTableEntry 7 }

bosLaLacpInfoPortActPortNum OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The ifIndex of the port"
    ::= { bosLaLacpInfoPortGeneralTableEntry 8 }

bosLaLacpInfoPortActPortPrio OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current administrative value of the port priority
        for the port"
    ::= { bosLaLacpInfoPortGeneralTableEntry 9 }

bosLaLacpInfoPortIndivState OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        " read-only value indicating whether the
        Aggregation Port is able to Aggregate (`TRUE') or is
        only able to operate as an Individual link (`FALSE')."
    ::= { bosLaLacpInfoPortGeneralTableEntry 10 }

bosLaLacpInfoSelAggrId OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The identifier value of the Aggregator that this
        Aggregation Port has currently selected. Zero indicates
        that the Aggregation Port has not selected an
        Aggregator, either because it is in the process of
        detaching from an Aggregator or because there is no
        suitable Aggregator available for it to select.
        This value is read-only."
    ::= { bosLaLacpInfoPortGeneralTableEntry 11 }

bosLaLacpInfoAttAggrId OBJECT-TYPE 
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The identifier value of the Aggregator that this
        Aggregation Port is currently attached to. Zero
        indicates that the Aggregation Port is not currently
        attached to an Aggregator.  This value is read-only."
    ::= { bosLaLacpInfoPortGeneralTableEntry 12 }

bosLaLacpInfoPortReadyN OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "True value for Ready_N flag indicates that the wait while timer 
         has expired and it is waiting to attach to an aggregator. 
         There is one Ready_N value for each port."
    ::= { bosLaLacpInfoPortGeneralTableEntry 13 }

bosLaLacpInfoPortNtt OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Need to transmit flag. True indicates that there is new protocol 
         information that should be transmitted on the link."
    ::= { bosLaLacpInfoPortGeneralTableEntry 14 }

bosLaLacpInfoPortSelected OBJECT-TYPE
    SYNTAX  INTEGER {
        selected(1),
        unselected(2),
        standby(3)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Selected flag value indicates that the selection logic has selected
         an appropriate Aggregator. A value of unselected indicates that no 
         aggregator is currently selected. A value of standby indicates that
         although the selection logic has selected an appropriate Aggregator,
         aggregation restrictions currently precent the port from being 
         enabled as part of the aggregation, and so the port is being held
         in standby condition." 
    ::= { bosLaLacpInfoPortGeneralTableEntry 15 }


bosLaLacpInfoPortRxState OBJECT-TYPE 
    SYNTAX  DisplayString 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Receive machine state of the port"
    ::= { bosLaLacpInfoPortGeneralTableEntry 16 }

bosLaLacpInfoPortMuxState OBJECT-TYPE 
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Mux machine state of the port"
    ::= { bosLaLacpInfoPortGeneralTableEntry 17 }

bosLaLacpInfoPortTrunkType OBJECT-TYPE
    SYNTAX  INTEGER {
                    static(0),
                    dynamic(1)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "This read-only object is used to display whether the port participates
    in dynamic lacp or static lacp. The default value is dynamic lacp.
       static(0)      - The port is involved only in static aggregation.
                        i.e. the port can be a member of only the
                        aggregation to which it is configured.
       dynamic(1)     - The port participates in dynamic aggregation
                        selection. i.e. the port will be a part of best
                        aggregation selected based on System id and Admin
                        key.
     This object is set to 'static' once the port's static lacp id is
     configured"
    ::={ bosLaLacpInfoPortGeneralTableEntry 18 }


bosLaLacpInfoPortAdminTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaLacpInfoPortAdminTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of LACP port admin information."
    ::= { bosLaLacpInfoPort 2 }

bosLaLacpInfoPortAdminTableEntry OBJECT-TYPE
    SYNTAX BosLaLacpInfoPortAdminTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Admin information about a LACP port."
    INDEX { bosLaLacpInfoPortAdminIndex }
    ::= { bosLaLacpInfoPortAdminTable 1 }

BosLaLacpInfoPortAdminTableEntry ::= SEQUENCE {
    bosLaLacpInfoPortAdminIndex      InterfaceIndex,
    bosLaLacpInfoPortActAdPortState      DisplayString,
    bosLaLacpInfoPortActAdActiv      INTEGER,
    bosLaLacpInfoPortActAdSync       INTEGER,
    bosLaLacpInfoPortActAdDef        INTEGER,
    bosLaLacpInfoPortActAdTimeout        INTEGER,
    bosLaLacpInfoPortActAdColl       INTEGER,
    bosLaLacpInfoPortActAdExp        INTEGER,
    bosLaLacpInfoPortActAdAggr       INTEGER,
    bosLaLacpInfoPortActAdDist       INTEGER
    }

bosLaLacpInfoPortAdminIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The port identifier."
    ::= { bosLaLacpInfoPortAdminTableEntry 1 }


bosLaLacpInfoPortActAdPortState OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The state of Actor Administrator Port. This is a octet mask
         with the following bits: Activity, Synchronization, Defaulted, 
         Timeout, Collecting, Expired, Aggregation and Distributing.
         If all of them are 0 then the state is showed as 0x0, else it is
         displayed a blank state which mean is not a NULL state"
    ::= { bosLaLacpInfoPortAdminTableEntry 7 }

bosLaLacpInfoPortActAdActiv OBJECT-TYPE
    SYNTAX  INTEGER {
        active(1),
        passive(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates lacp activity(active/passive))"
    ::= { bosLaLacpInfoPortAdminTableEntry 8 }

bosLaLacpInfoPortActAdSync OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Synchronization"
    ::= { bosLaLacpInfoPortAdminTableEntry 9 }

bosLaLacpInfoPortActAdDef OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Defaulted state"
    ::= { bosLaLacpInfoPortAdminTableEntry 10 }

bosLaLacpInfoPortActAdTimeout OBJECT-TYPE 
    SYNTAX  INTEGER {
        short(1),
        long(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Timeout"
    ::= { bosLaLacpInfoPortAdminTableEntry 11 }

bosLaLacpInfoPortActAdColl OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Collecting state"
    ::= { bosLaLacpInfoPortAdminTableEntry 12 }

bosLaLacpInfoPortActAdExp OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Expired state"
    ::= { bosLaLacpInfoPortAdminTableEntry 13 }

bosLaLacpInfoPortActAdAggr OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Aggregating state"
    ::= { bosLaLacpInfoPortAdminTableEntry 14 }

bosLaLacpInfoPortActAdDist OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This value indicates Distributing state"
    ::= { bosLaLacpInfoPortAdminTableEntry 15 }



bosLaLacpInfoPortOperTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosLaLacpInfoPortOperTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of LACP port oper information."
    ::= { bosLaLacpInfoPort 3 }

bosLaLacpInfoPortOperTableEntry OBJECT-TYPE
    SYNTAX BosLaLacpInfoPortOperTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Oper information about a LACP port."
    INDEX { bosLaLacpInfoPortOperIndex }
    ::= { bosLaLacpInfoPortOperTable 1 }

BosLaLacpInfoPortOperTableEntry ::= SEQUENCE {
    bosLaLacpInfoPortOperIndex       InterfaceIndex,
    bosLaLacpInfoPortPartOpSysPrio       Integer32,
    bosLaLacpInfoPortPartOpSysId         MacAddress,
    bosLaLacpInfoPortPartOpKey       Integer32,
    bosLaLacpInfoPortPartOpPortNum       Integer32,
    bosLaLacpInfoPortPartOpPortPrio      Integer32,
    bosLaLacpInfoPortActOpPortState      DisplayString,
    bosLaLacpInfoPortActOpActiv      INTEGER,
    bosLaLacpInfoPortActOpSync       INTEGER,
    bosLaLacpInfoPortActOpDef        INTEGER,
    bosLaLacpInfoPortActOpTimeout        INTEGER,
    bosLaLacpInfoPortActOpColl       INTEGER,
    bosLaLacpInfoPortActOpExp        INTEGER,
    bosLaLacpInfoPortActOpAggr       INTEGER,
    bosLaLacpInfoPortActOpDist       INTEGER,
    bosLaLacpInfoPortPartOpPortState     DisplayString,
    bosLaLacpInfoPortPartOpActiv         INTEGER,
    bosLaLacpInfoPortPartOpSync      INTEGER,
    bosLaLacpInfoPortPartOpDef       INTEGER,
    bosLaLacpInfoPortPartOpTimeout       INTEGER,
    bosLaLacpInfoPortPartOpColl      INTEGER,
    bosLaLacpInfoPortPartOpExp       INTEGER,
    bosLaLacpInfoPortPartOpAggr      INTEGER,
    bosLaLacpInfoPortPartOpDist      INTEGER 
    }

bosLaLacpInfoPortOperIndex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The port identifier."
    ::= { bosLaLacpInfoPortOperTableEntry 1 }

bosLaLacpInfoPortPartOpSysPrio OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 2-octet read-write value used to define the
         value of priority associated with the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 2 }

bosLaLacpInfoPortPartOpSysId OBJECT-TYPE
    SYNTAX  MacAddress
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "A 6-octet read-only MAC address value that defines the
        value of the System ID for the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 3 }

bosLaLacpInfoPortPartOpKey OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Lacp Key associated with the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 4 }

bosLaLacpInfoPortPartOpPortNum OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Partne port index"
    ::= { bosLaLacpInfoPortOperTableEntry 5 }

bosLaLacpInfoPortPartOpPortPrio OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Partner port priority"
    ::= { bosLaLacpInfoPortOperTableEntry 6 }

bosLaLacpInfoPortActOpPortState OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The state of Actor Operator Port. This is a octet mask
         with the following bits: Activity, Synchronization, Defaulted, 
         Timeout, Collecting, Expired, Aggregation and Distributing.
         If all of them are 0 then the state is showed as 0x0, else it is
         displayed a blank state which mean is not a NULL state"
    ::= { bosLaLacpInfoPortOperTableEntry 7 }

bosLaLacpInfoPortActOpActiv OBJECT-TYPE
    SYNTAX  INTEGER {
        active(1),
        passive(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Lacp Activity of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 8 }

bosLaLacpInfoPortActOpSync OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Synchronization state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 9 }

bosLaLacpInfoPortActOpDef OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Defaulted state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 10 }

bosLaLacpInfoPortActOpTimeout OBJECT-TYPE 
    SYNTAX  INTEGER {
        short(1),
        long(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Timeout"
    ::= { bosLaLacpInfoPortOperTableEntry 11 }

bosLaLacpInfoPortActOpColl OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Collecting state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 12 }

bosLaLacpInfoPortActOpExp OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Expired state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 13 }

bosLaLacpInfoPortActOpAggr OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Aggregating state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 14 }

bosLaLacpInfoPortActOpDist OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Distributing state of the port"
    ::= { bosLaLacpInfoPortOperTableEntry 15 }

bosLaLacpInfoPortPartOpPortState OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The state of Partner Operator Port. This is a octet mask
         with the following bits: Activity, Synchronization, Defaulted, 
         Timeout, Collecting, Expired, Aggregation and Distributing.
         If all of them are 0 then the state is showed as 0x0, else it is
         displayed a blank state which mean is not a NULL state"
    ::= { bosLaLacpInfoPortOperTableEntry 16 }

bosLaLacpInfoPortPartOpActiv OBJECT-TYPE
    SYNTAX  INTEGER {
        active(1),
        passive(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Lacp Activity of partner"
    ::= { bosLaLacpInfoPortOperTableEntry 17 }

bosLaLacpInfoPortPartOpSync OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Synchronisation state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 18 }

bosLaLacpInfoPortPartOpDef OBJECT-TYPE
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "defaulted state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 19 }

bosLaLacpInfoPortPartOpTimeout OBJECT-TYPE 
    SYNTAX  INTEGER {
        short(1),
        long(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Timeout"
    ::= { bosLaLacpInfoPortOperTableEntry 20 }

bosLaLacpInfoPortPartOpColl OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Collecting state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 21 }

bosLaLacpInfoPortPartOpExp OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Expired state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 22 }

bosLaLacpInfoPortPartOpAggr OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Aggregating state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 23 }

bosLaLacpInfoPortPartOpDist OBJECT-TYPE 
    SYNTAX  INTEGER {
        true(1),
        false(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Distributing state of the partner port"
    ::= { bosLaLacpInfoPortOperTableEntry 24 }

-- Elmo trunk hash
bosLaL2ThashCfgSmacState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable smac hash."
    ::= { bosLaThashL2 1 }

bosLaL2ThashCfgDmacState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable dmac hash."
    ::= { bosLaThashL2 2 }

bosLaL2ThashCfgSipState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable sip hash."
    ::= { bosLaThashL2 3 }

bosLaL2ThashCfgDipState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable dip hash."
    ::= { bosLaThashL2 4 }

bosLaL2ThashCfgSmacDmacState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable smac-dmac hash."
    ::= { bosLaThashL2 5 }

bosLaL2ThashCfgSipDipState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable sip-dip hash."
    ::= { bosLaThashL2 6 }


-- END

bosufd                  OBJECT IDENTIFIER ::= { ex2500 68 }
-- ----------------------------------------------------------------------------
-- { INSERT: ufd
-- ----------------------------------------------------------------------------
  
     -- ------------------------------------------------------------  
     -- groups in the MIB  
     -- ------------------------------------------------------------

     ufdGeneralCfg     OBJECT IDENTIFIER ::= { bosufd 1 }
     ufdStats          OBJECT IDENTIFIER ::= { bosufd 2 }
     ufdTraps          OBJECT IDENTIFIER ::= { bosufd 3 }

-- UFD Configuration objs ------------

ufdFdpCfgState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enabled(1),
        disabled(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable FDP state"
    ::= { ufdGeneralCfg 1 }


ufdCfgLtMPorts      OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtM port list. The ports are presented in a string format,
        delimited by ',' or an interval of ports delimited by  '-'"
    ::= { ufdGeneralCfg 2 }

ufdCfgLtMTrunks      OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtM trunk list. The trunks are presented in a string format,
        delimited by ',' or an interval of trunks delimited by  '-'"
    ::= { ufdGeneralCfg 3 }

ufdCfgLtMAdminkey      OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtM admin key."
    ::= { ufdGeneralCfg 4 }

ufdCfgLtDPorts      OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtD port list. The ports are presented in a string format,
        delimited by ',' or an interval of ports delimited by  '-'"
    ::= { ufdGeneralCfg 5 }

ufdCfgLtDTrunks      OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtD trunk list. The trunks are presented in a string format,
        delimited by ',' or an interval of trunks delimited by  '-'"
    ::= { ufdGeneralCfg 6 }

ufdLtDAdminkeyMaxEnt OBJECT-TYPE
    SYNTAX  Integer32 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The maximum number of rows in the LtD admin key configuration table."
    ::= { ufdGeneralCfg 7 }


ufdLtDAdminkeyCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF UfdLtDAdminkeyCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of LtD admin key configuration."
    ::= { ufdGeneralCfg 8 }

ufdLtDAdminkeyCfgTableEntry OBJECT-TYPE
    SYNTAX  UfdLtDAdminkeyCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the LtD admin key table."
    INDEX  { ufdLtDAdminkeyCfg }
    ::= { ufdLtDAdminkeyCfgTable 1 }

UfdLtDAdminkeyCfgTableEntry ::= SEQUENCE {
    ufdLtDAdminkeyCfg	INTEGER	    
    }

ufdLtDAdminkeyCfg OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The LtD admin key."
    ::= { ufdLtDAdminkeyCfgTableEntry 1 }

ufdCfgAddLtMPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The port to be added to LtM.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 9 }

ufdCfgRemoveLtMPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The port to be removed from LtM.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 10 }

ufdCfgAddLtMTrunk OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The trunk to be added to LtM.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 11 }

ufdCfgRemoveLtMTrunk OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The trunk to be removed from LtM.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 12 }

ufdCfgAddLtMAdminkey OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The admin key to be added to LtM.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 13 }

ufdCfgRemoveLtMAdminkey OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The admin key to be removed from LtM.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 14 }

ufdCfgAddLtDPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The port to be added to LtD.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 15 }

ufdCfgRemoveLtDPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The port to be removed from LtM.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 16 }

ufdCfgAddLtDTrunk OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The trunk to be added to LtM.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 17 }

ufdCfgRemoveLtDTrunk OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The trunk to be removed from LtD.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 18 }

ufdCfgAddLtDAdminkey OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The admin key to be added to LtD.  A '0' value is
         returned when read."
    ::= { ufdGeneralCfg 19 }

ufdCfgRemoveLtDAdminkey OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The admin key to be removed from LtD.  A '0'
         value is returned when read."
    ::= { ufdGeneralCfg 20 }

ufdCfgGlobalState OBJECT-TYPE
    SYNTAX  INTEGER  {
        enabled(1),
        disabled(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable gloabl ufd state."
    ::= { ufdGeneralCfg 21 }



-- UFD stats objs --
ufdNoLtMLinkFailure OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
	" "
  ::= {ufdStats 1}

ufdNoLtMLinkBlockingState OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
	" "
  ::= {ufdStats 2}

ufdNoLtDAutoDisabled OBJECT-TYPE
  SYNTAX Integer32
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
	" "
  ::= {ufdStats 3}

ufdClearStats OBJECT-TYPE
  SYNTAX INTEGER {
      ok(1),
      clear(2)
  }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
	" Setting this value to clear(2) clears the UFD stats."
  ::= {ufdStats 4}


ufdCfgGlobalStateTrap NOTIFICATION-TYPE
       OBJECTS {
           ufdCfgGlobalState
		
       }
    STATUS current
    DESCRIPTION
        "A ufdCfgGlobalStateTrap signifies the
        Enabled or disabled global ufd state."
::= { ufdTraps 1 }

ufdCfgLtMTrap NOTIFICATION-TYPE
       OBJECTS {
          ufdCfgLtMPorts 
		
       }
    STATUS current
    DESCRIPTION
        "The ufdCfgLtMTrap signifies that Ufd LtM states like LtMUp or LtMFailure."
::= { ufdTraps 2 }


ufdCfgLtDTrap NOTIFICATION-TYPE
       OBJECTS {
          ufdCfgLtDPorts 
		
       }
    STATUS current
    DESCRIPTION
        "The ufdCfgLtDTrap signifies that Ufd LtD states like ufdLtDDisable or ufdLtDEnable."
::= { ufdTraps 3 }



-- ----------------------------------------------------------------------------
-- } INSERT:  ufd
-- ----------------------------------------------------------------------------



bostacacs               OBJECT IDENTIFIER ::= { ex2500 77 }
-- ----------------------------------------------------------------------------
-- { INSERT: tacacs
-- ----------------------------------------------------------------------------

bosTacacsClientScalarGroup   OBJECT IDENTIFIER 
                                                ::= { bostacacs 1 }
bosTacacsClientTableGroup   OBJECT IDENTIFIER 
                                                ::= { bostacacs 2 }

-- Scalar MIB definitions 
-- ***********************

bosTacClntActiveServer   OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "Maximim 5 server information could be configured.
      This object indicates the active server among those 5 servers. The 
      TACACS+ client interacts with the server with this IP address. Setting 
      this object to zero disables the active server concept."
    ::= { bosTacacsClientScalarGroup 1 }

bosTacClntTraceLevel   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "The debug trace level for TACACS+ client implementation. This is bit
      mapped data. Each bit of this object reprsent a trace level.
       0x00000001 - Infomation
       0x00000002 - Errors
       0x00000004 - Tx. packet dump
       0x00000008 - Rx. packet dump
       0xffffffff - All of the above
       0x00000000 - No trace"
    ::= { bosTacacsClientScalarGroup 2 }

bosTacClntRetransmit   OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      " number of times the tacacs+ client searches the list of TACACS+ servers"
    DEFVAL { 2 }
    ::= { bosTacacsClientScalarGroup 3 }
bosTacClntPrivLevelMap OBJECT-TYPE
        SYNTAX      INTEGER {
                    disabled(0),
                    enabled(1)
                    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Enable/disable cisco like privilege level mapping. By default privilege
        level mapping is disabled.Privilege level mapping is
                        0                = CLI_AUTH_USER 
                        3                = CLI_AUTH_OPER 
                        6                = CLI_AUTH_ADMIN 
       After enabling privilege level mapping,privilege levels are 
                        0 - 1                = CLI_AUTH_USER 
                        6 - 8                = CLI_AUTH_OPER 
                       14 - 15               = CLI_AUTH_ADMIN"
    ::= {bosTacacsClientScalarGroup 5}

bosTacClntSecureBackdoorStatus OBJECT-TYPE
      SYNTAX INTEGER { enabled (1),
                       disabled (2)
                     }

      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
            "  Status of TACACS Server Secure Backdoor.If it is
         enabled allow notacacs user to login with admin password
         otherwise it won't allow notacacs user to login."
    ::= { bosTacacsClientScalarGroup 6 }

bosTacClntServerEnabled OBJECT-TYPE
    SYNTAX      INTEGER {
                          disabled (1),
                          enabled (2)
                        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Flag to denote whether the server is active or Inactive"
    DEFVAL { disabled }
    ::= { bosTacacsClientScalarGroup 7 }

-- ----------------------------------
-- Statistics scalar MIB definitions
-- ----------------------------------

bosTacClntStatisticsGroup   OBJECT IDENTIFIER 
                                        ::= { bosTacacsClientScalarGroup 4 }

bosTacClntAuthenStartRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication start requests sent to server"
    ::= { bosTacClntStatisticsGroup 1 }

bosTacClntAuthenContinueRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication continue requests sent to server"
    ::= { bosTacClntStatisticsGroup 2 }

bosTacClntAuthenEnableRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication enable requests sent to server"
    ::= { bosTacClntStatisticsGroup 3 }

bosTacClntAuthenAbortRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication abort requests sent to server"
    ::= { bosTacClntStatisticsGroup 4 }

bosTacClntAuthenPassReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication pass received from server"
    ::= { bosTacClntStatisticsGroup 5 }

bosTacClntAuthenFailReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication fails received from server"
    ::= { bosTacClntStatisticsGroup 6 }

bosTacClntAuthenGetUserReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get users received from server"
    ::= { bosTacClntStatisticsGroup 7 }

bosTacClntAuthenGetPassReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get passwords received from server"
    ::= { bosTacClntStatisticsGroup 8 }

bosTacClntAuthenGetDataReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication get data received from server"
    ::= { bosTacClntStatisticsGroup 9 }

bosTacClntAuthenErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication errors received from server"
    ::= { bosTacClntStatisticsGroup 10 }

bosTacClntAuthenFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication follows received from server"
    ::= { bosTacClntStatisticsGroup 11 }

bosTacClntAuthenRestartReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication re starts received from server"
    ::= { bosTacClntStatisticsGroup 12 }

bosTacClntAuthenSessionTimouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authentication session time outs"
    ::= { bosTacClntStatisticsGroup 13 }

bosTacClntAuthorRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization requests sent to server"
    ::= { bosTacClntStatisticsGroup 14 }

bosTacClntAuthorPassAddReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization pass adds received from server"
    ::= { bosTacClntStatisticsGroup 15 }

bosTacClntAuthorPassReplReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization pass replaces received from server"
    ::= { bosTacClntStatisticsGroup 16 }

bosTacClntAuthorFailReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization fails received from server"
    ::= { bosTacClntStatisticsGroup 17 }

bosTacClntAuthorErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization errors received from server"
    ::= { bosTacClntStatisticsGroup 18 }

bosTacClntAuthorFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization errors received from server"
    ::= { bosTacClntStatisticsGroup 19 }

bosTacClntAuthorSessionTimeouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of authorization session time outs"
    ::= { bosTacClntStatisticsGroup 20 }

bosTacClntAcctStartRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting start requests sent to server"
    ::= { bosTacClntStatisticsGroup 21 }

bosTacClntAcctWdRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting watch dog requests sent to server"
    ::= { bosTacClntStatisticsGroup 22 }

bosTacClntAcctStopRequests   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting stop requests sent to server"
    ::= { bosTacClntStatisticsGroup 23 }

bosTacClntAcctSuccessReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting success received from server"
    ::= { bosTacClntStatisticsGroup 24 }

bosTacClntAcctErrorReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting errors received from server"
    ::= { bosTacClntStatisticsGroup 25 }

bosTacClntAcctFollowReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting follow  received from server"
    ::= { bosTacClntStatisticsGroup 26 }

bosTacClntAcctSessionTimeouts   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of accounting session time outs"
    ::= { bosTacClntStatisticsGroup 27 }

bosTacClntMalformedPktsReceived   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of Malformed packets received from server"
    ::= { bosTacClntStatisticsGroup 28 }

bosTacClntSocketFailures   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of socket failures occured"
    ::= { bosTacClntStatisticsGroup 29 }

bosTacClntConnectionFailures   OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "No. of connection failures occured"
    ::= { bosTacClntStatisticsGroup 30 }

-- Tabular MIB definitions 
-- ***********************

-- -----------------------------
-- Table 1: TACACS+ Server Table
-- -----------------------------

bosTacClntServerTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF BosTacClntServerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
      "The TACACS+ server table of server information entries. The entries have
      server information like server IP address, secretkey, port no, timeout"
   ::= { bosTacacsClientTableGroup 1 }

bosTacClntServerEntry OBJECT-TYPE
   SYNTAX      BosTacClntServerEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The entry has server IP address, port no. secret key and timeout"
   INDEX { bosTacClntServerAddress }
   ::= { bosTacClntServerTable 1 }
      
BosTacClntServerEntry ::= SEQUENCE {
      bosTacClntServerAddress
         IpAddress,
      bosTacClntServerStatus
         RowStatus,
      bosTacClntServerSingleConnect
         INTEGER,
      bosTacClntServerPort
         Integer32,
      bosTacClntServerTimeout
         Integer32,
      bosTacClntServerKey
         DisplayString
      }

bosTacClntServerAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
      "Server IP address"
   ::= { bosTacClntServerEntry 1 }

bosTacClntServerStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Row status of the server entry"
   ::= { bosTacClntServerEntry 2 }

bosTacClntServerSingleConnect   OBJECT-TYPE
    SYNTAX      INTEGER {
                        yes(1), 
                        no(2) 
                        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "To inform whether single connect support is enabled for this server or
      not. When this is enabled multiple sessions are handled over single TCP
      connection"
    DEFVAL { no }
   ::= { bosTacClntServerEntry 3 }

bosTacClntServerPort OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Server port no. for TACACS+ protocol. The default value is 49"
    DEFVAL { 49 }
   ::= { bosTacClntServerEntry 4 }

bosTacClntServerTimeout OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "The time out value within which a response is expected from server. If
      response is not received within this time out, the session will be
      released"
    DEFVAL { 5 }
   ::= { bosTacClntServerEntry 5 }

bosTacClntServerKey OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "Secret key shared between the client and server for encryption and
      decryption"
   ::= { bosTacClntServerEntry 6 }


-- ----------------------------------------------------------------------------
-- } INSERT: tacacs
-- ----------------------------------------------------------------------------

bosPvrstMIB             OBJECT IDENTIFIER ::= { ex2500 78 }
-- ----------------------------------------------------------------------------
-- { INSERT: pvrst
-- ----------------------------------------------------------------------------

VlanId ::= TEXTUAL-CONVENTION 
    STATUS      current 
    DESCRIPTION 
        "A 12-bit VLAN ID used in the VLAN Tag header."
    SYNTAX      Integer32 (1..4094)

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

Timeout ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d4"
    STATUS       current
    DESCRIPTION
                " Time out value in 4 byte"
    SYNTAX       Integer32

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

-- bosPvrst group

bosPvrstSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) } 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative shutdown status requested by management for the Pvrst  
      feature. The value start (1) indicates that Pvrst should be active in 
      the device on all ports. The value shutdown (2) indicates that Pvrst 
      should be shutdown in the device on all ports. All memory should 
      be released on all ports."
   ::= { bosPvrst 1 } 

bosPvrstModuleStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the Pvrst  
      feature. The value enabled(1) indicates that Pvrst should be enabled  
      in the device on all ports. The value disabled(2) indicates that 
      Pvrst should be disabled in the device on all ports. The object can 
      be set to enabled(1) if and only if, bosPvrstSystemControl set to start."
   ::= { bosPvrst 2 } 

bosPvrstNoOfActiveInstances OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Indicates number of instances active currently"
   ::= { bosPvrst 3 } 

bosPvrstBrgAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The MAC address used by this bridge when it must
          be referred to in a unique fashion.   It is
          recommended that this be the numerically smallest
          MAC address of all ports that belong to this
          bridge.  However it is only required to be unique.
          When concatenated with bosPvrstInstBridgePriority or 
          bosPvrstInstBridgePriority a unique BridgeIdentifier 
          is formed which is used in the Spanning Tree Protocol."
   ::= { bosPvrst 4 } 

bosPvrstUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Pvrst Module has been enabled."
   ::= { bosPvrst 5 } 

bosPvrstDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times PVRST Module has been disabled."
   ::= { bosPvrst 6 } 

bosPvrstTrace OBJECT-TYPE
   SYNTAX      Integer32 (0..255) 
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "This object is used to enable Trace Statements for the Pvrst
      Module in this context .

      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 mapping 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 trace 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 to be set then user has
      to give the value for this object as 3.
      
      Setting the Trace Option to any value will cause the Debug Option
      to be set to 0 (i.e.) the Trace Option and Debug Option are mutually
      exclusive."
      
      DEFVAL  { 0 }
   ::= { bosPvrst 7 } 

bosPvrstDebug OBJECT-TYPE
   SYNTAX      Integer32 (0..131071)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is used to enable Debug Statements in the PvrstP
      Module.

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

      The mapping between the bit positions & the level of debug is 
      as follows: 
      0 - Init and Shutdown Debug statements
      1 - Management Debug statements
      2 - Memory related Debug statements
      3 - BPDU related Debug statements
      4 - Event Handling Debug statements
      5 - Timer Module Debug statements
      6 - Port Information SEM Debug statements
      7 - Port Receive SEM Debug statements (valid in the case of PvrstP alone)
      8 - Role Selection SEM Debug statements
      9 - Role Transition SEM Debug statements
     10 - State Transition SEM Debug statements
     11 - Protocol Migration SEM Debug statements
     12 - Topology Change SEM Debug statements
     13 - Port Transmit SEM Debug statements
     14 - Bridge Detection SEM Debug statements
     15 - All Failure Debug statements
     16 - Redundancy code flow Debug statements

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

      For example if the bits 0 and 1 are set, then the Debug
      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 to be set then user has
      to give the value for this object as 3.
      
      Setting the Debug Option to any value will cause the Trace Option
      to be set to 0 (i.e.) the Trace Option and Debug Option are mutually
      exclusive."
      DEFVAL  { 0 }
   ::= { bosPvrst 8 } 

bosPvrstBufferOverFlowCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Buffer overflows/failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { bosPvrst 9 } 

bosPvrstMemAllocFailureCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times memory allocation failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { bosPvrst 10 } 

bosPvrstUplinkFastStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the uplinkfast
      PVRST feature. The value enabled(1) indicates that uplinkfast Pvrst feature
      should be enabled  on the device. The value disabled(2) indicates that
      uplinkfast Pvrst feature  should be disabled on the device.
      The object can be set to enabled(1) if and only if, bosPvrstSystemControl
      set to start."
   ::= { bosPvrst 12 }

bosPvrstUplinkFastMaxRate OBJECT-TYPE
   SYNTAX      Integer32 (10..200)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object sets the update rate to the number given in the range of 10-200.
      This object is applicable when uplinkfast PVRST feature is enabled on the system."
   DEFVAL { 40 }
   ::= { bosPvrst 13 }

-- -------------------------------------
-- bosPvrstPortTable - Start
-- -------------------------------------

bosPvrstPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosPvrstPortEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
       "List of Ports per Virtual Context ."
    ::= { bosPvrst 14 }

bosPvrstPortEntry OBJECT-TYPE
   SYNTAX       BosPvrstPortEntry
   MAX-ACCESS   not-accessible
   STATUS       current
   DESCRIPTION
      "Virtual Context Pvrst Module Port Parameters."
   INDEX { bosPvrstPort }
   ::= { bosPvrstPortTable 1 }

BosPvrstPortEntry ::=
    SEQUENCE {
	   bosPvrstPort
	          Integer32,
       bosPvrstPortAdminEdgeStatus
              TruthValue,
       bosPvrstPortOperEdgePortStatus
              TruthValue,
       bosPvrstBridgeDetectionSemState
              INTEGER,
	   bosPvrstPortAdminPointToPoint
              INTEGER,
	   bosPvrstPortOperPointToPoint
	          TruthValue,
       bosPvrstPortBpduGuard
	          TruthValue
    }

bosPvrstPort OBJECT-TYPE
   SYNTAX        Integer32
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
      "Port Number for the Context"
   ::= { bosPvrstPortEntry 1 }

bosPvrstPortAdminEdgeStatus OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
      "The administrative value of the Edge Port parameter.  A
          value of TRUE(1) indicates that this port should be
          assumed as an edge-port and a value of FALSE(2) indicates
          that this port should be assumed as a non-edge-port."
   ::= { bosPvrstPortEntry 2 }

bosPvrstPortOperEdgePortStatus OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
      "The operational value of the Edge Port parameter.  The
          object is initialized to the value of
          bosPvrstPortAdminEdgeStatus and is set FALSE on reception 
          of a BPDU."
   ::= { bosPvrstPortEntry 3 }

bosPvrstBridgeDetectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  edge (0),
                  notedge (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the bridge detetion state machine
	  of this port for all Spanning Tree context"           
   ::= { bosPvrstPortEntry 4 } 

bosPvrstPortAdminPointToPoint OBJECT-TYPE
   SYNTAX        INTEGER {
		    forceTrue(0),
                    forceFalse(1),
                    auto(2)
		}
   MAX-ACCESS    read-write
   STATUS        current
   DESCRIPTION
      "The administrative point-to-point status of the LAN segment
          attached to this port.  A value of forceTrue(0) indicates that
          this port should always be treated as if it is connected to
          a point-to-point link.  A value of forceFalse(1) indicates
          that this port should be treated as having a shared media
          connection.  A value of auto(2) indicates that this port is
          considered to have a point-to-point link if it is an Aggregator
          and all of its members are aggregatable, or if the MAC entity
          is configured for full duplex operation, either through
          auto-negotiation or by management means."
   ::= { bosPvrstPortEntry 5 }

bosPvrstPortOperPointToPoint OBJECT-TYPE
   SYNTAX        TruthValue
   MAX-ACCESS    read-only
   STATUS        current
   DESCRIPTION
      "The operational point-to-point status of the LAN segment
          attached to this port.  It indicates whether a port is
          considered to have a point-to-point connection or not.
          The value is determined by management or by auto-detection,
          as described in the bosPvrstInstPortAdminP2P object."
   ::= { bosPvrstPortEntry 6 }


bosPvrstPortBpduGuard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "The administrative value for the BPDU guard
    is configurable on this Port "
    ::= { bosPvrstPortEntry 7 }


-- -------------------------------------
-- bosPvrstPortTable - End 
-- -------------------------------------

-- -----------------------------------------------------------------
-- BNT Per Vlan Spanning Tree Instance Bridge Table
-- -----------------------------------------------------------------

bosPvrstInstBridgeTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF BosPvrstInstBridgeEntry      
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION
      "Table containing Bridge Information specific to Spanning 
       Tree Instance. This table maintains context ID as one 
       more index to support Multiple Instances."
   ::= { bosPvrst 15 } 
 
bosPvrstInstBridgeEntry OBJECT-TYPE
   SYNTAX      BosPvrstInstBridgeEntry       
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Bridge Information."
   INDEX { bosPvrstInstInstanceIndex }
   ::= { bosPvrstInstBridgeTable 1 }

BosPvrstInstBridgeEntry ::=
   SEQUENCE {
      bosPvrstInstInstanceIndex 
            INTEGER,
      bosPvrstInstBridgePriority 
            INTEGER,
      bosPvrstInstRootCost 
            Integer32,
      bosPvrstInstRootPort 
            Integer32,
      bosPvrstInstBridgeMaxAge 
            Timeout,
      bosPvrstInstBridgeHelloTime 
            Timeout,
      bosPvrstInstBridgeForwardDelay
            Timeout,
      bosPvrstInstHoldTime
            Integer32,
      bosPvrstInstTimeSinceTopologyChange
            TimeTicks,
      bosPvrstInstTopChanges
            Counter32,
      bosPvrstInstNewRootCount
            Counter32,
      bosPvrstInstInstanceUpCount
            Counter32,
      bosPvrstInstInstanceDownCount
            Counter32,
      bosPvrstInstPortRoleSelSemState
            Integer32,
      bosPvrstInstDesignatedRoot
            BridgeId,
      bosPvrstInstRootMaxAge 
            Timeout,
      bosPvrstInstRootHelloTime 
            Timeout,
      bosPvrstInstRootForwardDelay
            Timeout,
      bosPvrstInstSetVlanList
            OCTET STRING,  
      bosPvrstInstResetVlanList
            OCTET STRING,  
      bosPvrstInstEnableStatus
            EnabledStatus  

   }

bosPvrstInstInstanceIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..128)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Spanning Tree Instance to which the information belongs."
   ::= { bosPvrstInstBridgeEntry 1 }

bosPvrstInstBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..65535) 
   MAX-ACCESS  read-write     
   STATUS      current 
   DESCRIPTION 
      "The writable portion of the PVRST Bridge Identifier.
       comprising of the first two octets.
       The values that are set for Bridge Priority must be 
       in steps of 4096."
   DEFVAL {32768}
   ::= { bosPvrstInstBridgeEntry 2 }

bosPvrstInstRootCost OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Cost of the path to the PVRST Root as seen 
       by this bridge." 
   ::= { bosPvrstInstBridgeEntry 3 }

bosPvrstInstRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the PVRST Root Bridge."
   ::= { bosPvrstInstBridgeEntry 4 }

bosPvrstInstBridgeMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Bridge Information"
   ::= { bosPvrstInstBridgeEntry 5 }

bosPvrstInstBridgeHelloTime OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Hello Time configured at Bridge Level"
   ::= { bosPvrstInstBridgeEntry 6 }

bosPvrstInstBridgeForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Forward Delay for STP bridge interoperability"
   ::= { bosPvrstInstBridgeEntry 7 }

bosPvrstInstHoldTime OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only     
   STATUS      current 
   DESCRIPTION 
      "Hold Time for eah port"
   ::= { bosPvrstInstBridgeEntry 8 }

bosPvrstInstTimeSinceTopologyChange OBJECT-TYPE
   SYNTAX      TimeTicks 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The time (in hundredths of a second) since the
         TcWhile Timer for any port in this Bridge was 
         non-zero for this spanning tree instance."
   ::= { bosPvrstInstBridgeEntry 9 }

bosPvrstInstTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for this
         spanning tree instance."
   ::= { bosPvrstInstBridgeEntry 10 }

bosPvrstInstNewRootCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for this spanning tree instance.
          A Trap is generated on the occurence of this event."
   ::= { bosPvrstInstBridgeEntry 11 }

bosPvrstInstInstanceUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a new spanning tree instance has
         been created. 
         A Trap is generated on the occurence of this event."
   ::= { bosPvrstInstBridgeEntry 12 }

bosPvrstInstInstanceDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a spanning tree instance has
         been deleted.
         A Trap is generated on the occurence of this event."
   ::= { bosPvrstInstBridgeEntry 13 }

bosPvrstInstPortRoleSelSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           for this spanning tree instance for this bridge."           
   ::= { bosPvrstInstBridgeEntry 14 }

bosPvrstInstDesignatedRoot OBJECT-TYPE
       SYNTAX  BridgeId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bridge identifier of the old root of the spanning
               tree instance as determined by the Spanning Tree Protocol
               as executed by this node. "
       ::= { bosPvrstInstBridgeEntry 15 }

bosPvrstInstRootMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Root Port information"
   ::= { bosPvrstInstBridgeEntry 16 }

bosPvrstInstRootHelloTime OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Hello Time configured for Root Port"
   ::= { bosPvrstInstBridgeEntry 17 }

bosPvrstInstRootForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Forward Delay configured for the Root Port"
   ::= { bosPvrstInstBridgeEntry 18 }
   
bosPvrstInstSetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write 
    STATUS     current
    DESCRIPTION
         "A string of octets containing one bit per VLAN. The
         first octet corresponds to VLANs with VlanIndex values
          1 through 8; the second octet to VLANs 9 through
          16 etc.  The most significant bit of each octet
          corresponds to the lowest VlanIndex value in that octet.
          The set of vlans configured by management to map for this
          Instance.  If the VlanId to Instance Mapping has to be known
      then any one of the VlanMapped object should be used.If a
      vlan is already mapped to this Instance, it may not be mapped
      again. This object is used only for SET operation.
      GET Operation returns null values."
    ::= { bosPvrstInstBridgeEntry  19 }
    
bosPvrstInstResetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
   	 "A string of octets containing one bit per VLAN. The
      first octet corresponds to VLANs with VlanIndex values
	  1 through 8; the second octet to VLANs 9 through
	  16 etc.  The most significant bit of each octet
	  corresponds to the lowest VlanIndex value in that octet.
	  The set of vlans configured by management to unmap from this 
	  Instance. A vlan may not be unmapped from this instance if 
	  it is not already mapped to this Instance. This object is
      used only for SET operation.GET Operation returns null values."
    ::= { bosPvrstInstBridgeEntry  20 }

bosPvrstInstEnableStatus OBJECT-TYPE
   SYNTAX      INTEGER { enabled(1), disabled(0) }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative status requested by management for the 
      PVRST feature per instance. The value enabled(1) indicates that 
      Pvrst feature should be enabled  in the device for this particluar 
      STG instance.  The value disabled(0) indicates that Pvrst feature  
      should be disabled in the device for this particular STG instance. 
      The object can be set to enabled(1) if and only if, 
      bosPvrstSystemControl set to start."
    ::= { bosPvrstInstBridgeEntry 21 }


-- -----------------------------------------------------------------
-- BNT Pvrst Common Spanning Tree Port Table     
-- -----------------------------------------------------------------

bosPvrstInstPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosPvrstInstPortEntry              
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Common Spanning Tree Port
           Information."
     ::= { bosPvrst 16 }

bosPvrstInstPortEntry OBJECT-TYPE
      SYNTAX      BosPvrstInstPortEntry               
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for 
          Each Spanning tree."
      INDEX  { bosPvrstInstInstanceIndex,bosPvrstInstPortIndex }
      ::= { bosPvrstInstPortTable 1 }

BosPvrstInstPortEntry ::= 
   SEQUENCE {
       bosPvrstInstPortIndex  
            INTEGER,
       bosPvrstInstPortStatus  
            INTEGER,
       bosPvrstInstPortPathCost 
            INTEGER,
       bosPvrstInstPortPriority 
            INTEGER,
       bosPvrstInstPortDesignatedRoot 
            BridgeId,
       bosPvrstInstPortDesignatedBridge 
            BridgeId,
       bosPvrstInstPortDesignatedPort 
            OCTET STRING,
       bosPvrstInstPortOperVersion
	    Integer32,
       bosPvrstInstPortProtocolMigration 
            TruthValue,
       bosPvrstInstPortState 
            INTEGER,
       bosPvrstInstPortForwardTransitions 
            Counter32,
       bosPvrstInstPortReceivedBpdus
            Counter32,
       bosPvrstInstPortRxConfigBpduCount
            Counter32,
       bosPvrstInstPortRxTcnBpduCount
            Counter32,
       bosPvrstInstPortTransmittedBpdus
            Counter32,
       bosPvrstInstPortTxConfigBpduCount
            Counter32,
       bosPvrstInstPortTxTcnBpduCount
            Counter32,
       bosPvrstInstPortInvalidBpdusRcvd
            Counter32,
       bosPvrstInstPortInvalidConfigBpduRxCount
            Counter32,
       bosPvrstInstPortInvalidTcnBpduRxCount
            Counter32,
       bosPvrstInstPortTxSemState 
            INTEGER,        
       bosPvrstInstPortProtMigrationSemState 
            INTEGER,        
       bosPvrstInstProtocolMigrationCount 
            Counter32,
       bosPvrstInstPortRole 
            INTEGER,
       bosPvrstInstCurrentPortRole  
            INTEGER,
       bosPvrstInstPortInfoSemState 
            INTEGER,        
       bosPvrstInstPortRoleTransitionSemState 
            INTEGER,        
       bosPvrstInstPortStateTransitionSemState 
            INTEGER,         
       bosPvrstInstPortTopologyChangeSemState 
            INTEGER,
       bosPvrstInstPortEffectivePortState
            TruthValue,
       bosPvrstInstPortHelloTime 
            Timeout,
       bosPvrstInstPortMaxAge
	    Timeout,
       bosPvrstInstPortForwardDelay
	    Timeout,
       bosPvrstInstPortHoldTime
	    Timeout
}

bosPvrstInstPortIndex OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port Id of the port for which this entry contains   
           spanning tree information."                                      
      ::= { bosPvrstInstPortEntry 1 }

bosPvrstInstPortStatus OBJECT-TYPE
      SYNTAX      INTEGER {
                  enable(1),
		  disable(2)
		  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Port status for this spanning tree"                                      
      ::= { bosPvrstInstPortEntry 2 }

bosPvrstInstPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (1..200000000)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
            "The contribution of this port to the path cost of
             paths towards the Inst Root which include this port."
      ::= { bosPvrstInstPortEntry 3 }

bosPvrstInstPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier 
          of the Spanning Tree instance can be modified by setting 
          the InstPortPriority value. The values that are set for Port 
          Priority must be in steps of 16."
     DEFVAL {128}
      ::= { bosPvrstInstPortEntry 4 }

bosPvrstInstPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           Inst Root in the configuration BPDUs transmitted."      
      ::= { bosPvrstInstPortEntry 5 }

bosPvrstInstPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port  
           considers to be the Designated Bridge for the port's segment."   
      ::= { bosPvrstInstPortEntry 6 }

bosPvrstInstPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge    
           for this port's segment."                                           
      ::= { bosPvrstInstPortEntry 7 }

bosPvrstInstPortOperVersion OBJECT-TYPE
   SYNTAX      INTEGER {
               stpCompatible(0),
               rstp(2)
            }
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "This indicates whether the Port is operationally in the Pvrst
       mode, Rstp mode or the Stp-compatible mode i.e., whether the
       Port is transmitting Pvrst BPDUs, RST BPDUs or Config/TCN BPDUs."
      ::= { bosPvrstInstPortEntry 8 }

bosPvrstInstPortProtocolMigration OBJECT-TYPE
      SYNTAX      TruthValue                
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
          "Indicates the Protocol migration state of this Port.         
           When operating in RSTP/Pvrst (version >= 2) mode, writing 
          TRUE(1) to this object forces this port to transmit RSTP 
          BPDUs without instance information.
          Any other operation on this object has no effect and
          it always returns FALSE(2) when read."
      ::= { bosPvrstInstPortEntry 9 }

bosPvrstInstPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Common    
           spanning tree protocol." 
      ::= { bosPvrstInstPortEntry 10 }

bosPvrstInstPortForwardTransitions OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of times this port has transitioned to the     
           Forwarding State."                                     
      ::= { bosPvrstInstPortEntry 11 }

bosPvrstInstPortReceivedBpdus OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Pvrst BPDUs received on this port."     
      ::= { bosPvrstInstPortEntry 12 }

bosPvrstInstPortRxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs received on this port."     
      ::= { bosPvrstInstPortEntry 13 }

bosPvrstInstPortRxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs received on this port."     
      ::= { bosPvrstInstPortEntry 14 }

bosPvrstInstPortTransmittedBpdus OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Pvrst BPDUs Transmitted from this port."     
      ::= { bosPvrstInstPortEntry 15 }

bosPvrstInstPortTxConfigBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Configuration BPDUs Transmitted from this port."     
      ::= { bosPvrstInstPortEntry 16 }

bosPvrstInstPortTxTcnBpduCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of TCN BPDUs Transmitted from this port."     
      ::= { bosPvrstInstPortEntry 17 }

bosPvrstInstPortInvalidBpdusRcvd OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid Pvrst BPDUs Received on this port."     
      ::= { bosPvrstInstPortEntry 18 }

bosPvrstInstPortInvalidConfigBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid Configuration BPDUs Received on this port."     
      ::= { bosPvrstInstPortEntry 19 }

bosPvrstInstPortInvalidTcnBpduRxCount OBJECT-TYPE 
      SYNTAX      Counter32                
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Number of Invalid TCN BPDUs Received on this port."     
      ::= { bosPvrstInstPortEntry 20 }

bosPvrstInstPortTxSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  transmitinit (0),
                  transmitperiodic (1),
                  transmitconfig (2),
                  transmittcn (3),
                  transmitrstp (4),
                  idle (5)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Transmit state machine."
      ::= { bosPvrstInstPortEntry 21 }

bosPvrstInstPortProtMigrationSemState OBJECT-TYPE 
      SYNTAX      INTEGER {                 
                  init (0),
                  sendrstp (1),
                  sendingrstp (2),
                  sendstp (3),
                  sendingstp (4)
               }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Indicates current State of the Port Protocol Migration
           State machine."
      ::= { bosPvrstInstPortEntry 22 }

bosPvrstInstProtocolMigrationCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times this Port has migrated from one STP protocol 
        version to another. The relevant protocols are STP-COMPATIBLE and 
        RSTP/Pvrst.
        A Trap is generated on the occurence of this event."
      ::= { bosPvrstInstPortEntry 23 }

bosPvrstInstPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Selected Port Role of the port for this spanning 
          tree instance."                                      
      ::= { bosPvrstInstPortEntry 24 }

bosPvrstInstCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {              
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning 
          tree instance."                                      
      ::= { bosPvrstInstPortEntry 25 }

bosPvrstInstPortInfoSemState OBJECT-TYPE
	SYNTAX      INTEGER {
               disabled (0),
                  aged (1),
	          update (2),
	          superiordesg (3),
                  repeatdesg (4),
                  aggerment(5),
	          present (6),
                  receive (7)
            }                
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Information State Machine          
           for this port in this spanning tree context."                                      
      ::= { bosPvrstInstPortEntry 26 }

bosPvrstInstPortRoleTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  blockport (1),
                  blockedport (2),
                  rootport(3),
		designatedport(4)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { bosPvrstInstPortEntry 27 }

bosPvrstInstPortStateTransitionSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Port State Transition State Machine          
           for this port in this spanning tree context."                                      
      ::= { bosPvrstInstPortEntry 28 }

bosPvrstInstPortTopologyChangeSemState OBJECT-TYPE
      SYNTAX      INTEGER {                
                  init (0),
                  inactive (1),
                  active (2),
                  detected (3),
                  notifiedtcn (4),
                  notifiedtc (5),
                  propagating (6),
                  acknowledged (7)
               }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current state of the Topology Change State Machine          
           for this port in this spanning tree context."                                      
      ::= { bosPvrstInstPortEntry 29 }

bosPvrstInstPortEffectivePortState OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The effective operational state of the port for Inst. This will
          TRUE only when the port is operationally up in the Interface level
          and Protocol level for Inst. This is will be set to False for all 
          other times."
      ::= { bosPvrstInstPortEntry 30 }

bosPvrstInstPortHelloTime OBJECT-TYPE
   SYNTAX      Timeout (100..1000)  
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "The amount of time between the transmission of
	   Configuration bridge PDUs by this node on this port
	   in units of hundredths of a second."
      ::= { bosPvrstInstPortEntry 31 }

bosPvrstInstPortMaxAge OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Max Age of the Bridge Information"
   ::= { bosPvrstInstPortEntry 32 }

bosPvrstInstPortForwardDelay OBJECT-TYPE
   SYNTAX      Timeout  
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Forward Delay for STP bridge interoperability"
   ::= { bosPvrstInstPortEntry 33 }

bosPvrstInstPortHoldTime OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
      "Hold Time for eah port"
   ::= { bosPvrstInstPortEntry 34 }

-- TRAP MIB BEGIN

bosPvrstSetGlobalTrapOption OBJECT-TYPE
        SYNTAX   Integer32 (0..1)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and disable PvrstP traps for memory
	    failure or buffer failure irrespective of the context in which
	    the failure occurs.
           0 - Traps are not enabled.
           1 - Memory and buffer failure traps enabled" 
   ::= { bosPvrstTrapsControl 1 }

bosPvrstGlobalErrTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Used within the Trap Notification PDU. 
	    It returns the following values
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure"
   ::= { bosPvrstTrapsControl 2 }

bosPvrstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..3)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable context-specific
           PvrstP traps. Currently the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down 
           2 - Exception Traps like port protocol migration or 
	       invalid packet rcvd in port
           3 - All the above Traps "
    ::= { bosPvrstTrapsControl 3 }


 bosPvrstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "Used within the Trap Notification PDU. 
	   It denotes general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN" 
    ::= { bosPvrstTrapsControl 4 }


bosPvrstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BosPvrstPortTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port for protocol migration and 
       invalid packet received. This table is maintained per virtual
       context in the system."
   ::= { bosPvrstTrapsControl 5 }

bosPvrstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      BosPvrstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { bosPvrstPortTrapIndex}
   ::= { bosPvrstPortTrapNotificationTable 1 }

BosPvrstPortTrapNotificationEntry ::=
        SEQUENCE {
               bosPvrstPortTrapIndex
               Integer32,
               bosPvrstPortMigrationType 
               INTEGER,
               bosPvrstPktErrType
               INTEGER,
               bosPvrstPktErrVal
               INTEGER
        }

 bosPvrstPortTrapIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { bosPvrstPortTrapNotificationEntry 1 }

 bosPvrstPortMigrationType OBJECT-TYPE
      SYNTAX      INTEGER {
                  sendstp (0),
                  sendrstp (1)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Port Protocol migration type occured in the port"
   ::= { bosPvrstPortTrapNotificationEntry 2 }

 bosPvrstPktErrType OBJECT-TYPE
      SYNTAX      INTEGER {
                  protocolIdErr(0),
                  invalidBpdu(1),
                  configLengthErr(2),
                  tcnLengthErr(3),
                  rstpLengthErr(4),
                  maxAgeErr(5),
                  fwdDelayErr(6),
                  helloTimeErr(7),
                  pvrstpLengthErr(8)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Type of invalid packet received in each of the port "
   ::= { bosPvrstPortTrapNotificationEntry 3 }

 bosPvrstPktErrVal OBJECT-TYPE
       SYNTAX   INTEGER   
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Packet error value corresponding to the above type "
   ::= { bosPvrstPortTrapNotificationEntry 4 }

 bosPvrstNotifyTraps OBJECT IDENTIFIER ::= { bosPvrstTraps 0 }

 bosPvrstGlobalErrTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosPvrstBrgAddress,
            	 bosPvrstGlobalErrTrapType,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the error events like memory failure or buffer failure
          or protocol migration or new root or topology change occurs "
   ::= { bosPvrstNotifyTraps 1 }

 bosPvrstGenTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosPvrstBrgAddress,
  	    	 bosPvrstGenTrapType, 
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurs"
   ::= { bosPvrstNotifyTraps 2 }

 bosPvrstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosPvrstBrgAddress,
            	 bosPvrstInstDesignatedRoot,
            	 bosPvrstInstInstanceIndex,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { bosPvrstNotifyTraps 3 }

 bosPvrstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
		 bosPvrstBrgAddress,
            	 bosPvrstInstInstanceIndex,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { bosPvrstNotifyTraps 4 }

 bosPvrstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosPvrstBrgAddress,
            	 bosPvrstPortTrapIndex, 
		 bosPvrstPortMigrationType,
		 bosPvrstInstInstanceIndex,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { bosPvrstNotifyTraps 5 }

bosPvrstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosPvrstBrgAddress,
            	 bosPvrstPortTrapIndex,
		 bosPvrstPktErrType,
		 bosPvrstPktErrVal,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time"
   ::= { bosPvrstNotifyTraps 6 }

-- ----------------------------------------------------------------------------
-- } INSERT: pvrst
-- ----------------------------------------------------------------------------
-- TRAP MIB END

-- END

bosRstMIB               OBJECT IDENTIFIER ::= { ex2500 79 }
-- ----------------------------------------------------------------------------
-- { INSERT: rst
-- ----------------------------------------------------------------------------
EnabledStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION 
        "A simple status value for the object." 
    SYNTAX      INTEGER { enabled(1), disabled(2) } 
      
     
dot1wBosRst     OBJECT IDENTIFIER   ::= { bosRstMIB 1 }
dot1wBosRstTrapsControl OBJECT IDENTIFIER ::= { bosRstMIB 2 }
dot1wBosRstTraps OBJECT IDENTIFIER ::= { bosRstMIB 3 }

-- dot1wBosRst group 

-- SCALAR BEGIN 

bosRstSystemControl 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 RSTP feature. The value 'start'(1) indicates that all resources 
      required by RSTP should be allocated and RSTP should be supported 
      in the device on all ports. The value shutdown(2) indicates that RSTP 
      should be shutdown in the device on all ports and all allocated memory 
      must be released."
   ::= { dot1wBosRst 1 }

bosRstModuleStatus OBJECT-TYPE
   SYNTAX      EnabledStatus
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative module status requested by management for the RSTP
      Module. This enables or disables RSTP in the system. A value of 'enabled'
      (1) indicates that RSTP must be enabled in the device on all the ports.
      A value of 'disabled'(2) indicates that RSTP must be disabled in the
      device on all the ports. This object can be set only after the object
      bosRstSystemControl has been set."
   ::= {dot1wBosRst 2 }



-- SCALAR STOP


-- -------------------------------------
-- RSTP Port Extention Group 
-- -------------------------------------
-- SCALAR ADDED

bosRstDynamicPathcostCalculation OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is allowed or not.The value is determined by 
          management. If set to true, pathcost is calculated dynamically 
          from port speed, otherwise the link speed at the time of port 
          creation is used for calculating the path cost. In both cases
          if the user has configured a pathcost for the port that will be 
          used. By default dynamic pathcost calculation is set to false."
      DEFVAL { false }
      ::= { dot1wBosRst 4 }


bosRstOldDesignatedRoot OBJECT-TYPE
       SYNTAX  BridgeId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bridge identifier of the old root of the spanning
               tree as determined by the Spanning Tree Protocol
               as executed by this node. "
       ::= { dot1wBosRst 5 }


-- SCALAR STOP
-- TRAP MIB BEGIN
 bosRstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable  specific
           RSTP traps. Currently the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down  
           2 - Exception Traps like memory failure or buffer failure 
                    or port protocol migration or invalid packet rcvd in port
           3 - All the above Traps "
    ::= { dot1wBosRstTrapsControl 1 }


 bosRstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN" 
   ::= { dot1wBosRstTrapsControl 2 }


 bosRstErrTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The error event like
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure"
   ::= { dot1wBosRstTrapsControl 3 }

bosRstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BosRstPortTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       " This table is used to store the notification information
         occurred in each of the port for protocol migration and 
         invalid packet received  "
   ::= { dot1wBosRstTrapsControl 4 }

 bosRstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      BosRstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { bosRstPortTrapIndex}
   ::= { bosRstPortTrapNotificationTable 1 }

BosRstPortTrapNotificationEntry ::=
        SEQUENCE {
               bosRstPortTrapIndex
               Integer32,
               bosRstPortMigrationType 
               INTEGER,
               bosRstPktErrType
               INTEGER,
               bosRstPktErrVal
               Integer32,
	       bosRstPortRoleType
	       INTEGER,
	       bosRstOldRoleType
	       INTEGER
        }

 bosRstPortTrapIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { bosRstPortTrapNotificationEntry 1 }

 bosRstPortMigrationType OBJECT-TYPE
      SYNTAX      INTEGER {
                  sendstp (0),
                  sendrstp (1)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Port Protocol migration type occurred in the port"
   ::= { bosRstPortTrapNotificationEntry 2 }

 bosRstPktErrType OBJECT-TYPE
      SYNTAX      INTEGER {
                  protocolIdErr(0),
                  invalidBpdu(1),
                  configLengthErr(2),
                  tcnLengthErr(3),
                  rstpLengthErr(4),
                  maxAgeErr(5),
                  fwdDelayErr(6),
                  helloTimeErr(7)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Type of invalid packet received in each of the port "
   ::= { bosRstPortTrapNotificationEntry 3 }

 bosRstPktErrVal OBJECT-TYPE
       SYNTAX   Integer32   
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Packet error value corresponding to the above type "
   ::= { bosRstPortTrapNotificationEntry 4 }

 bosRstPortRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role Selected for the Port"
   ::= { bosRstPortTrapNotificationEntry 5 }

 bosRstOldRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role which is existing for the Port"
   ::= { bosRstPortTrapNotificationEntry 6 }

 bosRstTraps OBJECT IDENTIFIER ::= { dot1wBosRstTraps 0 }

 bosRstGenTrap NOTIFICATION-TYPE
        OBJECTS {
	         dot1dBaseBridgeAddress,
          	 bosRstGenTrapType,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurrs"
   ::= { bosRstTraps 1 }

 bosRstErrTrap NOTIFICATION-TYPE
        OBJECTS {
		 dot1dBaseBridgeAddress,
		 bosRstErrTrapType,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the error events like memory failure or buffer failure
          or protocol migration or new root or topology change occurrs "
   ::= { bosRstTraps 2 }

 bosRstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
                  dot1dBaseBridgeAddress,
                  bosRstOldDesignatedRoot,
                  dot1dStpDesignatedRoot,
		  bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { bosRstTraps 3 }

 bosRstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
                 dot1dBaseBridgeAddress,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { bosRstTraps 4 }

 bosRstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            	 dot1dBaseBridgeAddress,
            	 dot1dStpVersion,
            	 bosRstPortMigrationType, 
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { bosRstTraps 5 }

bosRstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
             	 dot1dBaseBridgeAddress,
            	 bosRstPktErrType,
		 bosRstPktErrVal,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time"
   ::= { bosRstTraps 6 }

bosRstNewPortRoleTrap NOTIFICATION-TYPE
        OBJECTS {
                  dot1dBaseBridgeAddress,
		  bosRstPortRoleType,
		  bosRstOldRoleType,
		  bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new role is selected for the port "
   ::= { bosRstTraps 7 }

-- TRAP MIB STOP
-- ----------------------------------------------------------------------------
-- } INSERT: rst
-- ----------------------------------------------------------------------------


bosMstMIB               OBJECT IDENTIFIER ::= { ex2500 80 }
-- ----------------------------------------------------------------------------
-- { INSERT: mst
-- ----------------------------------------------------------------------------
VlanId ::= TEXTUAL-CONVENTION 
    DISPLAY-HINT  "d"    
    STATUS      current 
    DESCRIPTION 
        "A 12-bit VLAN ID used in the VLAN Tag header."
    SYNTAX      Integer32 (1..4094)

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

Timeout ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d4"
    STATUS       current
    DESCRIPTION
                " Time out value in 4 byte"
    SYNTAX       Integer32

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

-- dot1qBosMst group 

-- SCALAR BEGIN 

bosMstSystemControl OBJECT-TYPE
   SYNTAX      INTEGER { start(1), shutdown(2) } 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The administrative shutdown status requested by management for the MST  
      feature. The value start (1) indicates that MST should be active in 
      the device on all ports. The value shutdown (2) indicates that MST 
      should be shutdown in the device on all ports. All memory should 
      be released on all ports."
   ::= { dot1sBosMst 1 }  

bosMstMaxHopCount OBJECT-TYPE
   SYNTAX      Integer32 (4..60)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The Maximum hope count is the maximum number of hops
       that the information for a particular Spanning Tree 
       instance may traverse (via relay of BPDUs within the 
       applicable MST region) before being discarded."
   DEFVAL { 20 }
   ::= { dot1sBosMst 3 }  

bosMstBrgAddress OBJECT-TYPE
   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The MAC address used by this bridge when it must
          be referred to in a unique fashion.   It is
          recommended that this be the numerically smallest
          MAC address of all ports that belong to this
          bridge.  However it is only required to be unique.
          When concatenated with bosMstCistBridgePriority or 
          bosMstMstiBridgePriority a unique BridgeIdentifier 
          is formed which is used in the Spanning Tree Protocol."
   ::= { dot1sBosMst 4 } 

bosMstCistRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the common spanning
         tree as determined by the Spanning Tree Protocol
         as executed by this node.  This value is used as
         the CIST Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { dot1sBosMst 5 } 

bosMstCistRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The bridge identifier of the Root of the Multiple
         spanning tree region as determined by the Spanning Tree
         Protocol as executed by this node.  This value is used as
         the CIST Regional Root Identifier parameter in all Configuration
         Bridge PDUs originated by this node."
   ::= { dot1sBosMst 6 } 

bosMstCistRootCost OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Root as seen 
        from this bridge."
   ::= { dot1sBosMst 7 } 

bosMstCistRegionalRootCost OBJECT-TYPE
   SYNTAX      Integer32 
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
        "The Cost of the path to the CIST Regional Root 
        as seen from this bridge."
   ::= { dot1sBosMst 8 } 

bosMstCistRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the CIST Root Bridge."
   ::= { dot1sBosMst 9 } 

bosMstCistBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440) 
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The Value of the writable portion of the Bridge
        Identifier comprising of the first two octets.
        The values that are set for Bridge Priority must be 
        in steps of 4096."
   DEFVAL {32768}
   ::= { dot1sBosMst 10 } 

bosMstCistBridgeMaxAge OBJECT-TYPE
   SYNTAX      Timeout (6..40)  
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for MaxAge when
         this bridge is acting as the root. The granularity 
         of this timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {20}
   ::= { dot1sBosMst 11 } 

bosMstCistBridgeForwardDelay OBJECT-TYPE
   SYNTAX      Timeout (4..30)  
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
        "The value that all bridges use for ForwardDelay
         when this bridge is acting as the root.  Note that
         802.1D specifies that the range for this
         parameter is related to the value of
         BridgeMaxAge.  The granularity of this
         timer is specified to be 1 second.
         An agent may return a badValue error if a set is
         attempted to a value which is not a whole number
         of seconds."
   DEFVAL {15}
   ::= { dot1sBosMst 12 } 

bosMstCistMaxAge OBJECT-TYPE
   SYNTAX      Timeout
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
         "The maximum age of Spanning Tree Protocol
          information learned from the network on any port
          before it is discarded, in units of a second.  This is the actual value that this
          bridge is currently using."
   ::= { dot1sBosMst 13 } 

bosMstCistForwardDelay OBJECT-TYPE
   SYNTAX      Timeout
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
   	  "This time value, measured in units of a second, 
       controls how fast a port changes its
	   spanning state when moving towards the Forwarding
	   state.  The value determines how long the port
	   stays in a particular state before moving to the
	   next state."
   ::= { dot1sBosMst 14 } 


bosMstMstiRegionName OBJECT-TYPE
   SYNTAX      DisplayString (SIZE (0..32))
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "The Name for the Region's configuration. By Default 
       Region Name is NULL."
   ::= { dot1sBosMst 15 } 

bosMstMstiRegionVersion OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current
   DESCRIPTION
      "Version of the MST Region."
   ::= { dot1sBosMst 16 } 

bosMstMstiConfigDigest OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE (0..32))
   MAX-ACCESS  read-only 
   STATUS      current
   DESCRIPTION
      "The Configuration Digest value for this Region."
   ::= { dot1sBosMst 17 } 

bosMstBufferOverFlowCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times Buffer overflows/failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { dot1sBosMst 18 } 

bosMstMemAllocFailureCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times memory allocation failures have occured.
        A Trap is generated on the occurence of this event." 
   ::= { dot1sBosMst 19 } 

bosMstRegionConfigChangeCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a Region Configuration Identifier Change 
	      was detected. 
         A Trap is generated on the occurence of this event." 
   ::= { dot1sBosMst 20 } 

bosMstCistBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           of this bridge in Common Spanning Tree context"           
   ::= { dot1sBosMst 21 } 

-- bosMstCistTimeSinceTopologyChange OBJECT-TYPE
--    SYNTAX      TimeTicks 
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION
--          "The time (in hundredths of a second) since the
--          TcWhile Timer for any port in this Bridge was 
--          non-zero for Common Spanning Tree context."
--    ::= { dot1sBosMst 22 } 

bosMstCistTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for Common
         Spanning Tree context."
   ::= { dot1sBosMst 23 } 

bosMstCistNewRootBridgeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for Common Spanning Tree context.
          A Trap is generated on the occurence of this event."
   ::= { dot1sBosMst 24 } 

bosMstCistHelloTime OBJECT-TYPE
   SYNTAX      Timeout
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
           "This time value, measured in units of a second, 
           specifies the amount of time between
           the transmission of configuration BPDUs by this node
           on any port when it is the root of the spanning tree 
           or trying to become so."
   ::= { dot1sBosMst 25 } 

bosMstCistBridgeHelloTime OBJECT-TYPE
   SYNTAX      Timeout (1..10)  
   MAX-ACCESS  read-write  
   STATUS      current
   DESCRIPTION
           "The amount of time between the transmission of
           Configuration bridge PDUs by this node in units 
           of a second."
      ::= { dot1sBosMst 26 }


-- SCALAR STOP

-- -----------------------------------------------------------------
-- Bos Mst Multiple Spanning Tree Instance Bridge Table
-- -----------------------------------------------------------------

bosMstMstiBridgeTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF BosMstMstiBridgeEntry      
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION
      "Table containing Bridge Information specific to Spanning 
       Tree Instance."
   ::= { dot1sBosMst 27 } 
 
bosMstMstiBridgeEntry OBJECT-TYPE
   SYNTAX      BosMstMstiBridgeEntry       
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry indicating the Bridge Information."
   INDEX { bosMstMstiInstanceIndex }
   ::= { bosMstMstiBridgeTable 1 }

BosMstMstiBridgeEntry ::=
   SEQUENCE {
      bosMstMstiInstanceIndex 
            Integer32,
      bosMstMstiBridgeRegionalRoot 
            BridgeId,
      bosMstMstiBridgePriority 
            Integer32,
      bosMstMstiRootCost 
            Integer32,
      bosMstMstiRootPort 
            Integer32,
--       bosMstMstiTimeSinceTopologyChange 
--             TimeTicks,
      bosMstMstiTopChanges 
            Counter32,
      bosMstMstiNewRootBridgeCount 
            Counter32,
      bosMstMstiBridgeRoleSelectionSemState 
            INTEGER,
      bosMstInstanceUpCount 
            Counter32,
      bosMstInstanceDownCount 
            Counter32,
      bosMstOldDesignatedRoot 
            BridgeId
   }

bosMstMstiInstanceIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..32)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Spanning Tree Instance to which the information belongs."
   ::= { bosMstMstiBridgeEntry 1 }

bosMstMstiBridgeRegionalRoot OBJECT-TYPE
   SYNTAX      BridgeId  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "MSTI Regional Root Identifier value for the Instance. This value 
       is used as the MSTI Regional Root Identifier parameter in all
       Configuration Bridge PDUs originated by this node"
   ::= { bosMstMstiBridgeEntry 2 }

bosMstMstiBridgePriority OBJECT-TYPE
   SYNTAX      Integer32 (0..61440) 
   MAX-ACCESS  read-write     
   STATUS      current 
   DESCRIPTION 
      "The writable portion of the MSTI Bridge Identifier.
       comprising of the first two octets.
       The values that are set for Bridge Priority must be 
       in steps of 4096."
   DEFVAL {32768}
   ::= { bosMstMstiBridgeEntry 3 }

bosMstMstiRootCost OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Cost of the path to the MSTI Regional Root as seen 
       by this bridge." 
   ::= { bosMstMstiBridgeEntry 4 }

bosMstMstiRootPort OBJECT-TYPE
   SYNTAX      Integer32  
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "The Port Number of the Port which offers the lowest    
       path cost from this bridge to the MSTI Region Root Bridge."
   ::= { bosMstMstiBridgeEntry 5 }

-- bosMstMstiTimeSinceTopologyChange OBJECT-TYPE
--    SYNTAX      TimeTicks 
--    MAX-ACCESS  read-only
--    STATUS      current
--    DESCRIPTION
--          "The time (in hundredths of a second) since the
--          TcWhile Timer for any port in this Bridge was 
--          non-zero for this spanning tree instance."
--    ::= { bosMstMstiBridgeEntry 6 }

bosMstMstiTopChanges OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times that there have been atleast
         one non-zero TcWhile Timer on this Bridge for this
         spanning tree instance."
   ::= { bosMstMstiBridgeEntry 7 }

bosMstMstiNewRootBridgeCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
         "The number of times this Bridge has detected a Root
          Bridge change for this spanning tree instance.
          A Trap is generated on the occurence of this event."
   ::= { bosMstMstiBridgeEntry 8 }

bosMstMstiBridgeRoleSelectionSemState OBJECT-TYPE
      SYNTAX      INTEGER {
                  initbridge (0),
                  roleselection (1)
               }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port Role Selection State Machine          
           for this spanning tree instance for this bridge."           
   ::= { bosMstMstiBridgeEntry 9 }

bosMstInstanceUpCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a new spanning tree instance has
         been created. 
         A Trap is generated on the occurence of this event."
   ::= { bosMstMstiBridgeEntry 10 }

bosMstInstanceDownCount OBJECT-TYPE
   SYNTAX      Counter32 
   MAX-ACCESS  read-only  
   STATUS      current
   DESCRIPTION
        "The number of times a spanning tree instance has
         been deleted.
         A Trap is generated on the occurence of this event."
   ::= { bosMstMstiBridgeEntry 11 }

bosMstOldDesignatedRoot OBJECT-TYPE
       SYNTAX  BridgeId
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bridge identifier of the old root of the spanning
               tree instance as determined by the Spanning Tree Protocol
               as executed by this node. "
       ::= { bosMstMstiBridgeEntry 12 }

-- -----------------------------------------------------------------
-- Bos Mst VlanId to Instance Mapping Table               
-- -----------------------------------------------------------------

bosMstVlanInstanceMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosMstVlanInstanceMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains one entry for each instance of MSTP." 
     ::= { dot1sBosMst 28 }

bosMstVlanInstanceMappingEntry OBJECT-TYPE
      SYNTAX      BosMstVlanInstanceMappingEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A conceptual row containing the status of the MSTP instance."
      INDEX  { bosMstInstanceIndex }
      ::= { bosMstVlanInstanceMappingTable 1 }

BosMstVlanInstanceMappingEntry ::= 
   SEQUENCE {
       bosMstInstanceIndex  
            Integer32,
       bosMstMapVlanIndex 
            VlanId,
       bosMstUnMapVlanIndex 
            VlanId,
       bosMstSetVlanList 
            OCTET STRING,
       bosMstResetVlanList 
            OCTET STRING,
       bosMstInstanceVlanMapped 
            OCTET STRING,
       bosMstInstanceVlanMapped2k 
            OCTET STRING,
       bosMstInstanceVlanMapped3k 
            OCTET STRING,
       bosMstInstanceVlanMapped4k 
            OCTET STRING
   }

bosMstInstanceIndex OBJECT-TYPE
      SYNTAX      Integer32 (1..32)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "An arbitrary integer within the range from 1 to the value of
           Max Instance Number that uniquely identifies an instance."
      ::= { bosMstVlanInstanceMappingEntry 1 }

bosMstMapVlanIndex OBJECT-TYPE
      SYNTAX        VlanId
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION 
          "The VlanId will get mapped to the spanning tree instance 
           specified. All the Instance Specific information for the 
           Member ports of the Vlan will be created.This object is 
           used only for SET operation.GET Operation returns null values.
           If the VlanId to Instance Mapping has to be known then any 
           one of the VlanMapped object should be used."
      ::= { bosMstVlanInstanceMappingEntry 2 }

bosMstUnMapVlanIndex OBJECT-TYPE
      SYNTAX        VlanId
      MAX-ACCESS    read-write
      STATUS        current
      DESCRIPTION 
          "The VlanId will get unmapped from spanning tree instance
          to which it it mapped. All the Instance Specific information
          for the Member ports of the Vlan will get released.This object 
          is used only for SET operation.GET Operation returns null values."
      ::= { bosMstVlanInstanceMappingEntry 3 }

bosMstSetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
   	 "A string of octets containing one bit per VLAN. The
	  first octet corresponds to VLANs with VlanIndex values
	  1 through 8; the second octet to VLANs 9 through
	  16 etc.  The most significant bit of each octet
	  corresponds to the lowest VlanIndex value in that octet.
	  The set of vlans configured by management to map for this 
	  Instance.  If the VlanId to Instance Mapping has to be known
      then any one of the VlanMapped object should be used.If a 
      vlan is already mapped to this Instance, it may not be mapped 
      again. This object is used only for SET operation.
      GET Operation returns null values."
    ::= { bosMstVlanInstanceMappingEntry 4 }

bosMstResetVlanList OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..512))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
   	 "A string of octets containing one bit per VLAN. The
	  first octet corresponds to VLANs with VlanIndex values
	  1 through 8; the second octet to VLANs 9 through
	  16 etc.  The most significant bit of each octet
	  corresponds to the lowest VlanIndex value in that octet.
	  The set of vlans configured by management to unmap from this 
	  Instance. A vlan may not be unmapped from this instance if 
	  it is not already mapped to this Instance. This object is
      used only for SET operation.GET Operation returns null values."
    ::= { bosMstVlanInstanceMappingEntry 5 }

bosMstInstanceVlanMapped OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'."
    ::= { bosMstVlanInstanceMappingEntry 6 }

bosMstInstanceVlanMapped2k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 1024 through 2047. The
            first octet corresponds to VLANs with VlanIndex values
            1024 through 1031; the second octet to VLANs 1032
            through 1039 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.
            
            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { bosMstVlanInstanceMappingEntry 7 }

bosMstInstanceVlanMapped3k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 2048 through 3071. The
            first octet corresponds to VLANs with VlanIndex values
            of 2048 through 2055; the second octet to VLANs 2056
            through 2063 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.

            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { bosMstVlanInstanceMappingEntry 8 }

bosMstInstanceVlanMapped4k OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A string of octets containing one bit per VLAN for
            VLANS with VlanIndex values 3072 through 4095. The
            first octet corresponds to VLANs with VlanIndex values
            3072 through 3079; the second octet to VLANs 3080
            through 3087 etc.  The most significant bit of each
            octet corresponds to the lowest VlanIndex value in that
            octet.

            For each VLAN that is mapped to this MSTP instance,
            the bit corresponding to that VLAN is set to '1'.

            This object is only instantiated on devices with 
            support for VlanIndex values up to 4095."
    ::= { bosMstVlanInstanceMappingEntry 9 }

-- -----------------------------------------------------------------
-- Bos Mst Multiple Spanning Tree Instance Port Table     
-- -----------------------------------------------------------------
bosMstMstiPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosMstMstiPortEntry              
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Spanning Tree Instance Specific Port
           Information."
     ::= { dot1sBosMst 30 }

bosMstMstiPortEntry OBJECT-TYPE
      SYNTAX      BosMstMstiPortEntry               
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for each 
           and every spanning tree instance."
      INDEX  { bosMstMstiPort, bosMstInstanceIndex }
      ::= { bosMstMstiPortTable 1 }

BosMstMstiPortEntry ::= 
   SEQUENCE {
       bosMstMstiPort  
            Integer32,
       bosMstMstiPortPathCost 
            Integer32,
       bosMstMstiPortPriority 
            Integer32,
       bosMstMstiPortDesignatedRoot 
            BridgeId,
       bosMstMstiPortDesignatedBridge 
            BridgeId,
       bosMstMstiPortDesignatedPort 
            OCTET STRING,
       bosMstMstiPortState 
            INTEGER,
       bosMstMstiForcePortState 
            INTEGER,
       bosMstMstiPortDesignatedCost 
            Integer32,
       bosMstMstiCurrentPortRole  
            INTEGER
}

bosMstMstiPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains   
           spanning tree information."                                      
      ::= { bosMstMstiPortEntry 1 }

bosMstMstiPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (0..200000000)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of
           paths towards the MSTI Root which include this port."
      ::= { bosMstMstiPortEntry 2 }

bosMstMstiPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier 
          for a given Spanning Tree instance can be modified 
          independently for each Spanning Tree instance 
          supported by the Bridge. The values that are set for Port 
          Priority must be in steps of 16."
    DEFVAL {128}
      ::= { bosMstMstiPortEntry 3 }

bosMstMstiPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the  
           MSTI Regional Root in the configuration BPDUs transmitted."      
      ::= { bosMstMstiPortEntry 4 }

bosMstMstiPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId                 
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port  
           considers to be the Designated Bridge for the port's segment."   
      ::= { bosMstMstiPortEntry 5 }

bosMstMstiPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge    
           for this port's segment."                                           
      ::= { bosMstMstiPortEntry 6 }

bosMstMstiPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only            
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Multiple  
           spanning tree protocol. Port which is Forwarding state
           in one instance can be in Discarding (Blocking) state 
           in another instance."
      ::= { bosMstMstiPortEntry 7 }

bosMstMstiForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either 
           Disabled or Enabled for the specific spanning tree   
           instance. This object can be set to enabled only if the 
           'bosMstCistForcePortState' is set to 'enabled' for this port"                                            
      ::= { bosMstMstiPortEntry 8 }

bosMstMstiPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only           
      STATUS      current
      DESCRIPTION
            "The path cost of the Designated Port of the
             segment connected to this port."
      ::= { bosMstMstiPortEntry 9 }

bosMstMstiCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {              
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4),
                   master(5)
                  }
      MAX-ACCESS  read-only        
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning 
          tree instance."                                      
      ::= { bosMstMstiPortEntry 10 }

-- SCALAR ADDED
bosMstCistDynamicPathcostCalculation OBJECT-TYPE
      SYNTAX      TruthValue               
      MAX-ACCESS  read-write           
      STATUS      current
      DESCRIPTION
         "This object is used to determine whether dynamic pathcost
          calculation is allowed or not.The value is determined by 
          management. If set to true, pathcost is calculated dynamically 
          from port speed, otherwise the link speed at the time of port 
          creation is used for calculating the path cost. In both cases
          if the user has configured a pathcost for the port that will be 
          used. By default dynamic pathcost calculation is set to false."
      DEFVAL { false }
      ::= { dot1sBosMst  31 }
--SCALAR STOP

-- TRAP MIB BEGIN
bosMstSetTraps OBJECT-TYPE
        SYNTAX   Integer32 (0..255)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION
           "This object is used to enable and  disable  specific
           MSTP traps. Currently the following are defined
           0 - Traps are not enabled.
           1 - General Traps like protocol up or down 
           2 - Exception Traps like memory failure or buffer failure 
                    or port protocol migration or invalid packet rcvd in port
           3 - All the above Traps "
    ::= { dot1sBosMstTrapsControl 1 }


 bosMstGenTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    up (1),
                    down (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The general events like 
           none - none of the below values
           up - protocol UP,
           down - protocol DOWN" 
   ::= { dot1sBosMstTrapsControl 2 }


 bosMstErrTrapType OBJECT-TYPE
       SYNTAX   INTEGER   {
                    none (0),
                    memfail (1),
                    bufffail (2)
                    }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "The error event like
            none - none of the below values
            memfail - memory allocation failure
            bufffail - buffer allocation failure"
   ::= { dot1sBosMstTrapsControl 3 }

bosMstPortTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BosMstPortTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port for protocol migration and 
       invalid packet received"
   ::= { dot1sBosMstTrapsControl 4 }

bosMstPortTrapNotificationEntry OBJECT-TYPE
   SYNTAX      BosMstPortTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { bosMstPortTrapIndex}
   ::= { bosMstPortTrapNotificationTable 1 }

BosMstPortTrapNotificationEntry ::=
        SEQUENCE {
               bosMstPortTrapIndex
               Integer32,
               bosMstPortMigrationType 
               INTEGER,
               bosMstPktErrType
               INTEGER,
               bosMstPktErrVal
               INTEGER
        }

 bosMstPortTrapIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { bosMstPortTrapNotificationEntry 1 }

 bosMstPortMigrationType OBJECT-TYPE
      SYNTAX      INTEGER {
                  sendstp (0),
                  sendrstp (1)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Port Protocol migration type occured in the port"
   ::= { bosMstPortTrapNotificationEntry 2 }

 bosMstPktErrType OBJECT-TYPE
      SYNTAX      INTEGER {
                  protocolIdErr(0),
                  invalidBpdu(1),
                  configLengthErr(2),
                  tcnLengthErr(3),
                  rstpLengthErr(4),
                  maxAgeErr(5),
                  fwdDelayErr(6),
                  helloTimeErr(7),
                  mstpLengthErr(8)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Type of invalid packet received in each of the port "
   ::= { bosMstPortTrapNotificationEntry 3 }

 bosMstPktErrVal OBJECT-TYPE
       SYNTAX   Integer32 
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Packet error value corresponding to the above type "
   ::= { bosMstPortTrapNotificationEntry 4 }

bosMstPortRoleTrapNotificationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BosMstPortRoleTrapNotificationEntry 
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
       "This table is used to store the notification information
       occured in each of the port during role change."
   ::= { dot1sBosMstTrapsControl 5 }

bosMstPortRoleTrapNotificationEntry OBJECT-TYPE
   SYNTAX      BosMstPortRoleTrapNotificationEntry 
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       " This entry is used to store the notification information"
   INDEX { bosMstPortTrapIndex, bosMstMstiInstanceIndex}
   ::= { bosMstPortRoleTrapNotificationTable 1 }

BosMstPortRoleTrapNotificationEntry ::=
        SEQUENCE {
		bosMstPortRoleType
		INTEGER,
		bosMstOldRoleType
		INTEGER
	}

 bosMstPortRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4),
		  masterport(5)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role Selected for the Port"
   ::= { bosMstPortRoleTrapNotificationEntry 1 }

 bosMstOldRoleType OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4),
		  masterport(5)
                  }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
           "Particular Role which is existing for the Port"
   ::= { bosMstPortRoleTrapNotificationEntry 2 }

 bosMstTraps OBJECT IDENTIFIER ::= { dot1sBosMstTraps 0 }

 bosMstGenTrap NOTIFICATION-TYPE
        OBJECTS {
           	 bosMstBrgAddress,
           	 bosMstGenTrapType, 
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the general events like protocol up or 
          protocol down occurs"
   ::= { bosMstTraps 1 }

 bosMstErrTrap NOTIFICATION-TYPE
        OBJECTS {
           	 bosMstBrgAddress,
           	 bosMstErrTrapType,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when any of the error events like memory failure or buffer failure
          or protocol migration or new root or topology change occurs "
   ::= { bosMstTraps 2 }

 bosMstNewRootTrap NOTIFICATION-TYPE
        OBJECTS {
                  bosMstBrgAddress,
                  bosMstOldDesignatedRoot,
                  bosMstMstiBridgeRegionalRoot,
		  bosMstMstiInstanceIndex,
		  bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new root bridge is selected in the topology "
   ::= { bosMstTraps 3 }

 bosMstTopologyChgTrap NOTIFICATION-TYPE
        OBJECTS {
                 bosMstBrgAddress,
		 bosMstMstiInstanceIndex,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when topology change is detected "
   ::= { bosMstTraps 4 }

 bosMstProtocolMigrationTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosMstBrgAddress,
            	 bosMstPortMigrationType, 
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when port protocol migration happens in the port "
   ::= { bosMstTraps 5 }

bosMstInvalidBpduRxdTrap NOTIFICATION-TYPE
        OBJECTS {
            	 bosMstBrgAddress,
            	 bosMstPktErrType,
            	 bosMstPktErrVal,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when the invalid packet is received for 
          bpdu/stp/rstp/maximum age/forward delay/hello time"
   ::= { bosMstTraps 6 }

bosMstRegionConfigChangeTrap NOTIFICATION-TYPE
        OBJECTS {
		 bosMstBrgAddress, 
            	 bosMstMstiRegionName, 
		 bosMstMstiRegionVersion,
		 bosMstMstiConfigDigest,
		 bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated when the MST region's configuration     
          identifier changes."
   ::= { bosMstTraps 7 }

bosMstNewPortRoleTrap NOTIFICATION-TYPE
        OBJECTS {
		  bosMstBrgAddress,
		  bosMstPortRoleType,
		  bosMstOldRoleType,
		  bntSwTrapDisplayString  
                }
        STATUS             current
        DESCRIPTION
         "Generated whenever a new role is selected for the port "
   ::= { bosMstTraps 8 }
-- TRAP MIB STOP

-- ----------------------------------------------------------------------------
-- } INSERT: mst
-- ----------------------------------------------------------------------------

bos                     OBJECT IDENTIFIER ::= { ex2500 81 }
-- ----------------------------------------------------------------------------
-- { INSERT: bos
-- ----------------------------------------------------------------------------

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


-- ----------------------------------------------------------------- -- 
-- groups in the MIB  
-- ----------------------------------------------------------------- -- 
 
      bosSystem                OBJECT IDENTIFIER ::= { bos 1 }
      bosConfigControl         OBJECT IDENTIFIER ::= { bos 2 }
-- ---------------------------------------------------------------- --

-- System Group 

-- System Information

bosHardwareVersion OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(1..15))
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Version number of the Hardware."
      DEFVAL { "" }
   ::= { bosSystem 2 }

   -- Configurtion Save related configuration / information

bosConfigSaveOption  OBJECT-TYPE
    SYNTAX      INTEGER {
                            noSave(1),
                            flashSave(2),
                            remoteTftpSave(3),
                            startupConfig(4),
                            backupConfig(5),
                            remoteTftpRestore(6)
       }
   MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
       "Specifies whether the configurations of the switch has to be
       saved or not.

       The value 'noSave' specifies that the configurations need
       not be saved.

       The value 'flashSave' specifies that the configurations need
       to be saved in flash in the specified file name issConfigSaveFileName.

       The value 'remoteSave' specifies that the configurations need
       to be saved in specified remote system.

       The value 'startupConfig' specifies that the configurations need
       to be saved in flash in the 'Startup Configuration File'.
       The value 'backupConfig' specifies that the configurations need
       to be saved in flash in the 'backup Configuration File'.

       The value 'remoteTftpRestore' specifies that the configurations need
       to be restored from remote system and saved in the file as indicated by
       'bosConfigRemoteType'. This configuration are copied to configuration blocks
       and applied after restart."
       DEFVAL  { noSave }
   ::= { bosSystem 10 }

bosConfigSaveFileName OBJECT-TYPE
       SYNTAX      DisplayString (SIZE(1..128))
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
       "Name of the file in which the switch configurations are
       to be saved.

       This object is valid only if 'issConfigSaveOption' is chosen
       to be 'flashSave' or 'remoteSave'."
       DEFVAL { "iss.conf" }
   ::= { bosSystem 12 }


bosConfigSaveStatus OBJECT-TYPE
   SYNTAX     INTEGER {
              saveInProgress(1),
              saveSuccessful(2),
              saveFailed(3),
              notInitiated(4),
              saveNotRequired(5)
             }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Status of configuration save operation."
   DEFVAL  { notInitiated }
   ::= { bosSystem 14 }

  bosConfigRestoreOption  OBJECT-TYPE
       SYNTAX      INTEGER {
           factory(1),
               activeConfig(2),
               backupConfig(3)
       }
   MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
       "Specifies whether the switch configurations have to be restored
       or not.

       The value 'factory' specifies that the switch configurations
       need not be restored when the system is restarted.

       The value 'activeConfig' specifies that the configurations
       need to be restored from the 'Startup Configuration File' in the flash
       when the system is restarted.

       The value 'backupConfig' specifies that the configurations
       need to be restored from the 'Backup Configuration File' in the flash
       when the system is restarted."
       DEFVAL  { factory }
   ::= { bosSystem 15 }


   bosConfigRestoreStatus    OBJECT-TYPE
       SYNTAX      INTEGER {
           restoreInprogress(1),
               restoreSuccessful(2),
               restoreFailed(3),
               notInitiated(4)
       }
   MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
       "The status of the switch configuration restore operation."
       DEFVAL  { notInitiated }
   ::= { bosSystem 19 }


   bosLoggingOption OBJECT-TYPE
       SYNTAX      INTEGER {
           console(1)
       }
   MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
       "The Logging option specifying whether the logging is to be
       done at console or to a file(system buffer) in the system."
       ::= { bosSystem 26 }

-- Login Authentication mechanism

bosLoginAuthentication OBJECT-TYPE
   SYNTAX      INTEGER {
               local(1),
               remoteRadius(2),
               remoteTacacs(3)
              }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The mechanism by which the user login to access the GUI for 
       configuration has to be authenticated. Authentication is done 
       either locally or in the remote side through a RADIUS Server."
   ::= { bosSystem 32 }

--bosSwitchBaseMacAddress OBJECT-TYPE 
--   SYNTAX      MacAddress
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "Ethernet address (base address) of the Switch.
--       This base Mac Address, if modified, will take effect only when the
--       Switch is restarted."
--      
--   DEFVAL  { '000102030405'h }
--   ::= { bosSystem 33 }



    bosSwitchDate OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(40))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION

    " The date is configured in the switch in the format, 
    Hours:Minutes:Seconds Day Month Year
    e.g 19:10:31 11 08 2005

    01-12  Month - beginning from January to December
    The railway time  00 to 24 hours can be configured and 
    displayed. 
    The Display of the date is in the format ,
    WeekDay  Month  Day  Hours:Minutes:Seconds Year
    e.g 04 09 21 18:11:30 2005 

    01-07  WeekDay - beginning from Sunday to Saturday
    01-12  Month - beginning from January to December "

    ::= { bosSystem 35 }


bosHttpStatus  OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling HTTP in the system."

   DEFVAL  { enable }
   ::= { bosSystem 39 }

bosConfigRestoreFileVersion OBJECT-TYPE 
   SYNTAX      DisplayString (SIZE(1..12))
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION 
      "Config Restoration file version. This version will be compared in each
       reboot against version stored in restoration file. Restoration 
       will occur only if the first field in restoration file is this OID and the
       RestoreFileVersion value also matches."
   ::= { bosSystem 40 }

--#ifdef BNTGLUE_WANTED /* INCLUDE_BNT */
bosTelnetStatus  OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2),
                enableInProgress(3),
                disableInProgress(4)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling the TELNET access to the
      system. Set operation of enable will move this object to the 
       enableInProgress first and then to the enable state on successful
       transition. Otherwise it will move back to the old state. Same applies
       to the disable also.
       enableInProgress and disableInProgres are not admin configurable values."
   DEFVAL  { enable }
   ::= { bosSystem 46 }

bosTimeZone    OBJECT-TYPE
   SYNTAX      Integer32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Timezone values can be 1-374. To unset Timezone use Value 0."
   ::= { bosSystem 47}

bosDayLightSaving  OBJECT-TYPE
   SYNTAX      INTEGER {
               enabled (1),
               disabled (2)
              }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "DayLight Saving can be enabled/disabled."
   ::= { bosSystem 48}

bosLastBootTime  OBJECT-TYPE
    SYNTAX       DisplayString (SIZE(40))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION

        "The Display of the date is in the format ,
    WeekDay  Month  Day  Hours:Minutes:Seconds Year
        e.g 04 09 21 18:11:30 2005

        01-07  WeekDay - beginning from Sunday to Saturday
        01-12  Month - beginning from January to December "

   ::= { bosSystem 49}

bosAllocCount OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Total number of packet allocations from the packet buffer pool by 
         the TCP/IP protocol stack."
    ::= { bosSystem 50 }

bosReleaseCount OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Total number of times the packet buffers are freed(released) to the
         packet buffer pool by the TCP/IP protocol stack."
    ::= { bosSystem 51 }

bosAllocFailCount OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Total number of packet allocation failures from the packet buffer 
         pool by the TCP/IP protocol stack."
    ::= { bosSystem 52 }

bosPeakUsageCount OBJECT-TYPE
    SYNTAX  Unsigned32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The highest number of packet allocations with size greater than 
         128 bytes and less than or equal to 1536 bytes from the packet 
         buffer pool by the TCP/IP protocol stack."
    ::= { bosSystem 53 }


--endif /* INCLUDE_BNT */
------ Config Control Group ------------------------------------

bosConfigCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF BosConfigCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to control device features like egress traffic control,
        stats collection, etc. either for the entire switch or for each
        interface in the switch."
   ::= { bosConfigControl 1 }

bosConfigCtrlEntry OBJECT-TYPE 
   SYNTAX      BosConfigCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface in the system.
   
       In addition to that an entry with index '0' is created in this
       table by default.
       
       If 'bosConfigCtrlStatus' of the entry '0' is made 'valid', then
       global control is chosen and the values against entry '0' is 
       applicable for all the interfaces of the switch.
   
       If 'bosConfigCtrlStatus' of the entry '0' is made 'invalid', 
       then interface-wise control is chosen & the values against each 
       interface index is applicable for that interface.
       
       At a particular point of time, either global control will be
       applicable or interface-wise control is applicable. 
       Both will not be considered together.
       
       Index to the table is the interface index of the port."

   INDEX { bosConfigCtrlIndex }
   ::= { bosConfigCtrlTable 1 }
   
BosConfigCtrlEntry ::= 
   SEQUENCE { 
      bosConfigCtrlIndex 
         Integer32,
      bosConfigCtrlEgressStatus
         INTEGER,
      bosConfigCtrlStatsCollection 
         INTEGER,
      bosConfigCtrlStatus
         INTEGER
  }

bosConfigCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Interface index of the port for which the configuration
      in this entry applies.
   
      If any configuration is made in this table for the index '0',
      that configuration will be considered as global configuration 
      and is applicable for all the interfaces of the switch."
   ::= { bosConfigCtrlEntry 1 }
    
bosConfigCtrlEgressStatus OBJECT-TYPE
   SYNTAX      INTEGER {
               enabled (1),
               disabled (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Controls the transmission of egress traffic over this interface.
      
       This value for entry '0' controls the egress traffic over all 
       interfaces."
   DEFVAL  { enabled }
   ::= { bosConfigCtrlEntry 2 }
   
   
bosConfigCtrlStatsCollection OBJECT-TYPE 
   SYNTAX      INTEGER {
               enabled (1),
               disabled (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Enables or disables statistics collection for this interface.
    
       This value for entry '0' controls the stats collection for all
       interfaces."
   DEFVAL  { enabled }
   ::= { bosConfigCtrlEntry 3 }
   
bosConfigCtrlStatus OBJECT-TYPE 
   SYNTAX      INTEGER {
               valid (1),
               invalid (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Speficies the validity of the entry.
       
       If the 'Config Control Status' for entry '0' is made 'valid',
       then global control is chosen in the system.
       It signifies that the values against entry '0' is applicable 
       for all the interfaces of the switch.
   
       If the 'Config Control Status' for entry '0' is made 'invalid',
       then interface-wise control is chosen.
       Then the values against each interface index is applicable 
       for that interface.
       
       By default, 'bosConfigCtrlStatus' will be 'invalid' for 
       entry '0' and 'valid' for all other entries. 
       (ie) by default, interface-wise configuration is enabled
       in the system.
       
       The status of entries other than the zeroth(0th) entry can not be
       made 'invalid'."
   ::= { bosConfigCtrlEntry 4 }


-- Port Control Table 

bosPortCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF BosPortCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to control the port specific parameters of the device like speed,
        duplex mode, etc."
   ::= { bosConfigControl 2 }

bosPortCtrlEntry OBJECT-TYPE 
   SYNTAX      BosPortCtrlEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "An entry appears in this table for each interface in the system.
   
       Index to the table is the interface index of the port."

   INDEX { bosPortCtrlIndex }
   ::= { bosPortCtrlTable 1 }
   
BosPortCtrlEntry ::= 
   SEQUENCE { 
      bosPortCtrlIndex 
         Integer32, 
      bosPortCtrlMode
         INTEGER, 
      bosPortCtrlDuplex
         INTEGER,
      bosPortCtrlSpeed
         INTEGER, 
      bosPortCtrlFlowControl
         INTEGER,
      bosPortCtrlOperDuplex
         INTEGER,
      bosPortCtrlOperSpeed
         INTEGER 
--      bosPortCtrlRenegotiate
--         INTEGER, 
--      bosPortCtrlMaxMacAddr 
--         Integer32,
--      bosPortCtrlMaxMacAction 
--          INTEGER,
--      bosPortHOLBlockPrevention
--         INTEGER
  }

bosPortCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Interface index of the port for which the configuration
      in this entry applies."
   
   ::= { bosPortCtrlEntry 1 }

bosPortCtrlMode OBJECT-TYPE 
   SYNTAX      INTEGER {
                 auto          (1),
                 noNegotiation (2)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Speficies the mode in which the speed, duplex modes and flow control
       of the interface is determined.

       If set as 'auto', the hardware senses speed and negotiates with the port 
       on the other end of the link for data transfer operation as
       'full-duplex' or 'half-duplex' and about flow contol.
       
       If set as 'nonegotiation', the configured values for interface 
       speed, duplex mode and flow control will be effective."
       
   DEFVAL  { auto }
   ::= { bosPortCtrlEntry 2 }

bosPortCtrlDuplex OBJECT-TYPE 
   SYNTAX      INTEGER {
                 full  (1),
                 half  (2),
		 any   (3)
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface data transfer mode as full-duplex or half-duplex.
      
      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'. 
      If the 'PortCtrlMode' is 'auto', it obtains the value 'any'"

   ::= { bosPortCtrlEntry 3 }

bosPortCtrlSpeed OBJECT-TYPE 
   SYNTAX      INTEGER {
                 tenMBPS     (1),
                 hundredMBPS (2),
                 oneGB       (3),
                 tenGB       (4),
		 any         (5)	
              }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Configures interface speed.

      This object can be configured only if the 'PortCtrlMode' is 'nonegotiation'.
      If the 'PortCtrlMode' is 'auto', it obtains the value 'any'"
     
   ::= { bosPortCtrlEntry 4 }

   bosPortCtrlFlowControl OBJECT-TYPE
       SYNTAX      INTEGER {
           disabled(1),
           enabledXmit(2),
           enabledRcv(3),
           enabledXmitAndRcv(4)
       }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION "This object is used to configure the default
   administrative PAUSE mode for this interface.

   This object represents the
   administratively-configured PAUSE mode for this
   interface.  If auto-negotiation is not enabled
   or is not implemented for the active MAU
   attached to this interface, the value of this
   object determines the operational PAUSE mode
   of the interface whenever it is operating in
   full-duplex mode.  In this case, a set to this
   object will force the interface into the
   specified mode.

   If auto-negotiation is implemented and enabled
   for the MAU attached to this interface, the
       PAUSE mode for this interface is determined by
           auto-negotiation, and the value of this object
           denotes the mode to which the interface will
           automatically revert if/when auto-negotiation is
           later disabled.  Note that when auto-negotiation
           is running, administrative control of the PAUSE
           mode may be accomplished using the
           ifMauAutoNegCapAdvertisedBits object in the
           MAU-MIB.

           Note that the value of this object is ignored
           when the interface is not operating in
           full-duplex mode.

           An attempt to set this object to
           'enabledXmit(2)' or 'enabledRcv(3)' will fail
           on interfaces that do not support operation
           at greater than 100 Mb/s."
   ::= { bosPortCtrlEntry 5 }

bosPortCtrlOperDuplex OBJECT-TYPE 
   SYNTAX      INTEGER {
                 full  (1),
                 half  (2)
              }
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
             "This object reflects the interface current data 
             transfer mode, as determined by either (1) the result of the 
             auto-negotiation function or (2) if auto-negotiation is not
             enabled."

   ::= { bosPortCtrlEntry 6 }

bosPortCtrlOperSpeed OBJECT-TYPE 
   SYNTAX      INTEGER {
                 tenMBPS     (1),
                 hundredMBPS (2),
                 oneGB       (3),
                 tenGB       (4)
              }
   MAX-ACCESS  read-only
   STATUS      current 
   DESCRIPTION 
             "This object reflects the interface current speed
             , as determined by either (1) the result of the 
             auto-negotiation function or (2) if auto-negotiation is not
             enabled."
   ::= { bosPortCtrlEntry 7 }

--issPortCtrlFlowControl OBJECT-TYPE 
--   SYNTAX      INTEGER {
--                 enable     (1),
--                 disable    (2)
--              }
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "Enables / disables flow control for the interface.

--      This object be configured only if the 'PortCtrlMode' is 'nonegotiation'.
--      If the 'PortCtrlMode' is 'auto', it obtains the value from Hardware 
--      after negotiating  with its peer"
--
--   ::= { bosPortCtrlEntry 5 }

-- bosPortCtrlRenegotiate OBJECT-TYPE 
--   SYNTAX      TruthValue
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "When configured as 'true', restarts autonegotiation on the interface.

--       Once autonegotiation is restarted, the value of this object reverts
--       to 'false'."

--   DEFVAL  { false }
--   ::= { bosPortCtrlEntry 6 }

--bosPortCtrlMaxMacAddr OBJECT-TYPE 
--   SYNTAX      Integer32
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "Specifies the maximum number of new MAC addresses that can be 
--      learnt over the interface."
--   ::= { bosPortCtrlEntry 7 }

--bosPortCtrlMaxMacAction OBJECT-TYPE 
--   SYNTAX      INTEGER {
--                  drop     (1),
--                  purgeLRU (2)
--               }
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "Specifies the action to be taken when the maximum number of new MAC 
--       addresses that can be learnt over the interface is exceeded.
      
--      If the action is 'drop', the packet with new mac address will be
--      dropped once the maximum number of new MAC addresses that can be
--      learnt over the interface is exceeded.

--      If the action is 'purgeLRU', the 'Least Recently Used' mac address
--      will be deleted from the MAC table and the new mac address will be
--      added."
--   ::= { bosPortCtrlEntry 8 }
--
--bosPortHOLBlockPrevention OBJECT-TYPE
--   SYNTAX       INTEGER {
--                   disabled  (1),
--                   enabled   (2)
--                }
--   MAX-ACCESS  read-write
--   STATUS      current
--   DESCRIPTION 
--      "Enables or disables Head-Of-Line Blocking prevention on a port."
--   DEFVAL  { enabled }
--   ::= { bosPortCtrlEntry 9 }

-- ----------------------------------------------------------------------------
-- } INSERT: bos
-- ----------------------------------------------------------------------------

bosext                  OBJECT IDENTIFIER ::= { bos 8 }
-- ----------------------------------------------------------------------------
-- { INSERT: bosExt
-- ----------------------------------------------------------------------------

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

-- ----------------------------------------------------------------- -- 
-- groups in the MIB  
-- ----------------------------------------------------------------- -- 

      bosRateControl           OBJECT IDENTIFIER ::= { bosext 4 }
      bosMacAcl              OBJECT IDENTIFIER ::= { bosext 5 }
      bosIpAcl              OBJECT IDENTIFIER ::= { bosext 6 }

-- Rate Control Group --------------------------------------------- --

bosRateCtrlTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF BosRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "A table to control the rate limiting parameters 
       either for the entire switch or for each interface in the switch."
   ::= { bosRateControl 1 }

bosRateCtrlEntry OBJECT-TYPE 
   SYNTAX      BosRateCtrlEntry 
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "An entry appears in this table for each physical
       interface in the switch."
   INDEX { bosRateCtrlIndex }
   ::= { bosRateCtrlTable 1 }
   
BosRateCtrlEntry ::= 
   SEQUENCE { 
      bosRateCtrlIndex 
         Integer32, 
      bosRateCtrlDLFLimitValue
         Integer32, 
      bosRateCtrlBCASTLimitValue
         Integer32, 
      bosRateCtrlMCASTLimitValue
         Integer32
  }

bosRateCtrlIndex OBJECT-TYPE 
   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "The interface index for which the configuration in this 
       entry applies."
   ::= { bosRateCtrlEntry 1 }
    
bosRateCtrlDLFLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of dlf packets that can be transmitted per second over this interface.
       Setting this object to the value zero disables rate limiting for 
       Destination lookup failure packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { bosRateCtrlEntry 2 }

bosRateCtrlBCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of broadcast packets that can be transmitted per second over this 
       interface. Setting this object to the value zero disables rate 
       limiting for Broadcast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { bosRateCtrlEntry 3 }


bosRateCtrlMCASTLimitValue OBJECT-TYPE 
   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Allows to configure the limiting value for the maximum number
       of multicast packets that can be transmitted per second over this 
       interface. Setting this object to the value zero disables rate 
       limiting for Multicast packets on this interface. The value that
       can be set for this object is limited by the underlying hardware"
       
   DEFVAL  {0}
   ::= { bosRateCtrlEntry 4}
   

-- ------------------------------------------------------------------ 
-- Mac Acl Group --------------------------------------------------

bosMacAclTable OBJECT-TYPE 

   SYNTAX      SEQUENCE OF BosMacAclEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "A table to configure Mac Acl rules in the system."
   ::= { bosMacAcl 1 }

bosMacAclEntry OBJECT-TYPE 
   SYNTAX      BosMacAclEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       "Each entry in this table is a Mac Acl rule.
   
       Index to the table is the Mac Acl number."
   INDEX { bosMacAclNo}
   ::= { bosMacAclTable 1 }
   
BosMacAclEntry ::= 
   SEQUENCE { 
      bosMacAclNo 
         Integer32, 
      bosMacAclProtocolType 
         Unsigned32, 
      bosMacAclDstMacAddr 
         MacAddress, 
      bosMacAclSrcMacAddr 
         MacAddress, 
      bosMacAclVlanId 
         Integer32,
      bosMacAclInPortList 
         PortList,
      bosMacAclOutPortList 
         PortList,
      bosMacAclAction 
         INTEGER, 
      bosMacAclMatchCount
         Counter32,
      bosMacAclStatsStatus
         TruthValue,   
      bosMacAclStats
         Counter32,
      bosMacAclClearStats
         INTEGER,
      bosMacAclUserPriority
         INTEGER,
      bosMacAclMirror
         INTEGER,
      bosMacAclMirrorPort
         Integer32,
      bosMacAclStatus
         RowStatus
  }

bosMacAclNo OBJECT-TYPE 
   SYNTAX      Integer32 (1..127)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Mac Acl rule number."
   ::= { bosMacAclEntry 1 }
    
bosMacAclProtocolType OBJECT-TYPE 
   SYNTAX      Unsigned32 (1536..65535) 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the non IP protocol type to be filtered.
       aarp | amber | dec-spanning | decnet-iv | 
       diagnostic | dsm |etype-6000 | etype-8042 | 
       lat | lavc-sca | mop-console | mop-dump | 
       msdos | mumps | netbios | vines-echo |
       vines-ip | xns-idp: A non-IP protocol.

      A value of '0' means, the filter is applicable for all protocols."
   DEFVAL  { 0 }
   ::= { bosMacAclEntry 2 }

bosMacAclDstMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Destination MAC address to be matched with the packet."
      
   ::= { bosMacAclEntry 3 }

bosMacAclSrcMacAddr OBJECT-TYPE 
   SYNTAX      MacAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Source MAC address to be matched with the packet."

   ::= { bosMacAclEntry 4 }

bosMacAclVlanId OBJECT-TYPE 
   SYNTAX      Integer32 (0..4094)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Vlan Id to be filtered. 
      A value of '0' means, no vlan is configured for filtering
      allowed."
   DEFVAL  { 0 }
   ::= { bosMacAclEntry 5 }

bosMacAclInPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which if the packet arrives
      the filter rule will be applicable.

      If the incoming port list is '0', the filter rule is applicable for all the 
      incoming ports.

      By default inport list is maintained as '0'." 
   ::= { bosMacAclEntry 6 }

bosMacAclOutPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION
      "This object is applicable only if the 'FilterAction' is 'allow'.

      If the out going port list is non-zero, the packet will be sent over
      the specifed ports only.

      If the out going port list is '0', the port over which the packet is
      to be switched will be based on further processing on the packet.
      By default inport list is maintained as '0'."
 
   ::= { bosMacAclEntry 7 }

bosMacAclAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  allow (1),
                  drop  (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken on the packet if the filter
      rule matches.
     
      If the action is 'allow', the packet will be forwarded according
      to the forwarding rules.
      
      If the action is 'drop', the packet will be discarded."

   DEFVAL  { allow } 
   ::= { bosMacAclEntry 8 }

bosMacAclMatchCount OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is matched."

   ::= { bosMacAclEntry 9 }

bosMacAclStatsStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "If stats status is true then
       the ACL's Hit Count is maintained."
   ::= { bosMacAclEntry 10 }
   
bosMacAclStats OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is hit."

   ::= { bosMacAclEntry 11 }
   
bosMacAclClearStats OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear ACL statistics"
    ::= {  bosMacAclEntry 12 }

bosMacAclUserPriority		OBJECT-TYPE
	SYNTAX		INTEGER (0..7)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" Used to set the user priority "
	DEFVAL	{ -1 }
	::= { bosMacAclEntry 13 }

bosMacAclMirror OBJECT-TYPE
    SYNTAX INTEGER {
      enable(1),
      disable(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object is used to specify the ACL action to mirror in addition
         to permit or deny. This attribute requires the ACL action to be 
         configured. This can be enabled only when object bosMacAclMirrorPort
         is configured."
    DEFVAL  { disable } 
    ::= {  bosMacAclEntry 14 }

bosMacAclMirrorPort OBJECT-TYPE
	SYNTAX		Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object is used to specify the port to which the packets matching
         the ACLs will be mirrored. This attribute will be operational only
         when bosMacAclMirror is enabled. Currently this supports only 
         system physical ports."
    ::= {  bosMacAclEntry 15 }

bosMacAclStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
      "This object indicates the status of this entry.
      
      The entry status will be made 'active' only if 

         --> Either of ProtocolType/src mac address /dst mac address is 
             configured in case of MacAcl.
      "
   ::= { bosMacAclEntry 16 }

-- ------------------------------------------------------------------ 
-- Ip Acl Group --------------------------------------------------

bosIpAclTable OBJECT-TYPE 
   SYNTAX      SEQUENCE OF BosIpAclEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " A table to configure Ip Acl rules in the system.
       "
   ::= { bosIpAcl 1 }

bosIpAclEntry OBJECT-TYPE 
   SYNTAX      BosIpAclEntry
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
       " Each entry in this table is a Ip Acl rule.
         Index to the table is Ip Acl number. "
   INDEX { bosIpAclNo}
   ::= { bosIpAclTable 1 }
   
BosIpAclEntry ::= 
   SEQUENCE { 
      bosIpAclNo 
         Integer32, 
      bosIpAclProtocol  
         Integer32, 
      bosIpAclMessageType 
         Integer32, 
      bosIpAclMessageCode 
         Integer32, 
      bosIpAclDstIpAddr 
         IpAddress, 
      bosIpAclSrcIpAddr 
         IpAddress, 
      bosIpAclDstIpAddrMask 
         IpAddress, 
      bosIpAclSrcIpAddrMask 
         IpAddress,
      bosIpAclMinDstProtPort
         Unsigned32, 
      bosIpAclMaxDstProtPort
         Unsigned32, 
      bosIpAclMinSrcProtPort
         Unsigned32, 
      bosIpAclMaxSrcProtPort
         Unsigned32, 
      bosIpAclInPortList 
         PortList,
      bosIpAclOutPortList 
         PortList, 
      bosIpAclAckBit
         INTEGER,
      bosIpAclRstBit
         INTEGER,
      bosIpAclFinBit
         INTEGER,
      bosIpAclSynBit
         INTEGER,
      bosIpAclUrgBit
         INTEGER,
      bosIpAclPshBit
         INTEGER,
      bosIpAclTos
         INTEGER,
      bosIpAclDscp
         Integer32,
      bosIpAclAction 
         INTEGER, 
      bosIpAclMatchCount
         Counter32, 
      bosIpAclStatsStatus 
         TruthValue,
      bosIpAclStats
         Counter32, 
      bosIpAclClearStats
         INTEGER, 
      bosIpAclType
         INTEGER, 
      bosIpAclMirror
         INTEGER, 
      bosIpAclMirrorPort
         Integer32, 
      bosIpAclStatus
         RowStatus
  }

bosIpAclNo OBJECT-TYPE 
   SYNTAX      Integer32 (128..254)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Ip Acl rule number."
   ::= { bosIpAclEntry 1 }
    
bosIpAclProtocol OBJECT-TYPE 
   SYNTAX      Integer32 (0..255)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      " The type of protocol to be checked against the packet."

   DEFVAL   { 65535 }
   ::= { bosIpAclEntry 2 }
   
bosIpAclMessageType OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
     " The message type to be checked against the packet. If the
      message type matches with the packet, then the packet will be
      dropped / allowed based on the action set in bosIpAclAction.
      The default value is 65535. It means that message type is not
      configured and need not be checked.
      Generally the value zero is given as default. But here
      zero can be an ICMP Type value. Hence 65535 is given as the
      default value. 
      Some ICMP message types are: 
           echoReply(0),
           destinationUnreachable(3),
           sourceQuench(4),
           redirect(5),
           echoRequest(8),
           timeExceeded(11),
           parameterProblem(12),
           timestampRequest(13),
           timestampReply(14),
           informationRequest(15),
           informationReply(16),
           addressMaskRequest(17),
           addressMaskReply (18),
           noICMPType(65535)
      "
   DEFVAL  { 65535 }
   ::= { bosIpAclEntry 3 }

bosIpAclMessageCode OBJECT-TYPE 
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      " The message code to be checked against the packet. If the
      packet matches with the message code, then the packet will
      be dropped / allowed based on the action set in bosIpAclAction.
      The default value is 65535. It means that message code is not 
      configured and need not be checked. Generally the value zero 
      will be given as default. But here, zero can be an ICMP Code 
      value. Hence 65535 is given as the default value.
      Some ICMP message codes are :
           networkUnreachable(0),
           hostUnreachable(1),
           protocolUnreachable(2),
           portUnreachable(3),
           fragmentNeed(4),
           sourceRouteFail(5),
           destNetworkUnknown(6),
           destHostUnknown(7),
           srcHostIsolated(8),
           destNetworkAdminProhibited(9),
           destHostAdminProhibited(10),
           networkUnreachableTOS(11),
           hostUnreachableTOS(12),
           noICMPCode(65535) 
      "
   DEFVAL   { 65535 }
   ::= { bosIpAclEntry 4 }     

bosIpAclDstIpAddr OBJECT-TYPE 
   SYNTAX      IpAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Destination IP address to be matched with the packet.
      
      This object is valid only if the 'bosFilterType' is 'IpAcl'."
   ::= { bosIpAclEntry 5 }

bosIpAclSrcIpAddr OBJECT-TYPE 
   SYNTAX      IpAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Source IP address to be matched with the packet.
      
      This object is valid only if the 'bosFilterType' is 'IpAcl'."
   ::= { bosIpAclEntry 6 }

bosIpAclDstIpAddrMask OBJECT-TYPE 
   SYNTAX      IpAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The IP subnet mask for Destination IP address.
      
      This object is valid only if the 'bosFilterType' is 'IpAcl'."

   DEFVAL  { 'FFFFFFFF'h }
   ::= { bosIpAclEntry 7 }

bosIpAclSrcIpAddrMask OBJECT-TYPE 
   SYNTAX      IpAddress
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The IP subnet mask for Source IP address.
      
      This object is valid only if the 'bosFilterType' is 'IpAcl'."

   DEFVAL  { 'FFFFFFFF'h }
   ::= { bosIpAclEntry 8 }

bosIpAclMinDstProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The minimum port in the destination port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 0 }
   ::= { bosIpAclEntry 9 }

bosIpAclMaxDstProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The maximum port in the destination port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 65535 }
   ::= { bosIpAclEntry 10 }

bosIpAclMinSrcProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The minimum port in the source port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 0 }
   ::= { bosIpAclEntry 11 }

bosIpAclMaxSrcProtPort OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The maximum port in the source port range. Please note 
       these ports are the TCP / UDP ports."
   DEFVAL   { 65535 }
   ::= { bosIpAclEntry 12 }

bosIpAclInPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the complete set of ports over which if the packet arrives
      the filter rule will be applicable.

      If the incoming port list is '0', the filter rule is applicable for all the 
      incoming ports.

      By default inport list is maintained as '0'." 
   ::= { bosIpAclEntry 13 }

bosIpAclOutPortList OBJECT-TYPE 
   SYNTAX      PortList
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is applicable only if the 'FilterAction' is 'allow'.

      If the out going port list is non-zero, the packet will be sent over
      the specifed ports only.

      If the out going port list is '0', the port over which the packet is
      to be switched will be based on further processing on the packet.
      By default inport list is maintained as '0'." 

   ::= { bosIpAclEntry 14 }

bosIpAclAckBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						establish(1),
						notEstablish(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP ACK bit to be checked against the packet. The default 
		value is 'any'(3). It means that ACK bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 15 }

bosIpAclRstBit	 OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
				     	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP RST bit to be checked against the packet. The default 
		value is 'any'(3). It means that RST bit will not be checked to 
		decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 16 }
    
bosIpAclFinBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP FIN bit to be checked against the packet. The default 
		value is 'any'(3). It means that FIN bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 17 }
    
bosIpAclSynBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP SYN bit to be checked against the packet. The default 
		value is 'any'(3). It means that SYN bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 18 }
    
bosIpAclUrgBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP URG bit to be checked against the packet. The default 
		value is 'any'(3). It means that URG bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 19 }
    
bosIpAclPshBit		OBJECT-TYPE
	SYNTAX	INTEGER	{
						set(1),
						notSet(2),
					  	any(3)	
					}
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The TCP PSH bit to be checked against the packet. The default 
		value is 'any'(3). It means that PSH bit will not be checked 
            	to decide the action. "
	DEFVAL	{ any }
	::= { bosIpAclEntry 20 }

bosIpAclTos		OBJECT-TYPE
	SYNTAX		INTEGER (0..8)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The IP TOS bit to be checked against the packet. This is a 
		single byte integer of which the last three bits (least 
      significant bits) indicate Delay, Throughput and Reliability 
      i.e 'uuuuudtr', u-unused, d-delay, t-throughput, r-reliability.
		For example '6' indicates low delay and high throughput. 
      If this field is assigned a value of 8, Tos field will be ignored while
      filtering. The default value for this field is 8."
	DEFVAL	{ 8 }
	::= { bosIpAclEntry 21 }

bosIpAclDscp		OBJECT-TYPE
	SYNTAX		Integer32 (-1..63)
	MAX-ACCESS	read-create
	STATUS		current
	DESCRIPTION
		" The IP Dscp value to be checked against the packet.
        If this field is assigned a value of -1, Dscp field will be ignored while
        filtering. The default value for this field is -1"
	DEFVAL	{ -1 }
	::= { bosIpAclEntry 22 }

bosIpAclAction OBJECT-TYPE 
   SYNTAX      INTEGER {
                  allow (1),
                  drop  (2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Specifies the action to be taken on the packet if the filter
      rule matches.
      
      If the action is 'allow', the packet will be sent to the
      ports in 'out port list'. If the out port list is '0', 
      the port over which the packet is to be switched will be decided
      based on further processing on the packet.

      If the action is 'drop', the packet will be discarded."

   DEFVAL  { allow } 
   ::= { bosIpAclEntry 23 }

bosIpAclMatchCount OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is matched."

   ::= { bosIpAclEntry 24 }
   
bosIpAclStatsStatus OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "If stats status is true then
       the ACL's Hit Count is maintained."
   ::= { bosIpAclEntry 25 }
                                                 
   
bosIpAclStats OBJECT-TYPE 
   SYNTAX      Counter32
   MAX-ACCESS  read-only 
   STATUS      current 
   DESCRIPTION 
      "Number of times this filter is hit."

   ::= { bosIpAclEntry 26 }

bosIpAclClearStats OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear ACL statistics"
    ::= {  bosIpAclEntry 27 }

bosIpAclType OBJECT-TYPE
    SYNTAX INTEGER {
      standard(1),
      extended(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object is used to specify the category of IP filters.
         Standard IP filter provides the basic IP filter option (IP
         address/mask) whereas extended IP filter provides additional 
         options (Protocol, TCP/UDP Port numbers, TCP flags, TOS,
         DSCP and ICMP types). This attribute needs to be set 
         before configuring the other atrributes of this table."
    DEFVAL  { standard } 
    ::= {  bosIpAclEntry 28 }

bosIpAclMirror OBJECT-TYPE
    SYNTAX INTEGER {
      enable(1),
      disable(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object is used to specify the ACL action to mirror in addition
         to permit or deny. This attribute requires the ACL action to be 
         configured. This can be enabled only when object bosIpAclMirrorPort
         is configured."
    DEFVAL  { disable } 
    ::= {  bosIpAclEntry 29 }

bosIpAclMirrorPort OBJECT-TYPE
	SYNTAX		Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object is used to specify the port to which the packets matching
         the ACLs will be mirrored. This attribute will be operational only
         when bosIpAclMirror is enabled. Currently this supports only 
         system physical ports."
    ::= {  bosIpAclEntry 30 }

bosIpAclStatus OBJECT-TYPE 
   SYNTAX      RowStatus
   MAX-ACCESS  read-create 
   STATUS      current 
   DESCRIPTION 
      "This object indicates the status of this entry.
      
      The entry status will be made 'active' only if 

         --> Either of ProtocolType/src ip address/dst ip address is
             configured in case of IpAcl."

   ::= { bosIpAclEntry 31 }

bosDhcpClientMIB        OBJECT IDENTIFIER ::= { ex2500 87 }
-- ----------------------------------------------------------------------------
-- { INSERT: dhcpclient
-- ----------------------------------------------------------------------------

dhcpClientConfig	OBJECT IDENTIFIER ::= { bosDhcpClientMIB 1 }
dhcpClientCounters	OBJECT IDENTIFIER ::= { bosDhcpClientMIB 2 }


--- dhcpClientConfig
dhcpClientConfigTable OBJECT-TYPE  
	SYNTAX SEQUENCE OF DhcpClientConfigEntry  
	MAX-ACCESS not-accessible  
	STATUS current  
	DESCRIPTION  
		" This table contains the Configuration information for 
		DHCP client on each interface. "
	::=  { dhcpClientConfig 1 }  
  
dhcpClientConfigEntry OBJECT-TYPE  
	SYNTAX DhcpClientConfigEntry  
	MAX-ACCESS not-accessible  
	STATUS current  
	DESCRIPTION  
		"Entries of the dhcpClientConfigTable"
	INDEX {dhcpClientConfigIfIndex}
	::=  { dhcpClientConfigTable 1 } 

DhcpClientConfigEntry ::= SEQUENCE {  
	dhcpClientConfigIfIndex		INTEGER,
	dhcpClientRenew			INTEGER,
	dhcpClientRelease		INTEGER
	}

dhcpClientConfigIfIndex OBJECT-TYPE  
	SYNTAX
   INTEGER (0..2147483647)
	MAX-ACCESS not-accessible
	STATUS current  
	DESCRIPTION  
	"Index of one entry in dhcpClientConfigTable"  
	::=  { dhcpClientConfigEntry 1 }  
 
dhcpClientRenew OBJECT-TYPE
	SYNTAX INTEGER
	{
		set (1),
		notset (2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object is for renewing the lease time currently available.
         When this object is set,Client will send DHCP Renew Request 
         message provided client is in BOUND/RENEW/REBIND state.
         The Object can be set to the value 'notset' only through 
         Protocol operation"
		DEFVAL    { 2 }
	::= { dhcpClientConfigEntry 2 }

dhcpClientRelease OBJECT-TYPE
	SYNTAX INTEGER
	{
		set(1),
		notset (2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"This object is used to release the acquired IP back to the 
         DHCP server pool.When this object is set,Client will send 
         DHCP RELEASE message provided client is in BOUND/RENEW/
         REBIND state.The Object can be set to the value 'notset' 
         only through Protocol operation"
	DEFVAL    { 2 }
	::= { dhcpClientConfigEntry 5 }

--- dhcpClientCounters Group

dhcpClientCounterTable OBJECT-TYPE  
	SYNTAX SEQUENCE OF DhcpClientCounterEntry  
	MAX-ACCESS not-accessible  
	STATUS current  
	DESCRIPTION  
		" This table contains the statistics of DHCP Client on each 
		interface. It will give the no of messages sent and received at
		any time"
	::=  { dhcpClientCounters 1 }  
  
dhcpClientCounterEntry OBJECT-TYPE  
	SYNTAX DhcpClientCounterEntry  
	MAX-ACCESS not-accessible  
	STATUS current  
	DESCRIPTION  
		"Entries of the dhcpClientCounterTable"
	INDEX {dhcpClientIfIndex}
	::=  { dhcpClientCounterTable 1 }  

--
DhcpClientCounterEntry ::= SEQUENCE {  
	dhcpClientIfIndex		         INTEGER,
	dhcpClientCountDiscovers		Counter32,
	dhcpClientCountRequests		   Counter32,
	dhcpClientCountReleases		   Counter32,
	dhcpClientCountDeclines		   Counter32,
	dhcpClientLeaseTime		      INTEGER,
	dhcpClientCounterReset		   INTEGER,
	dhcpClientRemainLeaseTime	   INTEGER
}  


dhcpClientIfIndex OBJECT-TYPE  
	SYNTAX		INTEGER (0..2147483647)
	MAX-ACCESS	not-accessible
	STATUS		current  
	DESCRIPTION  
		"Index of one entry in dhcpClientCounterTable"  
		::=  { dhcpClientCounterEntry 1 }  
 
dhcpClientCountDiscovers OBJECT-TYPE 
	SYNTAX		Counter32 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
	"The number of DHCPDISCOVER (option 53 with value 1) packets 
	sent." 
	::= { dhcpClientCounterEntry 2 } 
             
dhcpClientCountRequests OBJECT-TYPE 
	SYNTAX		Counter32 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
		 "The number of DHCPREQUEST (option 53 with value 3) packets 
		 sent." 
	::= { dhcpClientCounterEntry 3 } 
				 
dhcpClientCountReleases OBJECT-TYPE 
	SYNTAX		Counter32 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
		"The number of DHCPRELEASE (option 53 with value 7) packets 
		sent." 
	::= { dhcpClientCounterEntry 4 } 
				 
dhcpClientCountDeclines OBJECT-TYPE 
	SYNTAX		Counter32 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
		"The number of DHCPDECLINE (option 53 with value 4) packets sent."
	::= { dhcpClientCounterEntry 5 } 
			   
dhcpClientLeaseTime OBJECT-TYPE 
	SYNTAX		INTEGER 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
		"The negotiated Lease time of particular interface " 
		::= { dhcpClientCounterEntry 20 } 
           
dhcpClientCounterReset OBJECT-TYPE 
	SYNTAX		INTEGER
	{
		set (1),
		notset (2)
	}
	MAX-ACCESS	read-write 
	STATUS		current 
	DESCRIPTION 
		"It resets the Counter Stats for the particular interface " 
		::= { dhcpClientCounterEntry 21 } 
			 
dhcpClientRemainLeaseTime OBJECT-TYPE 
	SYNTAX		INTEGER 
	MAX-ACCESS	read-only 
	STATUS		current 
	DESCRIPTION 
		"It gets the remaining lease time of the particular interface " 
		::= { dhcpClientCounterEntry 22 } 

-- ----------------------------------------------------------------------------
-- } INSERT: dhcpclient
-- ----------------------------------------------------------------------------

bosSyslog               OBJECT IDENTIFIER ::= { ex2500 89 }
-- ----------------------------------------------------------------------------
-- { INSERT: syslog
-- ----------------------------------------------------------------------------


-- ----------------------------------------------------------------- -- 
-- groups in the MIB  
-- ----------------------------------------------------------------- -- 
 
      bosSyslogGeneralGroup          OBJECT IDENTIFIER ::= { bosSyslog 1 }
      bosSyslogLogs                  OBJECT IDENTIFIER ::= { bosSyslog 2 }
 
-- ---------------------------------------------------------------- --

-- General Group 

-- Common objects for syslogLogs and SMTP 

bosSyslogLogging OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling syslog and email alert
   features in the system."

   DEFVAL  { enable } 
   ::= { bosSyslogGeneralGroup 1 }

bosSyslogTimeStamp OBJECT-TYPE 
   SYNTAX         INTEGER {
                   enable(1),
                   disable(2)
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling timestamp option.

       When enabled, the messages (log and email alert messages) will
       hold the time stamp information.

       When disabled, the time stamp information will not be carried with
       the messages sent to the log and mail servers."

   DEFVAL  { enable } 
   ::= { bosSyslogGeneralGroup 2 }

bosSyslogConsoleLog OBJECT-TYPE
   SYNTAX         INTEGER {
                   enable(1),
                   disable(2)
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling the console log option.

       When enabled, the messages (log and email alert messages) sent to 
       the server will be displayed in the console also.

       When disabled,the messages will just be sent to the servers and not 
       be displayed in the console." 

   DEFVAL  { enable } 
   ::= { bosSyslogGeneralGroup 3 }

bosSyslogSysBuffers OBJECT-TYPE 
   SYNTAX      Integer32 (1..200)
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Number of log buffers to be allocated in the system"

   DEFVAL  { 50 }
   ::= { bosSyslogGeneralGroup 4 }

bosSyslogClearLog OBJECT-TYPE 
   SYNTAX      TruthValue
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Clears the buffered logs.

       This object is set to 'false' by default. 

       When set to 'True', the buffered logs will be cleared and the value 
       of this object will become 'false' again."

   DEFVAL  { false }
   ::= { bosSyslogGeneralGroup 5 }

bosSyslogFacility OBJECT-TYPE 
   SYNTAX         INTEGER {
                   local0(128),     -- Reserved local use
                   local1(136),     -- Reserved local use
                   local2(144),     -- Reserved local use
                   local3(152),     -- Reserved local use
                   local4(160),     -- Reserved local use
                   local5(168),     -- Reserved local use
                   local6(176),     -- Reserved local use
                   local7(184)      -- Reserved local use
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The Syslog standard facilities.
       The facility to be used when sending Syslog messages to this server."

   DEFVAL  { local0 } 
   ::= { bosSyslogGeneralGroup 7 }

bosSyslogFacilitySec OBJECT-TYPE 
   SYNTAX         INTEGER {
                   local0(128),     -- Reserved local use
                   local1(136),     -- Reserved local use
                   local2(144),     -- Reserved local use
                   local3(152),     -- Reserved local use
                   local4(160),     -- Reserved local use
                   local5(168),     -- Reserved local use
                   local6(176),     -- Reserved local use
                   local7(184)      -- Reserved local use
                  }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "The Syslog standard facilities.
       The facility to be used when sending Syslog messages to the secondary server."

   DEFVAL  { local0 } 
   ::= { bosSyslogGeneralGroup 8 }

bosSyslogSeverity    OBJECT-TYPE
  SYNTAX                 INTEGER{
                           emergency(0), -- For logging messages that 
                                         -- are equivalent to panic 
                                         -- condition. 
                           alert(1),     -- For logging messages that 
                                         -- require immediate attention.
                           critical(2),  -- For logging critical errors.
                           error(3),     -- For logging error messages.
                           warning(4),   -- For logging warning messages.
                           notice(5),    -- For logging messages that 
                                         -- require attention
                                         -- and not errors.
                           info(6),      -- For logging informational 
                                         -- messages.
                           debug(7)      -- For logging debug messages.
                         }
  MAX-ACCESS             read-write
  STATUS                 current
  DESCRIPTION
     "The Syslog standard severities.
      The severity to be used when sending Syslog messages to primary server."
  
  ::= { bosSyslogGeneralGroup 9 }

bosSyslogSeveritySec    OBJECT-TYPE
  SYNTAX                 INTEGER{
                           emergency(0), -- For logging messages that 
                                         -- are equivalent to panic 
                                         -- condition. 
                           alert(1),     -- For logging messages that 
                                         -- require immediate attention.
                           critical(2),  -- For logging critical errors.
                           error(3),     -- For logging error messages.
                           warning(4),   -- For logging warning messages.
                           notice(5),    -- For logging messages that 
                                         -- require attention
                                         -- and not errors.
                           info(6),      -- For logging informational 
                                         -- messages.
                           debug(7)      -- For logging debug messages.
                         }
  MAX-ACCESS             read-write
  STATUS                 current
  DESCRIPTION
     "The Syslog standard severities.
      The severity to be used when sending Syslog messages to the secondary server."
  
  ::= { bosSyslogGeneralGroup 10 }

-- Syslog Logs group

-- Objects specific to Syslogs Logging.

bosSyslogLogSrvAddr OBJECT-TYPE
   SYNTAX       IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "Specifies the syslog server IP to be used for remote logging. When 
       configured, a new socket will be opened for this address. 
       When the address is changed, the socket opened for the previous address 
       will be closed and a new socket will be opened for this address."

   ::= { bosSyslogLogs 1 }

bosSyslogLogNoLogServer OBJECT-TYPE
   SYNTAX      TruthValue 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Closes the socket connection opened for the log server address." 

   ::= { bosSyslogLogs 2 }

bosSyslogLogSrvAddrSec OBJECT-TYPE
   SYNTAX       IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "Specifies the secondary syslog server IP to be used for remote logging
       . When  configured, a new socket will be opened for this address. 
       When the address is changed, the socket opened for the previous address 
       will be closed and a new socket will be opened for this address."

   ::= { bosSyslogLogs 3 }

bosSyslogLogNoLogServerSec OBJECT-TYPE
   SYNTAX      TruthValue 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "Closes the socket connection opened for the secondary log server." 

   ::= { bosSyslogLogs 4 }



-- ----------------------------------------------------------------------------
-- } INSERT: syslog
-- ----------------------------------------------------------------------------

bosssl                  OBJECT IDENTIFIER ::= { ex2500 96 }
-- ----------------------------------------------------------------------------
-- { INSERT: bosssl
-- ----------------------------------------------------------------------------

-- ----------------------------------------------------------------- --
-- groups in the MIB
-- ----------------------------------------------------------------- --
 
      sslGeneralGroup             OBJECT IDENTIFIER ::= { bosssl 1 }
      sslCiphers                  OBJECT IDENTIFIER ::= { bosssl 2 }
 
-- ---------------------------------------------------------------- --

-- General Group 

-- This object has been renamed as issHttpStatus and moved to bosiss.mib
--sslHttpStatus  OBJECT-TYPE
--   SYNTAX       INTEGER {
--                enable(1),
--                disable(2)
--               }
--   MAX-ACCESS  read-write 
--   STATUS      current 
--   DESCRIPTION 
--      "This object is for enabling or disabling HTTP in the system."
--
--   DEFVAL  { enable } 
--   ::= { sslGeneralGroup 1 }

sslSecureHttpStatus OBJECT-TYPE 
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
                }
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 
      "This object is for enabling or disabling secure HTTP in the system."

   DEFVAL  { disable } 
   ::= { sslGeneralGroup 2 }

sslPort      OBJECT-TYPE
   SYNTAX       Integer32 (1..65535)
   MAX-ACCESS   read-write 
   STATUS       current 
   DESCRIPTION 
      "This object is to configure the SSL port."

   DEFVAL  { 443 } 
   ::= { sslGeneralGroup 3 }

sslTrace     OBJECT-TYPE
         SYNTAX        Integer32
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
         "Set the trace level for SSL.
            BIT 0 - Initialisation and Shutdown Trace.
            BIT 1 - Management trace.
            BIT 2 - Data path trace.
            BIT 3 - Control Plane trace.
            BIT 4 - Packet Dump.
            BIT 5 - OS Resource trace.
            BIT 6 - All Failure trace (All failures including Packet Validation)
            BIT 7 - Buffer Trace.
            
            Note:BIT 0 - Least significant bit
                 BIT 7 - Most significant bit

            For example,setting the trace level to the value -0001 0101, 
            will enable Init-Shutdown, data path and packet dump trace levels.

            Setting all the bits will enable all the trace levels and 
            resetting them will disable all the trace levels."

         ::= { sslGeneralGroup 4 }

sslTftpServer OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The TFTP server IP address or domain name."
    ::= { sslGeneralGroup 5 }

sslHttpCertName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The https certificate  file name to be downloaded."
    ::= { sslGeneralGroup 6 }

sslHttpImportCertAction OBJECT-TYPE
    SYNTAX  INTEGER {
            crtget(1),
            other(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "This is an action object to perform various TFTP Get or Put functions.
        The TFTP sever is specified in sslTftpServer object. Presently we have support 
	for get function.
        crtget(1)    - Downloads the Certificate
        other(2) is returned always when read."
    ::= { sslGeneralGroup 7 }

sslHttpInitiateCertTransfer OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "This is an action object to perform the trasfer of the ssl http
         certificate."
    ::= { sslGeneralGroup 8 }

sslTftpLastActionStatus OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..128))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This recorded status of the previous TFTP activity."
    ::= { sslGeneralGroup 9 }

-- Ciphers group

sslCipherList OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
      
         "This object is to configure the cipher-suites list.

	      This field is a bit mask, setting a bit indicates that the 
		  corresponding cipher-list will be involved in the server
          authentication.
          
          BIT 0 - RSA-NULL-MD5
          BIT 1 - RSA-NULL-SHA
          BIT 2 - RSA-DES-SHA
          BIT 3 - RSA-3DES-SHA
          BIT 4 - DH-RSA-DES-SHA
          BIT 5 - DH-RSA-3DES-SHA
          BIT 6 - RSA-EXP1024-DES-SHA

          Note:BIT 0 - Least significant bit
               BIT 6 - Most significant bit

          For example,setting the cipher list to the value - 001 0101, 
          will include RSA-NULL-MD5, RSA-DES-SHAa and DH-RSA-DES-SHA as 
          cipher-list for authentication."

   DEFVAL  { 0 }
   ::= { sslCiphers 1}


   sslDefaultCipherList OBJECT-TYPE
   SYNTAX TruthValue  
   MAX-ACCESS read-write
   STATUS current
   DESCRIPTION

   "This object is to set the default cipher-suites list in 'sslCipherList'.

   Setting DefaultCipherList to TRUE would set the following cipher-list for 
   authentication:
   - RSA_3DES_SHA1  
   - RSA_DES_SHA1 
   - RSA_EXP1024_DES_SHA1 

   The value of this object reverts back to FALSE once the default cipher list is set."
   DEFVAL  { false }
   ::= { sslCiphers 2}

-- ----------------------------------------------------------------------------
-- } INSERT: bosssl
-- ----------------------------------------------------------------------------

bosssh                  OBJECT IDENTIFIER ::= { ex2500 97 }

-- ----------------------------------------------------------------- --
-- groups in the MIB
-- ----------------------------------------------------------------- --
 
      sshGeneralGroup             OBJECT IDENTIFIER ::= { bosssh 1 }
 
-- ---------------------------------------------------------------- --

-- General Group 

sshVersionCompatibility      OBJECT-TYPE
   SYNTAX      TruthValue 
   MAX-ACCESS  read-write 
   STATUS      current 
   DESCRIPTION 

   "This object is to configure the SSH version compatibility mode.
   When set to TRUE, both SSH version-1 and SSH Version-2 will be supported.
   When set to FALSE, SSH version-2 only will be supported.

   By default SSH version-2 is supported."

   DEFVAL  { false } 
   ::= { sshGeneralGroup 1 }

sshCipherList OBJECT-TYPE
      SYNTAX Integer32(1..3)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
      
      "This object is to configure the cipher-suites list.

      This object takes values as bit mask.  Setting a bit indicates that the 
      corresponding cipher-list will be used for Encryption. 

      The value of each bit position is as given below with bit 0 being the 
      least significant bit: 
           BIT 1 - DES-CBC
           BIT 0 - 3DES-CBC" 
          
   DEFVAL  { 1 }
   ::= { sshGeneralGroup 2}

sshMacList OBJECT-TYPE
      SYNTAX Integer32(1..3)
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION

      "This object is to configure the MAC-list.

      This object takes values as bit mask. Setting a bit indicates that the 
      corresponding MAC-list will be used for authentication. 

      The value of each bit position is as given below with bit 0  being the 
      least significant bit: 
            BIT 1 - HMAC-MD5
            BIT 0 - HMAC-SHA1"
            
   DEFVAL  { 1 }
   ::= { sshGeneralGroup 3}


sshPort  OBJECT-TYPE
   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
       "The port to be used by the hosts to do the SSH operation.
        The ssh server must be disabled first and then enabled to
        effect the port change."
   DEFVAL  { 22 }
   ::= { bosssh 2 }

sshStatus  OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(1),
                disable(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling the SSH access to the system."
   DEFVAL  { enable }
   ::= { bosssh 3 }

sshGenerateHostKey  OBJECT-TYPE
   SYNTAX       TruthValue
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
      "Ssh Host key generation control.
      Setting this object to TRUE results in the generation of a new host key.
      This object always returns FALSE when it is read"
   ::= { bosssh 4 }

sshGenerateServerKey  OBJECT-TYPE
   SYNTAX       TruthValue
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
      "Ssh Server key generation control.
      Setting this object to TRUE results in the generation of a new ssh 
      server key. This object always returns FALSE when it is read"
   ::= { bosssh 5 }

sshServerInterval  OBJECT-TYPE
   SYNTAX       Integer32 (0..24)
   MAX-ACCESS   read-write
   STATUS       current
   DESCRIPTION
      "The auto regenearation time interval for the ssh server key in hours.
       Value of 0 indicates that no re-generation of server key is required."
   ::= { bosssh 6 }

-- ----------------------------------------------------------------------------
-- } INSERT: ssh
-- ----------------------------------------------------------------------------



ex2500addon             OBJECT IDENTIFIER ::= { ex2500 102}
-- ----------------------------------------------------------------------------
-- { INSERT: g8124
-- ----------------------------------------------------------------------------

-- Module Group 
-- Module Ids should consistent with Piggy and should be maintained as defined
cfa               OBJECT IDENTIFIER ::= { ex2500addon  2 }
igs               OBJECT IDENTIFIER ::= { ex2500addon  5 }
pnac              OBJECT IDENTIFIER ::= { ex2500addon  6 }
sys               OBJECT IDENTIFIER ::= { ex2500addon  7 }
pmirr             OBJECT IDENTIFIER ::= { ex2500addon  8 }
stp               OBJECT IDENTIFIER ::= { ex2500addon  9 }
ip                OBJECT IDENTIFIER ::= { ex2500addon  10 }
snmpv3            OBJECT IDENTIFIER ::= { ex2500addon  11 }
qos               OBJECT IDENTIFIER ::= { ex2500addon  12 }
fdb               OBJECT IDENTIFIER ::= { ex2500addon  13 }
switch            OBJECT IDENTIFIER ::= { ex2500addon  14 }
snmp              OBJECT IDENTIFIER ::= { ex2500addon  15 }
bosSnmpTraps      OBJECT IDENTIFIER ::= { ex2500addon  17 }
bosbhm            OBJECT IDENTIFIER ::= { ex2500addon  18 }
bosAccessUser     OBJECT IDENTIFIER ::= { ex2500addon  19 }
mgmtintf          OBJECT IDENTIFIER ::= { ex2500addon  20 }

-- Blade Harmony 'TrapDisplayString' object

    bntSwTrapDisplayString OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
    "Temporary string object used to store information about trap being sent
    in an BNT Switch traps."
    ::= { ex2500addon 1000 }

-- bhm Wrapper Objects (bosbhm)

dataCollection        OBJECT IDENTIFIER ::= { bosbhm  1 }

generalConfiguration  OBJECT IDENTIFIER ::= { bosbhm  2 }

imageConfigTransfer     OBJECT IDENTIFIER ::= { bosbhm  3 }

portInformation    OBJECT IDENTIFIER ::= { bosbhm  4 }

vlanConfiguration  OBJECT IDENTIFIER ::= { bosbhm  5 }

--  VLAN Objects
bosCfgVlanNewVlan OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS read-write 
    STATUS  current
    DESCRIPTION
        "VLAN Id of new Vlan that needs to be created. Get will always
        return 1."
    ::= { vlanConfiguration 1 }

vlanNewCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VlanNewCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of VLAN configuration."
    ::= { vlanConfiguration 2 }

vlanNewCfgTableEntry OBJECT-TYPE
    SYNTAX  VlanNewCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the VLAN configuration table."
    INDEX  { vlanNewCfgVlanId }
    ::= { vlanNewCfgTable 1 }

VlanNewCfgTableEntry ::= SEQUENCE {
    vlanNewCfgVlanId 		Integer32,
    vlanNewCfgVlanName 		DisplayString,
    vlanNewCfgPorts 		OCTET STRING,
    vlanNewCfgPortList 		DisplayString,
    vlanNewCfgState 		INTEGER,
    vlanNewCfgAddPort 		Integer32,
    vlanNewCfgRemovePort	Integer32,
    vlanNewCfgStg  	        Integer32,
    vlanNewCfgPrVlanType	INTEGER,
    vlanNewCfgPrVlanMapPriId 	Integer32,
    vlanNewCfgPrVlanState	INTEGER,
    vlanNewCfgDelete 		INTEGER
    }

vlanNewCfgVlanId OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The VLAN identifier."
    ::= { vlanNewCfgTableEntry 1 }


vlanNewCfgVlanName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..32))
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The VLAN name."
    ::= { vlanNewCfgTableEntry 2 }

vlanNewCfgPorts	OBJECT-TYPE
    SYNTAX  OCTET STRING
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The port list in the VLAN.  The ports are presented in bitmap format.
         in receiving order:

	     OCTET 1  OCTET 2  .....
             xxxxxxxx xxxxxxxx ..... 
             ||    || |_ port 8
             ||    ||  
             ||    ||___ port 7
             ||    |____ port 6
             ||      .    .   .
             ||_________ port 1
             |__________ reserved

         where x : 1 - The represented port belongs to the VLAN
	           0 - The represented port does not belong to the VLAN"
    ::= { vlanNewCfgTableEntry 3 }

vlanNewCfgPortList OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The port list in the VLAN. The ports are presented in a string format,
        delimited by ',' or an interval of ports delimited by  '-'"
    ::= { vlanNewCfgTableEntry 4 }

vlanNewCfgState	OBJECT-TYPE
    SYNTAX  INTEGER  {
	enabled(2),
	disabled(3)
	}
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "Enable or disable a VLAN"
    ::= { vlanNewCfgTableEntry 5 }

vlanNewCfgAddPort OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The port to be added to the specified VLAN.  A '0' value is 
         returned when read."
    ::= { vlanNewCfgTableEntry 6 }

vlanNewCfgRemovePort OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The port to be removed from the specified VLAN.  A '0'
         value is returned when read."
    ::= { vlanNewCfgTableEntry 7 }

vlanNewCfgDelete OBJECT-TYPE
    SYNTAX  INTEGER  {
        other(1),
        delete(2)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "This is an action object to create or delete a VLAN.
         other(1) is returned always when read.
         The following values are writable: delete(2)...to delete a VLAN"
    ::= { vlanNewCfgTableEntry 8 }

vlanNewCfgStg OBJECT-TYPE
    SYNTAX  Integer32  
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The Spanning Tree Group for the VLAN."
    ::= { vlanNewCfgTableEntry 9 }

vlanNewCfgPrVlanType OBJECT-TYPE
    SYNTAX  INTEGER{
        none(0),
        primary(1),
        isolated(2),
        community(3)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The type of the Private VLAN."
    ::= { vlanNewCfgTableEntry 10 }

vlanNewCfgPrVlanMapPriId OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The primary vlan id"
    ::= { vlanNewCfgTableEntry 11 }

vlanNewCfgPrVlanState OBJECT-TYPE
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable or disable a Private VLAN."
    ::= { vlanNewCfgTableEntry 12 }

fdbClear OBJECT-TYPE
    SYNTAX  INTEGER {
        ok(1),
        clear-master(2),
        clear-static(3)
        }
    MAX-ACCESS  read-write
    STATUS  current 
    DESCRIPTION
        "Setting this value to clear-master(2) clears the entire master FDB,
         Setting this value to clear-static(3) clears the entire static FDB."
    ::= { fdb 1 }

fdbStatsCurrent OBJECT-TYPE
    SYNTAX  Gauge32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Current number of entries in the Forwarding Database."
    ::= { fdb 2 }

fdbStatsHiwat OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Highest number of entries recorded at any given time in the 
         Forwarding Database."
    ::= { fdb 3 }
    
fdbStatsClear OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear FDB statistics"
    ::= { fdb 4 }

fdbTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF FdbEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of FDB entries."
    ::= { fdb 5 }

fdbEntry OBJECT-TYPE
    SYNTAX  FdbEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the FDB table"
    INDEX   { fdbVlan, fdbMacAddr }
    ::= { fdbTable 1 }

FdbEntry ::= SEQUENCE {
    fdbVlan               Integer32,
    fdbMacAddr            PhysAddress,
    fdbMacAddrStr         DisplayString,
    fdbVlanId             Integer32,
    fdbSrcPort            Integer32,
    fdbSrcTrunk           Integer32,
    fdbState              INTEGER,
    fdbRefSps             DisplayString,
    fdbLearnedPort        Integer32,
    fdbStatus             Integer32,
    fdbClearMac           INTEGER
   }

fdbVlan OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The VLAN ID for the FDB entry."
    ::= { fdbEntry 1 }

fdbMacAddr OBJECT-TYPE
    SYNTAX  PhysAddress
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The MAC address for the FDB entry."
    ::= { fdbEntry 2 }

fdbMacAddrStr OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The MAC address in hex format for the FDB entry.This node is added for
        display purpose."
    ::={ fdbEntry 3 }

fdbVlanId OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "The VLAN ID for the FDB entry. This node is added for display purpose."
    ::= { fdbEntry 4 }

fdbSrcPort OBJECT-TYPE  
    SYNTAX  Integer32 
    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 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."
    ::= { fdbEntry 5 }

fdbSrcTrunk OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "Either the value '0', or the trunk number of the trunk on which a frame
        having a source address equal to the value of the corresponding
        instance has been seen.  A value of '0' indicates that the source
        address is not associated with a trunk."
    ::= { fdbEntry 6 }

fdbState OBJECT-TYPE  
    SYNTAX  INTEGER {
 unknown(1),
 forward(2),
 trunk(3)
	}
    MAX-ACCESS  read-only  
    STATUS  current  
    DESCRIPTION  
        "The state of the FDB entry. The meanings of the values are :
         unknown(1) : the MAC address has not yet been learned by the switch
                      but has only been seen as a destination address
         forward(2) : the MAC address has been learned by the switch
         trunk(3)   : frames with this MAC address are forwarded to trunk
                      group"
    ::= { fdbEntry 7 }

fdbRefSps OBJECT-TYPE   
    SYNTAX  DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only   
    STATUS  current   
    DESCRIPTION   
        "The referenced SPs associated with this FDB entry."   
    ::= { fdbEntry 8 }

fdbLearnedPort OBJECT-TYPE   
    SYNTAX  Integer32  
    MAX-ACCESS  read-only   
    STATUS  current   
    DESCRIPTION   
        "The learned port associated with this FDB entry."   
    ::= { fdbEntry 9 }

fdbStatus OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "'1' if it is permanent 
        '0' if it is not permanent"
    ::= { fdbEntry 10 }

fdbClearMac OBJECT-TYPE
    SYNTAX  INTEGER {
        ok(1),
        clear(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Setting this value to clear(2) clears the corresponding table entry in FDB."
    ::= { fdbEntry 11 }

fdbDisableAging OBJECT-TYPE
    SYNTAX INTEGER {
      true(1),
      false(0)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "When set to true aging of fdb table entries is disabled. 
         '1' Fdb aging is disabled
         '0' Fdb aging is enabled"
    ::= { fdb 6 }

fdbNewCfgStaticTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF FdbNewCfgStaticEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of FDB static entries."
    ::= { fdb 7 }

fdbNewCfgStaticEntry OBJECT-TYPE
    SYNTAX  FdbNewCfgStaticEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the fdb table."
    INDEX   { fdbNewCfgEntryIndex}
    ::= { fdbNewCfgStaticTable 1 }

FdbNewCfgStaticEntry ::= SEQUENCE {
    fdbNewCfgEntryIndex                 Integer32,
    fdbNewCfgAddVlan                    Integer32,
    fdbNewCfgAddPort                    Integer32,
    fdbNewCfgAddPortChannel                     Integer32,
    fdbNewCfgAddMac                     DisplayString
    }

fdbNewCfgEntryIndex OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The fdb entry index"
    ::= { fdbNewCfgStaticEntry 1 }

fdbNewCfgAddVlan OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Add vlan for fdb entry "
    ::= { fdbNewCfgStaticEntry 2 }

fdbNewCfgAddPort OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The MAC address port number."
    ::= { fdbNewCfgStaticEntry 3 }

fdbNewCfgAddPortChannel OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The MAC address port Channel number."
    ::= { fdbNewCfgStaticEntry 4 }


fdbNewCfgAddMac OBJECT-TYPE
    SYNTAX  DisplayString
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Add a fdb MAC address entry."
    ::= { fdbNewCfgStaticEntry 5}

fdbAgingTime OBJECT-TYPE
    SYNTAX  Integer32 (10..1000000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "Aging time for dynamic mac address entries"
    ::= { fdb 8 }


--  Interface mangager(CFA) objects

bosPortCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosPortCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of port configuration in the new_configuration block."
    ::= { cfa 1 }

bosPortCfgTableEntry OBJECT-TYPE
    SYNTAX  BosPortCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the port configuration table in the new_configuration block."
    INDEX   {bosPortCfgIndx }
    ::= {bosPortCfgTable 1 }

BosPortCfgTableEntry ::= SEQUENCE {
    bosPortCfgIndx             Integer32,
    bosPortCfgVlanTag          Integer32,
    bosPortCfgStateChangeCount Counter32, 
    bosPortCfgLearning      INTEGER,
    bosPortCfgFlooding      INTEGER,
    bosPortCfgTagPvid       INTEGER,
    bosPortCfgMacNotif      INTEGER
                    
}

bosPortCfgIndx OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The index of the row in port configurations table."
    ::= { bosPortCfgTableEntry 1 }

bosPortCfgVlanTag OBJECT-TYPE
    SYNTAX  INTEGER {
	 enable(1),
	 disable(2)
	}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "VLAN tag configured for the port"
    ::= { bosPortCfgTableEntry 2 }
    
bosPortCfgStateChangeCount      OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
    "No of Link State changes for the interface"
    ::= { bosPortCfgTableEntry 3 }

bosPortCfgLearning OBJECT-TYPE  
    SYNTAX  INTEGER {
	 enabled(1),
	 disabled(0)
	}
    MAX-ACCESS  read-write  
    STATUS  current  
    DESCRIPTION  
        "Enables or disables MAC address learning on the port."
         
    ::= { bosPortCfgTableEntry 4 }


bosPortCfgFlooding OBJECT-TYPE  
    SYNTAX  INTEGER {
 enabled(1),
 disabled(0)
	}
    MAX-ACCESS  read-write  
    STATUS  current  
    DESCRIPTION  
        "Enables or disables flooding on the port."         

    ::= { bosPortCfgTableEntry 5 }


bosPortCfgTagPvid OBJECT-TYPE  
    SYNTAX  INTEGER {
 enabled(1),
 disabled(0)
	}
    MAX-ACCESS  read-write  
    STATUS  current  
    DESCRIPTION  
        "Disables or Enables VLAN tag persistence. When disabled, the VLAN tag 
	is removed from packets whose VLAN tag matches the port PVID even if 
	the port is a tagged member of that VLAN"         

    ::= { bosPortCfgTableEntry 6 }


bosPortCfgMacNotif OBJECT-TYPE  
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
	}
    MAX-ACCESS  read-write  
    STATUS  current  
    DESCRIPTION  
	"Enables or disables MAC address mac notification syslog messages on the port."
         
    ::= { bosPortCfgTableEntry 7 }


bosPortStatsClearTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosPortStatsClearTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table to clear port statistics."
    ::= { cfa 2 }

bosPortStatsClearTableEntry OBJECT-TYPE
    SYNTAX  BosPortStatsClearTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the port stats clear table."
    INDEX   { bosPortStatsIndx }
    ::= { bosPortStatsClearTable 1 }

BosPortStatsClearTableEntry ::=
    SEQUENCE {
        bosPortStatsIndx 	InterfaceIndex,
        bosPortStatsClear   	INTEGER
    }


bosPortStatsIndx OBJECT-TYPE
       SYNTAX      InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
		"The interface index by which the row
	         in this table is identified."
       ::= { bosPortStatsClearTableEntry 1 }


bosPortStatsClear OBJECT-TYPE
    SYNTAX  INTEGER {
        ok(1),
        clear(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
            "Setting this value to clear(2) clears the stats for this port."
    ::= { bosPortStatsClearTableEntry 2 }

bosClearPortsStats OBJECT-TYPE
    SYNTAX  INTEGER {
        ok(1),
        clear(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Setting this to clear(2) results in clearing the statistics for all ports."
    ::= { cfa 3 }

bosPortStatsTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosPortStatsTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table to get port statistics."
    ::= { cfa 4 }

bosPortStatsTableEntry OBJECT-TYPE
    SYNTAX  BosPortStatsTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the port stats clear table."
    INDEX   { bosPortIndex }
    ::= { bosPortStatsTable 1 }

BosPortStatsTableEntry ::=
    SEQUENCE {
        bosPortIndex                InterfaceIndex,
        bosPortUndersizePkts        Counter32
    }

bosPortIndex OBJECT-TYPE
       SYNTAX      InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                "The interface index by which the row
                 in this table is identified."
       ::= { bosPortStatsTableEntry 1 }

bosPortUndersizePkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
                "The count of undersized frames (<64 bytes) received on the
                 particular interface specified by bosPortIndex."
       ::= { bosPortStatsTableEntry 2 }

-- PNAC OBJECTS BEGIN 
      dot1x                   OBJECT IDENTIFIER ::= { pnac  1 }
      dot1xNewCfgGlobalTable  OBJECT IDENTIFIER ::= { dot1x 2 }

dot1xNewStatus OBJECT-TYPE
    SYNTAX INTEGER {
        enable(0),
        disable(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "  Dot1x  status    "
    ::= { dot1x 1 }

dot1xNewCfgGlobalMode OBJECT-TYPE
    SYNTAX INTEGER {
    forceUnauth(0),
    auto(1),
        forceAuth(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "  Authentication Mode     "
    ::= { dot1xNewCfgGlobalTable 3 }

dot1xNewCfgGlobalQtPeriod OBJECT-TYPE
    SYNTAX Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Quiet Period (0..65535)     "
    ::= { dot1xNewCfgGlobalTable 4 }

dot1xNewCfgGlobalTxPeriod OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Tx Period (1..65535)    "
    ::= { dot1xNewCfgGlobalTable 5 }

dot1xNewCfgGlobalSupTmout OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Supplicand timeout (1..65535)    "
    ::= { dot1xNewCfgGlobalTable 6 }

dot1xNewCfgGlobalSrvTmout OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Server timeout (1..65535)     "
    ::= { dot1xNewCfgGlobalTable 7 }

dot1xNewCfgGlobalMaxRq OBJECT-TYPE
    SYNTAX Integer32 (1..10)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    " Maximum number of requests (1..10)     "
    ::= { dot1xNewCfgGlobalTable 8 }

dot1xNewCfgGlobalRaPeriod OBJECT-TYPE
    SYNTAX Integer32 (1..604800)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "  Reauthentication period (1..604800)   "
    ::= { dot1xNewCfgGlobalTable 9 }


dot1xNewCfgGlobalReAuth OBJECT-TYPE
    SYNTAX INTEGER {
    off(0),
        on(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "  Reauthentication status    "
    ::= { dot1xNewCfgGlobalTable 10 }

dot1xNewCfgGlobalDefault OBJECT-TYPE
    SYNTAX INTEGER {
        other(0),
        apply(1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "  Restore default 802.1x configuration    "
    ::= { dot1xNewCfgGlobalTable 11 }

dot1xClearStatsTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF Dot1xClearStatsEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "  Clear the dot1x authenticator statistics   "
    ::= { dot1x 3 }

dot1xClearStatsEntry OBJECT-TYPE
    SYNTAX        Dot1xClearStatsEntry
    MAX-ACCESS    not-accessible
    STATUS        current
    DESCRIPTION
        " Clear Authenticator PAE statistics "
    INDEX { dot1xPortNumber }
    ::= { dot1xClearStatsTable 1 }

Dot1xClearStatsEntry ::=
SEQUENCE {
    dot1xPortNumber
         Integer32  ,
    dot1xClearStats
         INTEGER
}

dot1xPortNumber OBJECT-TYPE
SYNTAX      Integer32
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
    "The interface index for the dot1xClearStatsTable "
    ::= { dot1xClearStatsEntry 1 }

dot1xClearStats OBJECT-TYPE
    SYNTAX      INTEGER {
                other(0),
                clear(1)
               }
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
       "When set to clear the dot1x Authenticator Statistics Entry for the
       given port are cleared. Always returns other on get. "
    ::= { dot1xClearStatsEntry 2 }

-- PNAC OBJECTS STOP

-- SYSTEM FEATURE OBJECTS BEGIN

agNewCfgIdleCLITimeout OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Set idle CLI sessions timeout."
    ::= { sys 1 }

agImageForNextReset OBJECT-TYPE
     SYNTAX  INTEGER{
		image1(2),
		image2(3)
	      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
         "The software image to be booted from at next reset.

        The following values are writable:
             image1(2)...image 1
             image2(3)...image 2"
 
    ::= { sys 2 }

-- TACACS+ Cli command Authorization/Accounting status Table
tacacsCmdAuthorAcctStatusTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TacacsCmdAuthorAcctStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "A table contains Status of Cli command Authorization and Accounting
        using TACACS+ AAA protocol.Status can be enabled or disabled for 
        specific privilege level commands." 
    ::= { sys 3 }

tacacsCmdAuthorAcctStatusEntry OBJECT-TYPE
    SYNTAX      TacacsCmdAuthorAcctStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "TACACS+ Cli command Authorization and Accounting Status."
    INDEX   { tacacsCmdPrivLevel }
    ::= { tacacsCmdAuthorAcctStatusTable 1 }

TacacsCmdAuthorAcctStatusEntry ::= SEQUENCE {
        tacacsCmdPrivLevel    Integer32,
        tacacsCmdAuthorstatus TruthValue,
        tacacsCmdAcctStatus   TruthValue
    }

tacacsCmdPrivLevel OBJECT-TYPE
    SYNTAX      Integer32 (1..15)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Privilege level associated with the CLI command."
    ::= { tacacsCmdAuthorAcctStatusEntry 1 }

tacacsCmdAuthorstatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "If command authorization status is true then
       all commands with specified privilege level 
       will be sent to tacacs server for authorization."
    ::= { tacacsCmdAuthorAcctStatusEntry 2 }

tacacsCmdAcctStatus  OBJECT-TYPE
    SYNTAX      TruthValue  
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "If command accounting status is ture 
        then all commands with specified privilege level
        will be sent to tacacs server for accounting."
    ::= { tacacsCmdAuthorAcctStatusEntry 3 }

systemNotice1 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object allow user to save a text string that would be displayed
            BEFORE the password prompt is presented"
    ::={ sys 6}

systemNotice2 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object allow user to save a text string that would be displayed
            BEFORE the password prompt is presented"
    ::={ sys 7}

systemNotice3 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object allow user to save a text string that would be displayed
            BEFORE the password prompt is presented"
    ::={ sys 8}

systemNotice4 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object allow user to save a text string that would be displayed
            BEFORE the password prompt is presented"
    ::={ sys 9}

systemNotice5 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object allow user to save a text string that would be displayed
            BEFORE the password prompt is presented"
    ::={ sys 10}

systemBanner OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object stores the display banner"
    ::={ sys 11}


sysAccessUserBbi  OBJECT-TYPE
   SYNTAX       INTEGER {
                enable(0),
                disable(1)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "This object is for enabling or disabling the Access UserBbi"
   DEFVAL  { enable }
   ::= { sys 12 }

sysCurCfgHprompt OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Current status of hprompt."
    ::= { sys 13 }

    bosSyslogTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosSyslogTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "The table of Syslog configuration."
    ::= { sys 14 }

    bosSyslogTableEntry OBJECT-TYPE
    SYNTAX BosSyslogTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "Information about a particular module's Syslog configuration."

    INDEX { bosSyslogModuleIndex }
    ::= { bosSyslogTable 1 }

    BosSyslogTableEntry ::= SEQUENCE {
	bosSyslogModuleIndex Integer32,
			     bosSyslogStatus INTEGER
    }

bosSyslogModuleIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "The identifier of a particular Syslog module.
    Module id assigned to various modules are defined below
    SYSLOG_ID (1),
    STG_ID(2),
    HOTLINKS_ID(3),
    PORTCHANNEL_ID(4),
    VLAN_ID(5),
    PRIVLAN_ID(6),
    SNOOP_ID(7),
    WEB_ID(8),
    CLI_ID(9),
    UFD_ID(10)
    NTP_ID(11),
    SYSTEM_ID(12),
    TELNET_ID(13),
    RMON_ID(14),
    NOTICE_ID(15),
    IP_ID(16),
    CSR_ID(17),
    TFTP_ID(18)."

::= { bosSyslogTableEntry 1 }

bosSyslogStatus OBJECT-TYPE
    SYNTAX INTEGER {
	enabled(1),
	    disabled(2)
    }
MAX-ACCESS read-write
STATUS current
DESCRIPTION "Enables or disables  syslog messages "
::= { bosSyslogTableEntry 2 }


-- SYSTEM FEATURE OBJECTS STOP

-- PORT MIRRORING OBJECTS BEGIN

pmNewCfgPortMirrState OBJECT-TYPE
    SYNTAX  INTEGER {
    enabled(1),
    disabled(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The state of port-based port mirroring."
    ::= { pmirr 1 }

pmNewCfgPortMonitorTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF PmNewCfgPortMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of monitoring ports."
    ::= { pmirr 2 } 

pmNewCfgPortMonitorEntry OBJECT-TYPE
    SYNTAX  PmNewCfgPortMonitorEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the monitoring port table."
    INDEX   { pmNewCfgPmirrMoniPortIndex, pmNewCfgPmirrMirrPortIndex }
    ::= { pmNewCfgPortMonitorTable 1 }

PmNewCfgPortMonitorEntry ::= SEQUENCE {
    pmNewCfgPmirrMoniPortIndex          Integer32,
    pmNewCfgPmirrMirrPortIndex          Integer32,
    pmNewCfgPmirrDirection              INTEGER,
    pmNewCfgPmirrDelete                 INTEGER
    }

pmNewCfgPmirrMoniPortIndex OBJECT-TYPE
    SYNTAX  Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The monitoring port number."
    ::= { pmNewCfgPortMonitorEntry 1 }

pmNewCfgPmirrMirrPortIndex OBJECT-TYPE
    SYNTAX  Integer32(1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The mirrored port number"
    ::= { pmNewCfgPortMonitorEntry 2 }

pmNewCfgPmirrDirection OBJECT-TYPE
    SYNTAX  INTEGER {
    in(1),
    out(2),
    both(3)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The type of traffic to be monitored with respect to the
         mirrored port."
    ::= { pmNewCfgPortMonitorEntry 3 }

pmNewCfgPmirrDelete OBJECT-TYPE
    SYNTAX  INTEGER  {
        other(1),
        delete(2)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "Setting the value to delete(2) will delete the entire
         row. When read, other(1) is returned."
    ::= { pmNewCfgPortMonitorEntry 4 }

-- PORT MIRRORING OBJECTS STOP

--  Spanning tree Objects
--  STP OBJECTS START 

bosMstMstiInstanceTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF BosMstMstiInstanceEntry      
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION
      "Table containing Spanning tree instance information"
   ::= { stp 1 } 
 
bosMstMstiInstanceEntry OBJECT-TYPE
   SYNTAX      BosMstMstiInstanceEntry  
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Entry containing the Spanning Tree Instance information"
   INDEX { bosMstMstiInstanceIndex }
   ::= { bosMstMstiInstanceTable 1 }

BosMstMstiInstanceEntry ::=
   SEQUENCE {
      bosMstMstiInstanceIndex 
            Integer32,
     bosMstMstiForceState 
            INTEGER,
     bosMstMstiForcePortStateBmp
     OCTET STRING
            
   }

bosMstMstiInstanceIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..32)
   MAX-ACCESS  not-accessible 
   STATUS      current 
   DESCRIPTION 
      "Spanning Tree Instance to which the information belongs."
   ::= { bosMstMstiInstanceEntry 1 }

bosMstMstiForceState OBJECT-TYPE
   SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
   MAX-ACCESS  read-write      
   STATUS      current 
   DESCRIPTION 
      "Enables/Diables spanning tree on the all the ports under that
       instance"
   ::= {bosMstMstiInstanceEntry 2 }

bosMstMstiForcePortStateBmp OBJECT-TYPE
   SYNTAX      OCTET STRING
   MAX-ACCESS  read-only      
   STATUS      current 
   DESCRIPTION 
      "Enables/Diables spanning tree on the all the ports under that
       instance"
   ::= {bosMstMstiInstanceEntry 3 }

bosStgCfgTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosStgCfgTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of Spanning Tree Groups configuration."
    ::= { stp 2 }

bosStgCfgTableEntry OBJECT-TYPE
    SYNTAX BosStgCfgTableEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about a particular Spanning Tree Group configuration."
    INDEX { bosStgCfgIndex }
    ::= { bosStgCfgTable 1 }

BosStgCfgTableEntry ::= SEQUENCE {
    bosStgCfgIndex           Integer32,
    bosStgCfgDefaultCfg      INTEGER
    }

bosStgCfgIndex  OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The identifier of a particular Spanning Tree Group. 
        value 0 signifies MSTP CIST"
    ::= { bosStgCfgTableEntry 1 }

bosStgCfgDefaultCfg OBJECT-TYPE
    SYNTAX INTEGER {
        defaultConfig(1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting the value to default-config(1) will reset Spanning-tree bridge and
	port parameters to their default values.The object always returns
	default-config (1)."
    ::= { bosStgCfgTableEntry 2 }

bosMstCistDefaultCfg OBJECT-TYPE
    SYNTAX INTEGER {
        default(1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting the value to default(1) will set the Multiple
         Spanning Tree and member parameters to default.  default(1) is 
         always returned when read, but it does not mean anything."
    ::= { stp 3 }

bosStpMode OBJECT-TYPE
    SYNTAX      INTEGER {
            rstp(1),
            mstp(2),
            pvrst(3),
            disable(4)
    }
    MAX-ACCESS read-write 
    STATUS  current
    DESCRIPTION
        "This attribute is used to set the spanning tree mode.
         The default value of this is attribute is rstp"
    ::= { stp 4 }

bosRstPortExtTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BosRstPortExtEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "This is a table that is an extension to the dot1dStpExtPortTable.
      This contains object(s) that are Port-based."
   ::= { stp 5 }

bosRstPortExtEntry OBJECT-TYPE
   SYNTAX      BosRstPortExtEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "Each entry in this table is for each port present in the system.
      This table is indexed by the bosRstPort."
   INDEX { bosRstPort }
   ::= { bosRstPortExtTable 1 }

BosRstPortExtEntry ::=
   SEQUENCE {
      bosRstPort
         Integer32,
      bosRstPortRole
         INTEGER,
      bosRstPortOperVersion
         INTEGER,
      bosRstPortRoleTransSmState
         INTEGER,
      bosRstPortStateTransSmState
         INTEGER,
      bosRstPortRxRstBpduCount
         Counter32,
      bosRstPortRxConfigBpduCount
         Counter32,
      bosRstPortRxTcnBpduCount
         Counter32,
      bosRstPortTxRstBpduCount
         Counter32,
      bosRstPortTxConfigBpduCount
         Counter32,
      bosRstPortTxTcnBpduCount
         Counter32,
      bosRstPortInvalidRstBpduRxCount
         Counter32,
      bosRstPortInvalidConfigBpduRxCount
         Counter32,
      bosRstPortInvalidTcnBpduRxCount
         Counter32,
      bosRstPortProtocolMigrationCount
          Counter32,
      bosRstPortBpduGuard
          TruthValue
   }
bosRstPort OBJECT-TYPE
   SYNTAX      Integer32 (1..4096)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "A unique value, greater than zero, indicating the Port number."
   ::= { bosRstPortExtEntry 1 }

bosRstPortRole OBJECT-TYPE
   SYNTAX      INTEGER {
                  disabledPort(0),
                  alternatePort(1),
                  backupPort(2),
                  rootPort(3),
                  designatedPort(4)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current Port Role assumed by this Port."
   ::= { bosRstPortExtEntry 2 }

bosRstPortOperVersion OBJECT-TYPE
   SYNTAX      INTEGER {
                  stpCompatible(0),
                  rstp(2)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates whether the Port is operationally in the Rstp
      mode or the Stp-compatible mode i.e., whether the Port is
      transmitting RST BPDUs or Config/TCN BPDUs."
   ::= { bosRstPortExtEntry 3 }

bosRstPortRoleTransSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  init (0),
                  disableport (1),
                  disabledport (2),
                  rootport (3),
                  designatedport (4),
                  backupport (5),
                  rootproposed (6),
                  rootagreed(7),
                  reroot (8),
                  rootforward (9),
                  rootlearn (10),
                  rerooted (11),
                  designatedpropose (12),
                  designatedsynced (13),
                  designatedretired (14),
                  designatedforward (15),
                  designatedlearn (16),
                  designatedlisten (17)
               }
  MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port Role Transition state machine.

      This object will hold the value 'init' when the Port Role Transition state
      machine is in the INIT state, the value 'disableport' when the state machine
      is in the DISABLE_PORT state, the value 'disabledport' when the state machine
      is in the DISABLED_PORT state, the value 'rootport' when the state machine
      is in the ROOT_PORT state, the value 'desgport' when the state machine is in
      the DESIGNATED_PORT state, the value 'backupport' when the state machine is in
      BACKUP_PORT state, the value 'rootproposed' when the state machine is in the
      ROOT_PROPOSED state, the value 'rootagreed' when the state machine is in the
      ROOT_AGREED state, the value 'reroot' when the state machine is in the REROOT
      state, the value 'rootforward' when the state machine is in the ROOT_FORWARD
      state, the value 'rootlearn' when the state machine is in the ROOT_LEARN
      state, the value 'rerooted' when the state machine is in the REROOTED state,
      the value 'designatedpropose' when the state machine is in the
      DESIGNATED_PROPOSE state, the value 'designatedsynced' when the state machine
      is in the DESIGNATED_SYNCED state, the value 'designatedretired' when the
      state machine is in the DESIGNATED_RETIRED state, the value 'designatedforward'
      when the state machine is in the DESIGNATED_FORWARD state, the value
      'designatedlearn' when the state machine is in the DESIGNATED_LEARN state and
      the value 'designatedlisten' when the state machine is in the DESIGNATED_LISTEN
      state."
   ::= { bosRstPortExtEntry 4 }

bosRstPortStateTransSmState OBJECT-TYPE
   SYNTAX      INTEGER {
                  discarding (0),
                  learning (1),
                  forwarding (2)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "This indicates the current state of the Port State Transition state machine.

      This object will hold the value 'discarding' when the Port State Transition
      state machine is in the DISCARDING state, the value 'learning' when the state
      machine is in the LEARNING state and the value 'forwarding' when the state
      machine is in the FORWARDING state."
   ::= { bosRstPortExtEntry 5 }

bosRstPortRxRstBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of RST BPDUs that have been received on this Port."
   ::= { bosRstPortExtEntry 6 }

bosRstPortRxConfigBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
   "The number of Config BPDUs that have been received on this Port."
   ::= { bosRstPortExtEntry 7 }

bosRstPortRxTcnBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of TCN BPDUs that have been received on this Port."
   ::= { bosRstPortExtEntry 8 }

bosRstPortTxRstBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of RST BPDUs that have been transmitted by this Port."
   ::= { bosRstPortExtEntry 9 }

bosRstPortTxConfigBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of Config BPDUs that have been transmitted by this Port."
   ::= { bosRstPortExtEntry 10 }

bosRstPortTxTcnBpduCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of TCN BPDUs that have been transmitted by this Port."
   ::= { bosRstPortExtEntry 11 }

bosRstPortInvalidRstBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of invalid RSTP BPDUs that have been received on this Port.
       A Trap is generated on the occurrence of this event."
   ::= { bosRstPortExtEntry 12 }

bosRstPortInvalidConfigBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of invalid Configuration BPDUs that have been received on
      this Port. A Trap is generated on the occurrence of this event."
   ::= { bosRstPortExtEntry 13 }

bosRstPortInvalidTcnBpduRxCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
 DESCRIPTION
      "The number of invalid TCN BPDUs that have been received on this Port.
       A Trap is generated on the occurrence of this event."
   ::= { bosRstPortExtEntry 14 }

bosRstPortProtocolMigrationCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "The number of times this Port has migrated from one STP protocol
       version to another. The relevant protocols are STP-COMPATIBLE and RSTP.
       A Trap is generated on the occurrence of this event."
   ::= { bosRstPortExtEntry 15 }


bosRstPortBpduGuard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        " This parameter when TRUE(1) indicates that BpduGuard of a port
        enabled and FALSE(2) indicates that this feature is disabled."
    ::= { bosRstPortExtEntry 16 }


-- -----------------------------------------------------------------
-- Bos Mst Common Spanning Tree Port Table
-- -----------------------------------------------------------------


bosMstCistPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosMstCistPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
          "This table contains Common Spanning Tree Port
           Information."
     ::= { stp  6 }

bosMstCistPortEntry OBJECT-TYPE
      SYNTAX      BosMstCistPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "A list of information maintained by every port for
          Common Spanning tree."
      INDEX  { bosMstCistPort }
      ::= { bosMstCistPortTable 1 }
BosMstCistPortEntry ::=
   SEQUENCE {
       bosMstCistPort
            Integer32,
       bosMstCistPortPathCost
            Integer32,
       bosMstCistPortPriority
            Integer32,
       bosMstCistPortDesignatedRoot
            BridgeId,
       bosMstCistPortDesignatedBridge
            BridgeId,
       bosMstCistPortDesignatedPort
            OCTET STRING,
       bosMstCistPortAdminP2P
            INTEGER,
       bosMstCistPortOperP2P
            TruthValue,
       bosMstCistPortAdminEdgeStatus
            TruthValue,
       bosMstCistPortProtocolMigration
            TruthValue,
       bosMstCistPortState
            INTEGER,
       bosMstCistForcePortState
            INTEGER,
       bosMstCistPortDesignatedCost
            Integer32,
       bosMstCistPortRegionalRoot
            BridgeId,
       bosMstCistPortRegionalPathCost
            Integer32,
  bosMstCistCurrentPortRole
            INTEGER,
       bosMstCistPortHelloTime
            Timeout,
       bosMstCistPortAutoEdgeStatus
           TruthValue,
       bosMstCistPortPvstProtectionStatus
           TruthValue,
       bosMstCistPortBpduGuard
           TruthValue
        
}
bosMstCistPort OBJECT-TYPE
      SYNTAX      Integer32 (1..65535)
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
          "The Port number of the port for which this entry contains
           spanning tree information."
      ::= { bosMstCistPortEntry 1 }

bosMstCistPortPathCost OBJECT-TYPE
      SYNTAX      Integer32 (0..200000000)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
            "The contribution of this port to the path cost of
             paths towards the CIST Root which include this port."
      ::= { bosMstCistPortEntry 2 }

bosMstCistPortPriority OBJECT-TYPE
      SYNTAX      Integer32 (0..240)
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The four most significant bits of the Port Identifier
          of the Spanning Tree instance can be modified by setting
          the CistPortPriority value. The values that are set for Port
          Priority must be in steps of 16."
     DEFVAL {128}
      ::= { bosMstCistPortEntry 3 }

bosMstCistPortDesignatedRoot OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the
           CIST Root in the configuration BPDUs transmitted."
      ::= { bosMstCistPortEntry 4 }
bosMstCistPortDesignatedBridge OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge which this port
           considers to be the Designated Bridge for the port's segment."
      ::= { bosMstCistPortEntry 5 }
bosMstCistPortDesignatedPort OBJECT-TYPE
      SYNTAX  OCTET STRING (SIZE (2))
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The Port identifier of the port on the Designated Bridge
           for this port's segment."
      ::= { bosMstCistPortEntry 6 }

bosMstCistPortAdminP2P OBJECT-TYPE
      SYNTAX      INTEGER {
                    forceTrue(0),
                    forceFalse(1),
                    auto(2)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative point-to-point status of the LAN segment
          attached to this port.  A value of forceTrue(0) indicates that
          this port should always be treated as if it is connected to
          a point-to-point link.  A value of forceFalse(1) indicates
          that this port should be treated as having a shared media
          connection.  A value of auto(2) indicates that this port is
          considered to have a point-to-point link if it is an Aggregator
          and all of its members are aggregatable, or if the MAC entity
          is configured for full duplex operation, either through
          auto-negotiation or by management means."
      ::= { bosMstCistPortEntry 7 }

bosMstCistPortOperP2P OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The operational point-to-point status of the LAN segment
          attached to this port.  It indicates whether a port is
          considered to have a point-to-point connection or not.
          The value is determined by management or by auto-detection,
          as described in the bosMstCistPortAdminP2P object."
      ::= { bosMstCistPortEntry 8 }
bosMstCistPortAdminEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "The administrative value of the Edge Port parameter.  A
          value of TRUE(1) indicates that this port should be
          assumed as an edge-port and a value of FALSE(2) indicates
          that this port should be assumed as a non-edge-port."
      ::= { bosMstCistPortEntry 9 }

bosMstCistPortProtocolMigration OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Indicates the Protocol migration state of this Port.
           When operating in RSTP/MSTP (version >= 2) mode, writing
          TRUE(1) to this object forces this port to transmit MSTP
          BPDUs without instance information.
          Any other operation on this object has no effect and
          it always returns FALSE(2) when read."
      ::= { bosMstCistPortEntry 11 }

bosMstCistPortState OBJECT-TYPE
      SYNTAX      INTEGER {
                  disabled (1),
                  discarding (2),
                  learning (4),
                  forwarding (5)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current state of the Port as defined by the Common
           spanning tree protocol."
      ::= { bosMstCistPortEntry 12 }
bosMstCistForcePortState OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   enabled(1)
                  }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "Current state of the Port which can be changed to either
           Disabled or Enabled for ALL spanning tree
           instances. Setting this object will override the port's
           status in any of the MSTI contexts"
      ::= { bosMstCistPortEntry 13 }
bosMstCistPortDesignatedCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
           "The path cost of the Designated Port of the
            segment connected to this port."
      ::= { bosMstCistPortEntry 14 }

bosMstCistPortRegionalRoot OBJECT-TYPE
      SYNTAX      BridgeId
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The unique Bridge Identifier of the bridge recorded as the
           CIST Regional Root Identifier in the configuration BPDUs
           transmitted."
      ::= { bosMstCistPortEntry 15 }

bosMstCistPortRegionalPathCost OBJECT-TYPE
      SYNTAX      Integer32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "The contribution of this port to the path cost of paths
           towards the CIST Regional Root which include this port."
      ::= { bosMstCistPortEntry 16 }

bosMstCistCurrentPortRole OBJECT-TYPE
      SYNTAX      INTEGER {
                   disabled(0),
                   alternate(1),
                   backup(2),
                   root(3),
                   designated(4)
                  }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
          "Current Port Role of the port for this spanning
          tree instance."
      ::= { bosMstCistPortEntry 17 }
bosMstCistPortHelloTime OBJECT-TYPE
   SYNTAX      Timeout (1..10)
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "The amount of time between the transmission of
       Configuration bridge PDUs by this node on this port
       in units of a second."
      ::= { bosMstCistPortEntry 18 }
bosMstCistPortAutoEdgeStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This parameter when TRUE(1) indicates that detection
          of a port as Edge Port happens automatically
          and FALSE(2) indicates that this feature is disabled."
      ::= { bosMstCistPortEntry 19 }


bosMstCistPortPvstProtectionStatus OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This parameter when TRUE(1) indicates that PVST Protection
          of a port is ON
          and FALSE(2) indicates that this feature is disabled."
      ::= { bosMstCistPortEntry 20 }

      
bosMstCistPortBpduGuard OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
          "This parameter when TRUE(1) indicates that BpduGuard of a port
          is enabled
          and FALSE(2) indicates that this feature is disabled."
      ::= { bosMstCistPortEntry 21 }


-- STP OBJECTS STOP


--snmpv3 OBJECTS START

-- The usmUser Group

-- Textual Conventions ***********************************************

BosKeyChange ::=     TEXTUAL-CONVENTION
   STATUS         current
   DESCRIPTION
         "Every definition of an object with this syntax must identify
          a protocol P, a secret key K, and a hash algorithm H
          that produces output of L octets.

          The object's value is a manager-generated, partially-random
          value which, when modified, causes the value of the secret
          key K, to be modified via a one-way function.

          The value of an instance of this object is the concatenation
          of two components: first a 'random' component and then a
          'delta' component.

          The lengths of the random and delta components
          are given by the corresponding value of the protocol P;
          if P requires K to be a fixed length, the length of both the
          random and delta components is that fixed length; if P
          allows the length of K to be variable up to a particular
          maximum length, the length of the random component is that
          maximum length and the length of the delta component is any
          length less than or equal to that maximum length.
          For example, usmHMACMD5AuthProtocol requires K to be a fixed
          length of 16 octets and L - of 16 octets.
          usmHMACSHAAuthProtocol requires K to be a fixed length of
          20 octets and L - of 20 octets. Other protocols may define
          other sizes, as deemed appropriate.

          When a requester wants to change the old key K to a new
          key keyNew on a remote entity, the 'random' component is
          obtained from either a true random generator, or from a
          pseudorandom generator, and the 'delta' component is
          computed as follows:

           - a temporary variable is initialized to the existing value
             of K;
           - if the length of the keyNew is greater than L octets,
             then:
              - the random component is appended to the value of the
                temporary variable, and the result is input to the
                the hash algorithm H to produce a digest value, and
                the temporary variable is set to this digest value;
              - the value of the temporary variable is XOR-ed with
                the first (next) L-octets (16 octets in case of MD5)
                of the keyNew to produce the first (next) L-octets
                (16 octets in case of MD5) of the 'delta' component.
              - the above two steps are repeated until the unused
                portion of the keyNew component is L octets or less,
           - the random component is appended to the value of the
             temporary variable, and the result is input to the
             hash algorithm H to produce a digest value;
           - this digest value, truncated if necessary to be the same
             length as the unused portion of the keyNew, is XOR-ed
             with the unused portion of the keyNew to produce the
             (final portion of the) 'delta' component.

           For example, using MD5 as the hash algorithm H:

              iterations = (lenOfDelta - 1)/16; /* integer division */
              temp = keyOld;
              for (i = 0; i < iterations; i++) {
                  temp = MD5 (temp || random);
                  delta[i*16 .. (i*16)+15] =
                         temp XOR keyNew[i*16 .. (i*16)+15];
              }
              temp = MD5 (temp || random);
              delta[i*16 .. lenOfDelta-1] =
                     temp XOR keyNew[i*16 .. lenOfDelta-1];

          The 'random' and 'delta' components are then concatenated as
          described above, and the resulting octet string is sent to
          the recipient as the new value of an instance of this object.

          At the receiver side, when an instance of this object is set
          to a new value, then a new value of K is computed as follows:

           - a temporary variable is initialized to the existing value
             of K;
           - if the length of the delta component is greater than L
             octets, then:
              - the random component is appended to the value of the
                temporary variable, and the result is input to the
                hash algorithm H to produce a digest value, and the
                temporary variable is set to this digest value;
              - the value of the temporary variable is XOR-ed with
                the first (next) L-octets (16 octets in case of MD5)
                of the delta component to produce the first (next)
                L-octets (16 octets in case of MD5) of the new value
                of K.
              - the above two steps are repeated until the unused
                portion of the delta component is L octets or less,
           - the random component is appended to the value of the
             temporary variable, and the result is input to the
             hash algorithm H to produce a digest value;
           - this digest value, truncated if necessary to be the same
             length as the unused portion of the delta component, is
             XOR-ed with the unused portion of the delta component to
             produce the (final portion of the) new value of K.

           For example, using MD5 as the hash algorithm H:

              iterations = (lenOfDelta - 1)/16; /* integer division */
              temp = keyOld;
              for (i = 0; i < iterations; i++) {
                  temp = MD5 (temp || random);
                  keyNew[i*16 .. (i*16)+15] =
                         temp XOR delta[i*16 .. (i*16)+15];
              }
              temp = MD5 (temp || random);
              keyNew[i*16 .. lenOfDelta-1] =
                     temp XOR delta[i*16 .. lenOfDelta-1];

          The value of an object with this syntax, whenever it is
          retrieved by the management protocol, is always the zero
          length string.

          Note that the keyOld and keyNew are the localized keys.

          Note that it is probably wise that when an SNMP entity sends
          a SetRequest to change a key, that it keeps a copy of the old
          key until it has confirmed that the key change actually
          succeeded.
         "
    SYNTAX       OCTET STRING

bosUsmUser             OBJECT IDENTIFIER ::= { snmpv3 1 }
bosVacmObjects            OBJECT IDENTIFIER ::= { snmpv3 2 }
bosSnmpTargetObjects   OBJECT IDENTIFIER ::= { snmpv3 3 }
bosSnmpNotifyObjects   OBJECT IDENTIFIER ::= { snmpv3 4 }
bosSnmpCommunityObjects OBJECT IDENTIFIER ::= { snmpv3 5 }


bosUsmUserTable     OBJECT-TYPE
    SYNTAX       SEQUENCE OF BosUsmUserEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The table of users configured in the SNMP engine's
                 Local Configuration Datastore (LCD).

                 To create a new user (i.e., to instantiate a new
                 conceptual row in this table), it is recommended to
                 follow this procedure:

                   1)  GET(usmUserSpinLock.0) and save in sValue.

                   2)  SET(usmUserSpinLock.0=sValue,
                           usmUserCloneFrom=templateUser,
                           usmUserStatus=createAndWait)
                       You should use a template user to clone from
                       which has the proper auth/priv protocol defined.

                 If the new user is to use privacy:

                   3)  generate the keyChange value based on the secret
                       privKey of the clone-from user and the secret key
                       to be used for the new user. Let us call this
                       pkcValue.
                   4)  GET(usmUserSpinLock.0) and save in sValue.
                   5)  SET(usmUserSpinLock.0=sValue,
                           usmUserPrivKeyChange=pkcValue
                           usmUserPublic=randomValue1)
                   6)  GET(usmUserPulic) and check it has randomValue1.
                       If not, repeat steps 4-6.

                 If the new user will never use privacy:

                   7)  SET(usmUserPrivProtocol=usmNoPrivProtocol)

                 If the new user is to use authentication:

                   8)  generate the keyChange value based on the secret
                       authKey of the clone-from user and the secret key
                       to be used for the new user. Let us call this
                       akcValue.
                   9)  GET(usmUserSpinLock.0) and save in sValue.
                   10) SET(usmUserSpinLock.0=sValue,
                           usmUserAuthKeyChange=akcValue
                           usmUserPublic=randomValue2)
                   11) GET(usmUserPulic) and check it has randomValue2.
                       If not, repeat steps 9-11.

                 If the new user will never use authentication:

                   12) SET(usmUserAuthProtocol=usmNoAuthProtocol)

                 Finally, activate the new user:

                   13) SET(usmUserStatus=active)

                 The new user should now be available and ready to be
                 used for SNMPv3 communication. Note however that access
                 to MIB data must be provided via configuration of the
                 SNMP-VIEW-BASED-ACM-MIB.

                 The use of usmUserSpinlock is to avoid conflicts with
                 another SNMP command generator application which may
                 also be acting on the usmUserTable.
                "
    ::= { bosUsmUser 1 }

bosUsmUserEntry     OBJECT-TYPE
    SYNTAX       BosUsmUserEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "A user configured in the SNMP engine's Local
                 Configuration Datastore (LCD) for the User-based
                 Security Model.
                "
    INDEX       { bosUsmUserTableIndex }
    ::= { bosUsmUserTable 1 }
    

BosUsmUserEntry ::= SEQUENCE
    {
        bosUsmUserTableIndex          Unsigned32,  
        bosUsmUserName             SnmpAdminString,
        bosUsmUserSecurityName     SnmpAdminString,
        bosUsmUserCloneFrom        RowPointer,
        bosUsmUserAuthProtocol     AutonomousType,
        bosUsmUserAuthKeyChange    BosKeyChange,
        bosUsmUserOwnAuthKeyChange BosKeyChange,
        bosUsmUserPrivProtocol     AutonomousType,
        bosUsmUserPrivKeyChange    BosKeyChange,
        bosUsmUserOwnPrivKeyChange BosKeyChange,
        bosUsmUserPublic           OCTET STRING,
        bosUsmUserStorageType      StorageType,
        bosUsmUserStatus           RowStatus
    }
    
bosUsmUserTableIndex OBJECT-TYPE
SYNTAX       Unsigned32
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
"USM user table index ."
::= {  bosUsmUserEntry  1 }

bosUsmUserName      OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "A human readable string representing the name of
                 the user.

                 This is the (User-based Security) Model dependent
                 security ID.
                "
    ::= { bosUsmUserEntry 2 }

bosUsmUserSecurityName OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "A human readable string representing the user in
                 Security Model independent format.

                 The default transformation of the User-based Security
                 Model dependent security ID to the securityName and
                 vice versa is the identity function so that the
                 securityName is the same as the userName.
                "
    ::= { bosUsmUserEntry 3 }

bosUsmUserCloneFrom OBJECT-TYPE
    SYNTAX       RowPointer
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "A pointer to another conceptual row in this
                 usmUserTable.  The user in this other conceptual
                 row is called the clone-from user.

                 When a new user is created (i.e., a new conceptual
                 row is instantiated in this table), the privacy and
                 authentication parameters of the new user must be
                 cloned from its clone-from user. These parameters are:
                   - authentication protocol (usmUserAuthProtocol)
                   - privacy protocol (usmUserPrivProtocol)
                 They will be copied regardless of what the current
                 value is.

                 Cloning also causes the initial values of the secret
                 authentication key (authKey) and the secret encryption

                 key (privKey) of the new user to be set to the same
                 values as the corresponding secrets of the clone-from
                 user to allow the KeyChange process to occur as
                 required during user creation.

                 The first time an instance of this object is set by
                 a management operation (either at or after its
                 instantiation), the cloning process is invoked.
                 Subsequent writes are successful but invoke no
                 action to be taken by the receiver.
                 The cloning process fails with an 'inconsistentName'
                 error if the conceptual row representing the
                 clone-from user does not exist or is not in an active
                 state when the cloning process is invoked.

                 When this object is read, the ZeroDotZero OID
                 is returned.
                "
    ::= { bosUsmUserEntry 4 }

bosUsmUserAuthProtocol OBJECT-TYPE
    SYNTAX       AutonomousType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be authenticated, and if so,
                 the type of authentication protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 usmUserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the usmNoAuthProtocol.

                 If a set operation tries to change the value of an


                 existing instance of this object to any value other
                 than usmNoAuthProtocol, then an 'inconsistentValue'
                 error must be returned.

                 If a set operation tries to set the value to the
                 usmNoAuthProtocol while the usmUserPrivProtocol value
                 in the same row is not equal to usmNoPrivProtocol,
                 then an 'inconsistentValue' error must be returned.
                 That means that an SNMP command generator application
                 must first ensure that the usmUserPrivProtocol is set
                 to the usmNoPrivProtocol value before it can set
                 the usmUserAuthProtocol value to usmNoAuthProtocol.
                "
    DEFVAL      { usmNoAuthProtocol }
    ::= { bosUsmUserEntry 5 }

bosUsmUserAuthKeyChange OBJECT-TYPE
    SYNTAX       BosKeyChange   -- typically (SIZE (0 | 32)) for HMACMD5
                             -- typically (SIZE (0 | 40)) for HMACSHA
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An object, which when modified, causes the secret
                 authentication key used for messages sent on behalf
                 of this user to/from the SNMP engine identified by
                 usmUserEngineID, to be modified via a one-way
                 function.

                 The associated protocol is the usmUserAuthProtocol.
                 The associated secret key is the user's secret
                 authentication key (authKey). The associated hash
                 algorithm is the algorithm used by the user's
                 usmUserAuthProtocol.

                 When creating a new user, it is an 'inconsistentName'
                 error for a set operation to refer to this object
                 unless it is previously or concurrently initialized
                 through a set operation on the corresponding instance
                 of usmUserCloneFrom.

                 When the value of the corresponding usmUserAuthProtocol
                 is usmNoAuthProtocol, then a set is successful, but
                 effectively is a no-op.

                 When this object is read, the zero-length (empty)
                 string is returned.

                 The recommended way to do a key change is as follows:

                   1) GET(usmUserSpinLock.0) and save in sValue.
                   2) generate the keyChange value based on the old
                      (existing) secret key and the new secret key,
                      let us call this kcValue.

                 If you do the key change on behalf of another user:

                   3) SET(usmUserSpinLock.0=sValue,
                          usmUserAuthKeyChange=kcValue
                          usmUserPublic=randomValue)

                 If you do the key change for yourself:

                   4) SET(usmUserSpinLock.0=sValue,
                          usmUserOwnAuthKeyChange=kcValue
                          usmUserPublic=randomValue)

                 If you get a response with error-status of noError,
                 then the SET succeeded and the new key is active.
                 If you do not get a response, then you can issue a
                 GET(usmUserPublic) and check if the value is equal
                 to the randomValue you did send in the SET. If so, then
                 the key change succeeded and the new key is active
                 (probably the response got lost). If not, then the SET
                 request probably never reached the target and so you
                 can start over with the procedure above.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { bosUsmUserEntry 6 }

bosUsmUserOwnAuthKeyChange OBJECT-TYPE
    SYNTAX       BosKeyChange   -- typically (SIZE (0 | 32)) for HMACMD5
                             -- typically (SIZE (0 | 40)) for HMACSHA
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one
                 notable difference: in order for the set operation
                 to succeed, the usmUserName of the operation
                 requester must match the usmUserName that
                 indexes the row which is targeted by this
                 operation.
                 In addition, the USM security model must be
                 used for this operation.

                 The idea here is that access to this column can be
                 public, since it will only allow a user to change
                 his own secret authentication key (authKey).
                 Note that this can only be done once the row is active.

                 When a set is received and the usmUserName of the
                 requester is not the same as the umsUserName that
                 indexes the row which is targeted by this operation,
                 then a 'noAccess' error must be returned.

                 When a set is received and the security model in use
                 is not USM, then a 'noAccess' error must be returned.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { bosUsmUserEntry 7 }

bosUsmUserPrivProtocol OBJECT-TYPE
    SYNTAX       AutonomousType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be protected from disclosure,
                 and if so, the type of privacy protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 usmUserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the usmNoPrivProtocol.

                 If a set operation tries to change the value of an
                 existing instance of this object to any value other
                 than usmNoPrivProtocol, then an 'inconsistentValue'
                 error must be returned.

                 Note that if any privacy protocol is used, then you
                 must also use an authentication protocol. In other
                 words, if usmUserPrivProtocol is set to anything else
                 than usmNoPrivProtocol, then the corresponding instance
                 of usmUserAuthProtocol cannot have a value of

                 usmNoAuthProtocol. If it does, then an
                 'inconsistentValue' error must be returned.
                "
    DEFVAL      { usmNoPrivProtocol }
    ::= { bosUsmUserEntry 8 }

bosUsmUserPrivKeyChange OBJECT-TYPE
    SYNTAX       BosKeyChange  -- typically (SIZE (0 | 32)) for DES
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An object, which when modified, causes the secret
                 encryption key used for messages sent on behalf
                 of this user to/from the SNMP engine identified by
                 usmUserEngineID, to be modified via a one-way
                 function.

                 The associated protocol is the usmUserPrivProtocol.
                 The associated secret key is the user's secret
                 privacy key (privKey). The associated hash
                 algorithm is the algorithm used by the user's
                 usmUserAuthProtocol.

                 When creating a new user, it is an 'inconsistentName'
                 error for a set operation to refer to this object
                 unless it is previously or concurrently initialized
                 through a set operation on the corresponding instance
                 of usmUserCloneFrom.

                 When the value of the corresponding usmUserPrivProtocol
                 is usmNoPrivProtocol, then a set is successful, but
                 effectively is a no-op.

                 When this object is read, the zero-length (empty)
                 string is returned.
                 See the description clause of usmUserAuthKeyChange for
                 a recommended procedure to do a key change.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { bosUsmUserEntry 9 }

bosUsmUserOwnPrivKeyChange OBJECT-TYPE
    SYNTAX       BosKeyChange  -- typically (SIZE (0 | 32)) for DES
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one
                 notable difference: in order for the Set operation
                 to succeed, the usmUserName of the operation
                 requester must match the usmUserName that indexes

                 the row which is targeted by this operation.
                 In addition, the USM security model must be
                 used for this operation.

                 The idea here is that access to this column can be
                 public, since it will only allow a user to change
                 his own secret privacy key (privKey).
                 Note that this can only be done once the row is active.

                 When a set is received and the usmUserName of the
                 requester is not the same as the umsUserName that
                 indexes the row which is targeted by this operation,
                 then a 'noAccess' error must be returned.

                 When a set is received and the security model in use
                 is not USM, then a 'noAccess' error must be returned.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { bosUsmUserEntry 10 }

bosUsmUserPublic    OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "A publicly-readable value which can be written as part
                 of the procedure for changing a user's secret
                 authentication and/or privacy key, and later read to
                 determine whether the change of the secret was
                 effected.
                "
    DEFVAL      { ''H }  -- the empty string
    ::= { bosUsmUserEntry 11 }

bosUsmUserStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

                 Conceptual rows having the value 'permanent' must
                 allow write-access at a minimum to:

                 - usmUserAuthKeyChange, usmUserOwnAuthKeyChange
                   and usmUserPublic for a user who employs
                   authentication, and
                 - usmUserPrivKeyChange, usmUserOwnPrivKeyChange
                   and usmUserPublic for a user who employs
                   privacy.

                 Note that any user who employs authentication or
                 privacy must allow its secret(s) to be updated and
                 thus cannot be 'readOnly'.

                 If an initial set operation tries to set the value to
                 'readOnly' for a user who employs authentication or
                 privacy, then an 'inconsistentValue' error must be
                 returned.  Note that if the value has been previously
                 set (implicit or explicit) to any value, then the rules
                 as defined in the StorageType Textual Convention apply.

                 It is an implementation issue to decide if a SET for
                 a readOnly or permanent row is accepted at all. In some
                 contexts this may make sense, in others it may not. If
                 a SET for a readOnly or permanent row is not accepted
                 at all, then a 'wrongValue' error must be returned.
                "
    DEFVAL      { nonVolatile }
    ::= { bosUsmUserEntry 12 }

bosUsmUserStatus    OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 Until instances of all corresponding columns are
                 appropriately configured, the value of the
                 corresponding instance of the usmUserStatus column
                 is 'notReady'.

                 In particular, a newly created row for a user who
                 employs authentication, cannot be made active until the
                 corresponding usmUserCloneFrom and usmUserAuthKeyChange
                 have been set.

                 Further, a newly created row for a user who also
                 employs privacy, cannot be made active until the
                 usmUserPrivKeyChange has been set.

                 The RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified,
                 except for usmUserOwnAuthKeyChange and
                 usmUserOwnPrivKeyChange. For these 2 objects, the
                 value of usmUserStatus MUST be active.
                "
    ::= { bosUsmUserEntry 13 }
    



-- Information about Groups ******************************************

bosVacmSecurityToGroupTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF BosVacmSecurityToGroupEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "This table maps a combination of securityModel and
                 securityName into a groupName which is used to define
                 an access control policy for a group of principals.
                "
    ::= { bosVacmObjects 1 }

bosVacmSecurityToGroupEntry OBJECT-TYPE
    SYNTAX       BosVacmSecurityToGroupEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "An entry in this table maps the combination of a
                 securityModel and securityName into a groupName.
                "
    INDEX       {
                  bosVacmSecurityToGroupTableIndex
                }
    ::= { bosVacmSecurityToGroupTable 1 }

BosVacmSecurityToGroupEntry ::= SEQUENCE
    {
        bosVacmSecurityToGroupTableIndex   Unsigned32,
        bosVacmGroupName                   SnmpAdminString,
        bosVacmSecurityToGroupStorageType  StorageType,
        bosVacmSecurityToGroupStatus       RowStatus
    }


bosVacmSecurityToGroupTableIndex OBJECT-TYPE
SYNTAX       Unsigned32
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
"VacmSecurityToGroupTable index ."
::= {  bosVacmSecurityToGroupEntry  1 }




bosVacmGroupName    OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The name of the group to which this entry (e.g., the
                 combination of securityModel and securityName)
                 belongs.

                 This groupName is used as index into the
                 vacmAccessTable to select an access control policy.
                 However, a value in this table does not imply that an
                 instance with the value exists in table vacmAccesTable.
                "
    ::= { bosVacmSecurityToGroupEntry 2 }

bosVacmSecurityToGroupStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.
                 Conceptual rows having the value 'permanent' need not
                 allow write-access to any columnar objects in the row.
                "
    DEFVAL      { nonVolatile }
    ::= { bosVacmSecurityToGroupEntry 3 }

bosVacmSecurityToGroupStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 Until instances of all corresponding columns are
                 appropriately configured, the value of the

                 corresponding instance of the vacmSecurityToGroupStatus
                 column is 'notReady'.

                 In particular, a newly created row cannot be made
                 active until a value has been set for vacmGroupName.

                 The  RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified.
                "
    ::= { bosVacmSecurityToGroupEntry 4 }

-- Information about Access Rights 

bosVacmAccessTable  OBJECT-TYPE
    SYNTAX       SEQUENCE OF BosVacmAccessEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The table of access rights for groups.

                 Each entry is indexed by a groupName, a contextPrefix,
                 a securityModel and a securityLevel.  To determine
                 whether access is allowed, one entry from this table
                 needs to be selected and the proper viewName from that
                 entry must be used for access control checking.

                 To select the proper entry, follow these steps:

                 1) the set of possible matches is formed by the
                    intersection of the following sets of entries:

                      the set of entries with identical vacmGroupName
                      the union of these two sets:
                       - the set with identical vacmAccessContextPrefix
                       - the set of entries with vacmAccessContextMatch
                         value of 'prefix' and matching
                         vacmAccessContextPrefix
                      intersected with the union of these two sets:
                       - the set of entries with identical
                         vacmSecurityModel
                       - the set of entries with vacmSecurityModel
                         value of 'any'
                      intersected with the set of entries with
                      vacmAccessSecurityLevel value less than or equal
                      to the requested securityLevel

                 2) if this set has only one member, we're done
                    otherwise, it comes down to deciding how to weight
                    the preferences between ContextPrefixes,
                    SecurityModels, and SecurityLevels as follows:
                    a) if the subset of entries with securityModel
                       matching the securityModel in the message is
                       not empty, then discard the rest.
                    b) if the subset of entries with
                       vacmAccessContextPrefix matching the contextName
                       in the message is not empty,
                       then discard the rest
                    c) discard all entries with ContextPrefixes shorter
                       than the longest one remaining in the set
                    d) select the entry with the highest securityLevel

                 Please note that for securityLevel noAuthNoPriv, all
                 groups are really equivalent since the assumption that
                 the securityName has been authenticated does not hold.
                "
    ::= { bosVacmObjects 2 }

bosVacmAccessEntry  OBJECT-TYPE
    SYNTAX       BosVacmAccessEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "An access right configured in the Local Configuration
                 Datastore (LCD) authorizing access to an SNMP context.

                 Entries in this table can use an instance value for
                 object vacmGroupName even if no entry in table
                 vacmAccessSecurityToGroupTable has a corresponding
                 value for object vacmGroupName.
                "
    INDEX       { bosVacmAccessTableIndex }
    ::= { bosVacmAccessTable 1 }

BosVacmAccessEntry ::= SEQUENCE
    {
        bosVacmAccessTableIndex       Unsigned32,
        bosVacmAccessContextMatch     INTEGER,
        bosVacmAccessReadViewName     SnmpAdminString,
        bosVacmAccessWriteViewName    SnmpAdminString,
        bosVacmAccessNotifyViewName   SnmpAdminString,
        bosVacmAccessStorageType      StorageType,
        bosVacmAccessStatus           RowStatus
    }

bosVacmAccessTableIndex OBJECT-TYPE
SYNTAX       Unsigned32
MAX-ACCESS   not-accessible
STATUS       current
DESCRIPTION
"Vacm Access table index ."
::= {  bosVacmAccessEntry  1 }


bosVacmAccessContextMatch OBJECT-TYPE
    SYNTAX       INTEGER
                { exact (1), -- exact match of prefix and contextName
                  prefix (2) -- Only match to the prefix
                }

    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "If the value of this object is exact(1), then all
                 rows where the contextName exactly matches
                 vacmAccessContextPrefix are selected.

                 If the value of this object is prefix(2), then all
                 rows where the contextName whose starting octets
                 exactly match vacmAccessContextPrefix are selected.
                 This allows for a simple form of wildcarding.
                "
    DEFVAL      { exact }
::= { bosVacmAccessEntry 2 }

bosVacmAccessReadViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes read access.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string
    ::= { bosVacmAccessEntry 3 }

bosVacmAccessWriteViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes write access.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string

    ::= { bosVacmAccessEntry 4 }

bosVacmAccessNotifyViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes access for notifications.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string
    ::= { bosVacmAccessEntry 5 }

bosVacmAccessStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

                 Conceptual rows having the value 'permanent' need not
                 allow write-access to any columnar objects in the row.
                "
    DEFVAL      { nonVolatile }
    ::= { bosVacmAccessEntry 6 }

bosVacmAccessStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 The  RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified.
                "
    ::= { bosVacmAccessEntry 7 }


bosVacmViewTreeFamilyTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF BosVacmViewTreeFamilyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "Locally held information about families of subtrees
    within MIB views.

    Each MIB view is defined by two sets of view subtrees:
    - the included view subtrees, and
    - the excluded view subtrees."

    ::= { bosVacmObjects  3 }


    bosVacmViewTreeFamilyEntry OBJECT-TYPE
    SYNTAX       BosVacmViewTreeFamilyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "Information on a particular family of view subtrees
    included in or excluded from a particular SNMP
    context's MIB view.

    Implementations must not restrict the number of
    families of view subtrees for a given MIB view,
    except as dictated by resource constraints on the
    overall number of entries in the
    vacmViewTreeFamilyTable.

    If no conceptual rows exist in this table for a given
    MIB view (viewName), that view may be thought of as
    consisting of the empty set of view subtrees.
    "
    INDEX       { bosVacmViewTreeFamilyTableIndex
    }
::= { bosVacmViewTreeFamilyTable 1 }

BosVacmViewTreeFamilyEntry ::= SEQUENCE
{
    bosVacmViewTreeFamilyTableIndex   INTEGER,
    bosVacmViewTreeFamilyMask         OCTET STRING,
    bosVacmViewTreeFamilyType         INTEGER,
    bosVacmViewTreeFamilyStorageType  StorageType,
    bosVacmViewTreeFamilyStatus       RowStatus
}


    bosVacmViewTreeFamilyTableIndex OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION 
    "Vacm View Tree Family Index"

    ::= { bosVacmViewTreeFamilyEntry 1 }

   
    
    bosVacmViewTreeFamilyMask OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE (0..16))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The bit mask which, in combination with the
    corresponding instance of vacmViewTreeFamilySubtree,
    defines a family of view subtrees.
    "
    DEFVAL      { ''H }
    ::= { bosVacmViewTreeFamilyEntry 2 }

    bosVacmViewTreeFamilyType OBJECT-TYPE
    SYNTAX       INTEGER  { included(1), excluded(2) }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Indicates whether the corresponding instances of
    vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
    define a family of view subtrees which is included in
    or excluded from the MIB view.
    "
    DEFVAL      { included }
    ::= { bosVacmViewTreeFamilyEntry 3 }

    bosVacmViewTreeFamilyStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

    Conceptual rows having the value 'permanent' need not
    allow write-access to any columnar objects in the row.
    "
    DEFVAL      { nonVolatile }
    ::= { bosVacmViewTreeFamilyEntry 4 }

    bosVacmViewTreeFamilyStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "       "
    ::= { bosVacmViewTreeFamilyEntry 5 }


--Target Table

SnmpTagValue ::= TEXTUAL-CONVENTION
DISPLAY-HINT "255t"
STATUS       current
DESCRIPTION
"An octet string containing a tag value.
Tag values are preferably in human-readable form.

To facilitate internationalization, this information
is represented using the ISO/IEC IS 10646-1 character
set, encoded as an octet string using the UTF-8
character encoding scheme described in RFC 2279.

Since additional code points are added by amendments
to the 10646 standard from time to time,
   implementations must be prepared to encounter any code
   point from 0x00000000 to 0x7fffffff.

   The use of control codes should be avoided, and certain

   control codes are not allowed as described below.

   For code points not directly supported by user
   interface hardware or software, an alternative means
   of entry and display, such as hexadecimal, may be
   provided.

   For information encoded in 7-bit US-ASCII, the UTF-8
   representation is identical to the US-ASCII encoding.

   Note that when this TC is used for an object that
   is used or envisioned to be used as an index, then a
   SIZE restriction must be specified so that the number
   of sub-identifiers for any object instance does not
   exceed the limit of 128, as defined by [RFC1905].

   An object of this type contains a single tag value
   which is used to select a set of entries in a table.

   A tag value is an arbitrary string of octets, but
   may not contain a delimiter character.  Delimiter
   characters are defined to be one of the following:

   -  An ASCII space character (0x20).

   -  An ASCII TAB character (0x09).

   -  An ASCII carriage return (CR) character (0x0D).

   -  An ASCII line feed (LF) character (0x0A).

   Delimiter characters are used to separate tag values
   in a tag list.  An object of this type may only
   contain a single tag value, and so delimiter
   characters are not allowed in a value of this type.

   Note that a tag value of 0 length means that no tag is
   defined.  In other words, a tag value of 0 length would
   never match anything in a tag list, and would never
   select any table entries.

   Some examples of valid tag values are:

   - 'acme'

   - 'router'

   - 'host'

   The use of a tag value to select table entries is
    application and MIB specific."
SYNTAX       OCTET STRING (SIZE (0..255))

    SnmpTagList ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "255t"
    STATUS       current
    DESCRIPTION
    "An octet string containing a list of tag values.
    Tag values are preferably in human-readable form.

    To facilitate internationalization, this information
    is represented using the ISO/IEC IS 10646-1 character
    set, encoded as an octet string using the UTF-8
    character encoding scheme described in RFC 2279.

    Since additional code points are added by amendments
    to the 10646 standard from time to time,
    implementations must be prepared to encounter any code
    point from 0x00000000 to 0x7fffffff.

    The use of control codes should be avoided, except as
    described below.

    For code points not directly supported by user
    interface hardware or software, an alternative means
    of entry and display, such as hexadecimal, may be
    provided.

    For information encoded in 7-bit US-ASCII, the UTF-8
    representation is identical to the US-ASCII encoding.

    An object of this type contains a list of tag values
    which are used to select a set of entries in a table.

    A tag value is an arbitrary string of octets, but
    may not contain a delimiter character.  Delimiter
    characters are defined to be one of the following:

    -  An ASCII space character (0x20).

    -  An ASCII TAB character (0x09).

    -  An ASCII carriage return (CR) character (0x0D).

    -  An ASCII line feed (LF) character (0x0A).

    Delimiter characters are used to separate tag values

    in a tag list.  Only a single delimiter character may
    occur between two tag values.  A tag value may not
    have a zero length.  These constraints imply certain
    restrictions on the contents of this object:

    - There cannot be a leading or trailing delimiter
    character.

    - There cannot be multiple adjacent delimiter
    characters.

    Some examples of valid tag lists are:

    - ''                        -- an empty list

    - 'acme'                    -- list of one tag

    - 'host router bridge'      -- list of several tags

    Note that although a tag value may not have a length of
    zero, an empty string is still valid.  This indicates
    an empty list (i.e. there are no tag values in the list).

    The use of the tag list to select table entries is
    application and MIB specific.  Typically, an application
    will provide one or more tag values, and any entry
    which contains some combination of these tag values
    will be selected."
SYNTAX       OCTET STRING (SIZE (0..255))

   bossnmpTargetAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosSnmpTargetAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A table of transport addresses to be used in the generation
    of SNMP messages."
    ::= { bosSnmpTargetObjects 1 }

    bosSnmpTargetAddrEntry OBJECT-TYPE
    SYNTAX      BosSnmpTargetAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "A transport address to be used in the generation
    of SNMP operations.

    Entries in the snmpTargetAddrTable are created and
    deleted using the snmpTargetAddrRowStatus object."
    INDEX {  bossnmpTargetTableIndex }
    ::= { bossnmpTargetAddrTable 1 }

    BosSnmpTargetAddrEntry ::= SEQUENCE
    {
      bossnmpTargetTableIndex       Unsigned32, 
      bossnmpTargetAddrTDomain      TDomain,
      bossnmpTargetAddrTAddress     TAddress,
      bossnmpTargetAddrTimeout      TimeInterval,
      bossnmpTargetAddrRetryCount   Integer32,
      bossnmpTargetAddrTagList      SnmpTagList,
      bossnmpTargetAddrParams       SnmpAdminString,
      bossnmpTargetAddrStorageType  StorageType,
      bossnmpTargetAddrRowStatus    RowStatus
    }

    bossnmpTargetTableIndex OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "Target table index ."
    ::= {  bosSnmpTargetAddrEntry  1 }


    
    bossnmpTargetAddrTDomain OBJECT-TYPE
    SYNTAX      TDomain
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object indicates the transport type of the address
    contained in the snmpTargetAddrTAddress object."
    ::= { bosSnmpTargetAddrEntry 2 }

    bossnmpTargetAddrTAddress OBJECT-TYPE
    SYNTAX      TAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object contains a transport address.  The format of
    this address depends on the value of the
    snmpTargetAddrTDomain object."
    ::= { bosSnmpTargetAddrEntry 3 }

    bossnmpTargetAddrTimeout OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
    "This object should reflect the expected maximum round
    trip time for communicating with the transport address
    defined by this row.  When a message is sent to this
    address, and a response (if one is expected) is not
    received within this time period, an implementation
    may assume that the response will not be delivered.

    Note that the time interval that an application waits
    for a response may actually be derived from the value
    of this object.  The method for deriving the actual time
    interval is implementation dependent.  One such method
    is to derive the expected round trip time based on a
    particular retransmission algorithm and on the number
    of timeouts which have occurred.  The type of message may
    also be considered when deriving expected round trip
    times for retransmissions.  For example, if a message is
    being sent with a securityLevel that indicates both

    authentication and privacy, the derived value may be
    increased to compensate for extra processing time spent
    during authentication and encryption processing."
DEFVAL { 1500 }
    ::= { bosSnmpTargetAddrEntry 4 }

bossnmpTargetAddrRetryCount OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object specifies a default number of retries to be
         attempted when a response is not received for a generated
         message.  An application may provide its own retry count,
         in which case the value of this object is ignored."
    DEFVAL { 3 }
    ::= { bosSnmpTargetAddrEntry 5 }

   bossnmpTargetAddrTagList OBJECT-TYPE
       SYNTAX      SnmpTagList
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a list of tag values which are
            used to select target addresses for a particular
            operation."
       DEFVAL { "" }
       ::= { bosSnmpTargetAddrEntry 6 }

   bossnmpTargetAddrParams OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object identifies an entry in the
            snmpTargetParamsTable.  The identified entry
            contains SNMP parameters to be used when generating
            messages to be sent to this transport address."
       ::= { bosSnmpTargetAddrEntry 7 }

   bossnmpTargetAddrStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { bosSnmpTargetAddrEntry 8 }

   bossnmpTargetAddrRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            Until instances of all corresponding columns are
            appropriately configured, the value of the
            corresponding instance of the snmpTargetAddrRowStatus
            column is 'notReady'.

            In particular, a newly created row cannot be made
            active until the corresponding instances of
            snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
            snmpTargetAddrParams have all been set.

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress
            An attempt to set these objects while the value of
            snmpTargetAddrRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { bosSnmpTargetAddrEntry 9 }

    bosSnmpTargetParamsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF BosSnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of SNMP target information to be used
            in the generation of SNMP messages."
       ::= { bosSnmpTargetObjects 2 }

   bosSnmpTargetParamsEntry OBJECT-TYPE
       SYNTAX     BosSnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A set of SNMP target information.

            Entries in the snmpTargetParamsTable are created and
            deleted using the snmpTargetParamsRowStatus object."
       INDEX { bosSnmpTargetParamsTableIndex }
       ::= {bosSnmpTargetParamsTable 1 }
       
       BosSnmpTargetParamsEntry ::= SEQUENCE 
   {
       bosSnmpTargetParamsTableIndex     Unsigned32, 
       bosSnmpTargetParamsMPModel        SnmpMessageProcessingModel,
       bosSnmpTargetParamsSecurityModel  SnmpSecurityModel,
       bosSnmpTargetParamsSecurityName   SnmpAdminString,
       bosSnmpTargetParamsSecurityLevel  SnmpSecurityLevel,
       bosSnmpTargetParamsStorageType    StorageType,
       bosSnmpTargetParamsRowStatus      RowStatus
   }
   
        bosSnmpTargetParamsTableIndex OBJECT-TYPE
        SYNTAX       Unsigned32
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
        "Target Params table index ."
        ::= {  bosSnmpTargetParamsEntry  1 }

       bosSnmpTargetParamsMPModel OBJECT-TYPE
       SYNTAX      SnmpMessageProcessingModel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Message Processing Model to be used when generating
            SNMP messages using this entry."
       ::= { bosSnmpTargetParamsEntry 2 }

   bosSnmpTargetParamsSecurityModel OBJECT-TYPE
       SYNTAX      SnmpSecurityModel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry.  An implementation may
             choose to return an inconsistentValue error if an
             attempt is made to set this variable to a value
             for a security model which the implementation does
             not support."
       ::= { bosSnmpTargetParamsEntry 3}

   bosSnmpTargetParamsSecurityName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The securityName which identifies the Principal on
            whose behalf SNMP messages will be generated using
            this entry."
       ::= { bosSnmpTargetParamsEntry 4 }

   bosSnmpTargetParamsSecurityLevel OBJECT-TYPE
       SYNTAX      SnmpSecurityLevel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Level of Security to be used when generating
            SNMP messages using this entry."
       ::= { bosSnmpTargetParamsEntry 5 }

   bosSnmpTargetParamsStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { bosSnmpTargetParamsEntry 6 }

   bosSnmpTargetParamsRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            Until instances of all corresponding columns are
            appropriately configured, the value of the
            corresponding instance of the snmpTargetParamsRowStatus
            column is 'notReady'.

            In particular, a newly created row cannot be made
            active until the corresponding
            snmpTargetParamsMPModel,
            snmpTargetParamsSecurityModel,
            snmpTargetParamsSecurityName,
            and snmpTargetParamsSecurityLevel have all been set.

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel
            An attempt to set these objects while the value of
            snmpTargetParamsRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { bosSnmpTargetParamsEntry 7 }

       

bosSnmpNotifyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF BosSnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to select management targets which should
            receive notifications, as well as the type of notification
            which should be sent to each selected management target."
       ::= { bosSnmpNotifyObjects 1 }


   bosSnmpNotifyEntry OBJECT-TYPE
       SYNTAX      BosSnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table selects a set of management targets
            which should receive notifications, as well as the type of
            notification which should be sent to each selected
            management target.
                
            Entries in the snmpNotifyTable are created and
            deleted using the snmpNotifyRowStatus object."
       INDEX { bosSnmpNotifyTableIndex }
       ::= { bosSnmpNotifyTable 1 }


   BosSnmpNotifyEntry ::= SEQUENCE 
   {
       bosSnmpNotifyTableIndex   Unsigned32,
       bosSnmpNotifyTag          SnmpTagValue,
       bosSnmpNotifyType         INTEGER,
       bosSnmpNotifyStorageType  StorageType,
       bosSnmpNotifyRowStatus    RowStatus   
    }
    
    bosSnmpNotifyTableIndex OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "Notify table index ."
    ::= {  bosSnmpNotifyEntry  1 }


   
   bosSnmpNotifyTag OBJECT-TYPE
       SYNTAX      SnmpTagValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a single tag value which is used
            to select entries in the snmpTargetAddrTable.  Any entry
            in the snmpTargetAddrTable which contains a tag value
            which is equal to the value of an instance of this
            object is selected.  If this object contains a value
            of zero length, no entries are selected."
       DEFVAL { "" }
       ::= { bosSnmpNotifyEntry 2 }

   bosSnmpNotifyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       trap(1),
                       inform(2)                   
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object determines the type of notification to
            be generated for entries in the snmpTargetAddrTable
            selected by the corresponding instance of
            snmpNotifyTag.  This value is only used when
            generating notifications, and is ignored when
            using the snmpTargetAddrTable for other purposes.

            If the value of this object is trap(1), then any
            messages generated for selected rows will contain
            Unconfirmed-Class PDUs.

            If the value of this object is inform(2), then any
            messages generated for selected rows will contain
            Confirmed-Class PDUs.

            Note that if an SNMP entity only supports
            generation of Unconfirmed-Class PDUs (and not
            Confirmed-Class PDUs), then this object may be
            read-only."
       DEFVAL { trap }
       ::= { bosSnmpNotifyEntry 3 }


   bosSnmpNotifyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row.
            Conceptual rows having the value 'permanent' need not
            allow write-access to any columnar objects in the row."
       DEFVAL { nonVolatile }
       ::= { bosSnmpNotifyEntry 4 }


   bosSnmpNotifyRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { bosSnmpNotifyEntry 5 }



bosSnmpCommunityTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF BosSnmpCommunityEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table of community strings configured in the SNMP
         engine's Local Configuration Datastore (LCD)."
    ::= { bosSnmpCommunityObjects 1 }

bosSnmpCommunityEntry OBJECT-TYPE
    SYNTAX       BosSnmpCommunityEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Information about a particular community string."
    INDEX       {  bosSnmpCommunityTableIndex }
    ::= { bosSnmpCommunityTable 1 }

BosSnmpCommunityEntry ::= SEQUENCE 
{
    bosSnmpCommunityTableIndex      Unsigned32,   
    bosSnmpCommunityName                OCTET STRING,
    bosSnmpCommunitySecurityName        SnmpAdminString,
    bosSnmpCommunityContextEngineID     SnmpEngineID,
    bosSnmpCommunityContextName         SnmpAdminString,
    bosSnmpCommunityTransportTag        SnmpTagValue,
    bosSnmpCommunityStorageType         StorageType,
    bosSnmpCommunityStatus              RowStatus
}

 bosSnmpCommunityTableIndex OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
    "Community Table Index."
    ::= {  bosSnmpCommunityEntry  1 }

bosSnmpCommunityName OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The community string for which a row in this table
         represents a configuration.  There is no SIZE constraint
         specified for this object because RFC 1157 does not
         impose any explicit limitation on the length of community
         strings (their size is constrained indirectly by the
         SNMP message size)."
    ::= { bosSnmpCommunityEntry 2 }

bosSnmpCommunitySecurityName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "A human readable string representing the corresponding
         value of snmpCommunityName in a Security Model
         independent format."
    ::= { bosSnmpCommunityEntry 3 }

bosSnmpCommunityContextEngineID OBJECT-TYPE
    SYNTAX       SnmpEngineID
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The contextEngineID indicating the location of the
         context in which management information is accessed
         when using the community string specified by the
         corresponding instance of snmpCommunityName.

         The default value is the snmpEngineID of the entity in
         which this object is instantiated."
    ::= { bosSnmpCommunityEntry 4 }

bosSnmpCommunityContextName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The context in which management information is accessed
         when using the community string specified by the
         corresponding instance of snmpCommunityName."
    DEFVAL      { ''H }   -- the empty string
    ::= { bosSnmpCommunityEntry 5 }

bosSnmpCommunityTransportTag OBJECT-TYPE
    SYNTAX       SnmpTagValue
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object specifies a set of transport endpoints
         which are used in two ways:
            - to specify the transport endpoints from which an
              SNMP entity will accept management requests, and
            - to specify the transport endpoints to which a
              notification may be sent using the community
              string matching the corresponding instance of
              snmpCommunityName.
         In either case, if the value of this object has
         zero-length, transport endpoints are not checked when
         either authenticating messages containing this community
         string, nor when generating notifications.

         The transports identified by this object are specified
         in the snmpTargetAddrTable.  Entries in that table
         whose snmpTargetAddrTagList contains this tag value
         are identified.

         If a management request containing a community string
         that matches the corresponding instance of
         snmpCommunityName is received on a transport endpoint
         other than the transport endpoints identified by this
         object the request is deemed unauthentic.

         When a notification is to be sent using an entry in
         this table, if the destination transport endpoint of
         the notification does not match one of the transport
         endpoints selected by this object, the notification
         is not sent."
    DEFVAL      { ''H }   -- the empty string
    ::= { bosSnmpCommunityEntry 6 }

bosSnmpCommunityStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The storage type for this conceptual row in the
         snmpCommunityTable.  Conceptual rows having the value
         'permanent' need not allow write-access to any
         columnar object in the row."
    ::= { bosSnmpCommunityEntry 7 }

bosSnmpCommunityStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The status of this conceptual row in the
         snmpCommunityTable.

         An entry in this table is not qualified for activation
         until instances of all corresponding columns have been
         initialized, either through default values, or through
         Set operations.  The snmpCommunityName and
         snmpCommunitySecurityName objects must be explicitly set.

         There is no restriction on setting columns in this table
         when the value of snmpCommunityStatus is active(1)."
    ::= { bosSnmpCommunityEntry 8 }

--snmpv3 OBJECTS STOP

-- IP group START

bosIpDefaultGatewayTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF BosIpDefaultGatewayEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of IP default gateways"
    ::= { ip 2 }

bosIpDefaultGatewayEntry OBJECT-TYPE
    SYNTAX  BosIpDefaultGatewayEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the default gatway IP table."
    INDEX   { bosIpDefaultGatewayIndex }
    ::= { bosIpDefaultGatewayTable 1 }

BosIpDefaultGatewayEntry ::= SEQUENCE {
    bosIpDefaultGatewayIndex     Integer32,
    bosIpDefaultGatewayIpAddr    IpAddress,
    bosIpDefaultGatewayState     INTEGER,
    bosIpDefaultGatewayStatus    INTEGER,
    bosIpDefaultGatewayRowStatus RowStatus 
    }

bosIpDefaultGatewayIndex OBJECT-TYPE
    SYNTAX  Integer32(1..4)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The default gateway index. Currently only one default gateway
         is supported.So the value of this attribute is always 1."
    ::= { bosIpDefaultGatewayEntry 1 }

bosIpDefaultGatewayIpAddr OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The default gateway IP address."
    ::= { bosIpDefaultGatewayEntry 2 }

bosIpDefaultGatewayStatus OBJECT-TYPE
    SYNTAX  INTEGER  {
        enabled(1),
        disabled(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The default gateway administrative status." 
    ::= { bosIpDefaultGatewayEntry 3 }

bosIpDefaultGatewayState OBJECT-TYPE
    SYNTAX  INTEGER  {
        up(1),
        down(2)
        }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The default gateway operational status. This object indicates
         whether the gateway is reachable or not."
    ::= { bosIpDefaultGatewayEntry 4 }

bosIpDefaultGatewayRowStatus OBJECT-TYPE
    SYNTAX      RowStatus 
    MAX-ACCESS  read-write
    STATUS      current 
    DESCRIPTION 
        "The status of a row in the IP default gateway table. By 
        'bosIpDefaultGatewayRowStatus' new entries can be created and  
        the existing entries can be removed from the IP default gateway table"
    ::= { bosIpDefaultGatewayEntry 5 } 
    
-- IP group STOP

--  IGS Objects
igmpV3SnoopCfg    OBJECT IDENTIFIER ::= { igs 2 }

igmpV3SnoopNewCfgSources OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Number of sources to snoop in a group record in new config."
    ::= { igmpV3SnoopCfg 1 }

igmpV3SnoopNewCfgEnaDis OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Set Enable/Disable of IGMP V3 Snooping."
    ::= { igmpV3SnoopCfg 2 }

igmpV3SnoopNewCfgExcludeEnaDis OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Set Enable/Disable of IGMP V3 EXCLUDE filter-mode Snooping."
    ::= { igmpV3SnoopCfg 3 }

igmpV3SnoopNewCfgV1V2EnaDis OBJECT-TYPE
    SYNTAX INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Set Enable/Disable of IGMP V1/V2 Report Snooping."
    ::= { igmpV3SnoopCfg 4 }

igmpSnoopCfg      OBJECT IDENTIFIER ::= { igs 3 }

igmpSnoopStatsClear OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear IGMP snoop statistics. Read on this object always returns ok.
    Setting ok has no effect. Setting value clear reset the snoop statistics"
    ::= { igmpSnoopCfg 2 }

igmpSnoopGroupClear OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear the IGMP Group registrations. Read on this object always 
        returns ok.Setting ok has no effect. Setting value clear reset 
        the snoop statistics"
    ::= { igmpSnoopCfg 3 }

igmpSnoopMrouterClear OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear the IGMP Mrouters learnt. Read on this object always 
        returns ok.Setting ok has no effect. Setting value clear reset 
        the snoop statistics"
    ::= { igmpSnoopCfg 4 }

bosSnoopVlanStatsClearTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosSnoopVlanStatsClearEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table contains the objects for clearing the statistics."
    ::= { igmpSnoopCfg 5 }

bosSnoopVlanStatsClearEntry OBJECT-TYPE
    SYNTAX BosSnoopVlanStatsClearEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Contains the objects for clearing the VLAN statistics."
    INDEX   { bosSnoopVlanStatsClearVlanId }
    ::= { bosSnoopVlanStatsClearTable 1 }

BosSnoopVlanStatsClearEntry ::= SEQUENCE {
      bosSnoopVlanStatsClearVlanId   INTEGER,
      bosSnoopVlanStatsClear         INTEGER
          }

bosSnoopVlanStatsClearVlanId OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The VLAN ID for which statistics to be cleared"
    ::= { bosSnoopVlanStatsClearEntry 1}

bosSnoopVlanStatsClear OBJECT-TYPE
    SYNTAX INTEGER {
      ok(1),
      clear(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Clear IGMP snoop statistics on a particular VLAN. Read on this object 
    always returns ok.Setting ok has no effect. Setting value clear reset the 
    snoop statistics"
    ::= { bosSnoopVlanStatsClearEntry 2 }

igmpSnoopFloodStatus OBJECT-TYPE
    SYNTAX INTEGER {
      enable(1),
      disable(2)
      }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object contols the flooding of unknown IPMC packets. If enabled, 
        IPMC packets are flooded on vlan members.Else, unknown IPMC packets will
        not be flooded"
    ::= { igmpSnoopCfg 6 }

bosigmpSnoopVlanConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosigmpSnoopVlanConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table contains the configurations over snoop enabled vlans"
    ::= { igmpSnoopCfg 7 }

bosigmpSnoopVlanConfigEntry OBJECT-TYPE
    SYNTAX BosigmpSnoopVlanConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Contains the objects for configuring params for snoop enabled vlan."
    INDEX   { bosSnoopVlanConfigVlanId }
    ::= { bosigmpSnoopVlanConfigTable 1 }

BosigmpSnoopVlanConfigEntry ::= SEQUENCE {
      bosSnoopVlanConfigVlanId   INTEGER,
      bosSnoopVlanConfigSrcIp    IpAddress
          }

bosSnoopVlanConfigVlanId OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The VLAN ID for which snoop configuration to be done"
    ::= { bosigmpSnoopVlanConfigEntry 1}

bosSnoopVlanConfigSrcIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "The source ip for GSQ proxy in this vlan"
    ::= { bosigmpSnoopVlanConfigEntry 2 }

bosSnoopInfo      OBJECT IDENTIFIER ::= { igs 4 }

bosSnoopInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosSnoopInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table of IGMP/MLD group membership information."
    ::= { bosSnoopInfo 1 }

bosSnoopInfoEntry OBJECT-TYPE
    SYNTAX BosSnoopInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Information about an IGMP/MLD group member ."
    INDEX {bosSnoopInfoAddressType, 
           bosSnoopInfoVlanId, 
           bosSnoopInfoGroupAddress,
           bosSnoopInfoSourceAddress, 
           bosSnoopInfoPortNum }
    ::= { bosSnoopInfoTable 1 }

BosSnoopInfoEntry ::= SEQUENCE {
    bosSnoopInfoAddressType   InetAddressType,
    bosSnoopInfoVlanId            INTEGER,
    bosSnoopInfoGroupAddress  InetAddress,
    bosSnoopInfoSourceAddress InetAddress,
    bosSnoopInfoPortNum           INTEGER,
    bosSnoopInfoVersion           INTEGER,
    bosSnoopInfoExpires           DisplayString,
    bosSnoopInfoMode              INTEGER,
    bosSnoopInfoFwd               INTEGER
    }

bosSnoopInfoAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "InetAddressType pertaining to the Multicast forwarding entry"
    ::= { bosSnoopInfoEntry 1 }

bosSnoopInfoVlanId OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The VLAN ID for this IGMP/MLD group."
    ::= { bosSnoopInfoEntry 2}

bosSnoopInfoGroupAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The IP address of the IGMP/MLD group."
    ::= { bosSnoopInfoEntry 3}

bosSnoopInfoSourceAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
    "Unicast source address of the data source that sends
     multicast data for this group"
    ::= { bosSnoopInfoEntry 4 }

bosSnoopInfoPortNum OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The downstream member port"
    ::= { bosSnoopInfoEntry 5}

bosSnoopInfoVersion OBJECT-TYPE
    SYNTAX INTEGER {
        v1(1),
        v2(2),
        v3(3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Version of IGMP host."
    ::= { bosSnoopInfoEntry 6}

bosSnoopInfoExpires OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The expiration time for this host."
    ::= { bosSnoopInfoEntry 7 }

bosSnoopInfoMode OBJECT-TYPE
    SYNTAX INTEGER {
        none (0),
        exclude(1),
        include(2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IGMPv3 filter-mode for this host."
    ::= { bosSnoopInfoEntry 8 }

bosSnoopInfoFwd OBJECT-TYPE
    SYNTAX INTEGER {
        no(0),
        yes(1)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IGMPv3 forwarding for this source/group IP for this host."
    ::= { bosSnoopInfoEntry 9 }

bosSnoopMrouterInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosSnoopMrouterInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "The table contains the information learnt on a mrouter port"
    ::= { bosSnoopInfo 2 }

bosSnoopMrouterInfoEntry OBJECT-TYPE
    SYNTAX BosSnoopMrouterInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
      "Information learnt on a mrouter port."
    INDEX {bosSnoopMrouterInfoVlanId, 
           bosSnoopMrouterInfoPortNum }
    ::= { bosSnoopMrouterInfoTable 1 }

BosSnoopMrouterInfoEntry ::= SEQUENCE {
    bosSnoopMrouterInfoVlanId     INTEGER,
    bosSnoopMrouterInfoPortNum    INTEGER,
    bosSnoopMrouterInfoExpires    DisplayString,
    bosSnoopMrouterInfoResponseTime  INTEGER,
    bosSnoopMrouterInfoQRV           INTEGER,
    bosSnoopMrouterInfoQQIC          INTEGER
    }
bosSnoopMrouterInfoVlanId OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The VLAN on whcih the Mrouter port presents."
    ::= { bosSnoopMrouterInfoEntry 1}

bosSnoopMrouterInfoPortNum OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The port at which Mrouter presents"
    ::= { bosSnoopMrouterInfoEntry 2}

bosSnoopMrouterInfoExpires OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The expiration time for this mrouter port"
    ::= { bosSnoopMrouterInfoEntry 3 }

bosSnoopMrouterInfoResponseTime OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The response time recorded from the Query message"
    ::= { bosSnoopMrouterInfoEntry 4}

bosSnoopMrouterInfoQRV OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QRV recorded from the IGMPv3 Query Message"
    ::= { bosSnoopMrouterInfoEntry 5}

bosSnoopMrouterInfoQQIC OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QQIC recorded from the IGMPv3 Query Message"
    ::= { bosSnoopMrouterInfoEntry 6}

-- IGS OBJECTS STOP

-- QOS OBJECTS START

bosNewCfgPriorityCoSTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BosNewCfgPriorityCoSEntry
    MAX-ACCESS   not-accessible
    STATUS      current
    DESCRIPTION
       "The table of Frame Priority and COSq configuration."
    ::= { qos  1 }

bosNewCfgPriorityCoSEntry OBJECT-TYPE
    SYNTAX BosNewCfgPriorityCoSEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about a particular Frame Priority and COSq configuration."
    INDEX { bosNewCfgPriorityIndex }
    ::= { bosNewCfgPriorityCoSTable 1 }

BosNewCfgPriorityCoSEntry ::= SEQUENCE {
    bosNewCfgPriorityIndex INTEGER,
    bosNewCfgPriorityCoSq  INTEGER
    }

bosNewCfgPriorityIndex  OBJECT-TYPE
    SYNTAX  INTEGER  (0..7)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Frame priority Number"
    ::= { bosNewCfgPriorityCoSEntry 1 }

bosNewCfgPriorityCoSq  OBJECT-TYPE
    SYNTAX  INTEGER  (0..7)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "CoSq for a Frame Priority Should be between 0 and 7"
    ::= { bosNewCfgPriorityCoSEntry 2 }

bosNewCfgDscpTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BosNewCfgDscpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The table of Dscp to New Dscp/802.1p priority configuration."
    ::= { qos  4 }

bosNewCfgDscpEntry OBJECT-TYPE
    SYNTAX BosNewCfgDscpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Information about a particular Dscp to New Dscp/802.1p priority configuration"
    INDEX { bosNewCfgDscpIndex }
    ::= { bosNewCfgDscpTable 1 }

BosNewCfgDscpEntry ::= SEQUENCE {
    bosNewCfgDscpIndex    INTEGER,
    bosNewCfgMapCosQ INTEGER
    }

bosNewCfgDscpIndex  OBJECT-TYPE
    SYNTAX  INTEGER  (0..63)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Dscp value"
    ::= { bosNewCfgDscpEntry 1 }

bosNewCfgMapCosQ  OBJECT-TYPE
    SYNTAX  INTEGER  (0..7)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Map 802.1p value"
    ::= { bosNewCfgDscpEntry 4 }

bosNewCfgDscpState OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Enable/disable of DSCP globally in system (on all ports).
         When Enable, bosNewCfgDscpTable entry (DSCP to COSQ mapping) 
         will be functional and DSCP value will be used for Scheduling. 
         When disabled, 802.1p will be used for Scheduling. "
    ::= { qos 5 }

-- QOS OBJECT STOP

--- Switch Objects

hwPartNumber OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The hardware part number of the Switch." 
    ::= { switch 1 }

hwRevision OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..16))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The hardware revision.  If the revision is not
         available, a zero length string should be returned."
    ::= { switch 2 }
 
hwLastBoot OBJECT-TYPE
    SYNTAX INTEGER {
         powerCycle(1),
         resetFromConsole(2)
            }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Reason of the last boot.
        "
    ::= { switch 3 }

hwMACAddress OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The MAC address."
    ::= { switch 4 }

hwSwitchRunningSwVersion  OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The switch software version."
    ::= { switch 5 }

hwFlashConfiguration OBJECT-TYPE
    SYNTAX INTEGER {
         factory(0),
         active(1),
         backup(2)
            }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The active flash configuration."
    ::= { switch 6 }

hwPCBAPartNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The PCBA part number."
    ::= { switch 7 }

hwFABNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "FAB Number"
    ::= { switch 8 }

 hardwareSerialNumber OBJECT-TYPE
     SYNTAX DisplayString (SIZE(0..128))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
         "The switch serial number."
     ::= { switch 9 }

 hardwareManufacturingDate OBJECT-TYPE
     SYNTAX DisplayString (SIZE(0..128))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
         "The date of manufacturing."
     ::= { switch 10 }

hwTemperatureSensor1 OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature sensor 1."
    ::= { switch 11 }

hwTemperatureSensor2 OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature sensor 2."
    ::= { switch 12 }

hwTemperatureSensor3 OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The temperature sensor 3."
    ::= { switch 13 }

hwFan1RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Fan 1 RPM value."
    ::= { switch 14 }

hwFan2RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Fan 2 RPM value."
    ::= { switch 15 }

hwFan3RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Fan 3 RPM value."
    ::= { switch 16 }

hwFan4RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Fan 4 RPM value."
    ::= { switch 17 }

hwBoardRevision OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Board revision number."
    ::= { switch 18 }

hwPLDFirmwareVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The PLD Firmware version."
    ::= { switch 19 }

hwPowerSupply1State OBJECT-TYPE
    SYNTAX INTEGER {
         off(0),
         on(1)
            }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Power Supply 1 state."
    ::= { switch 20 }

hwPowerSupply2State OBJECT-TYPE
    SYNTAX INTEGER {
         off(0),
         on(1)
            }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Power Supply 2 state."
    ::= { switch 21 }

sfpInfoTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SfpInfoTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of external port SFP information."
    ::= { switch 22 }

sfpInfoTableEntry OBJECT-TYPE
    SYNTAX  SfpInfoTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the external port SFP information table."
    INDEX   { sfpInfoIndx }
    ::= { sfpInfoTable 1 }

SfpInfoTableEntry ::= SEQUENCE {
    sfpInfoIndx                 Integer32, 
    sfpInfoDescription          INTEGER,
    sfpInfoSerialNumber         DisplayString,
    sfpInfoPartNumber           DisplayString,
    sfpInfoHWRevision           DisplayString,
    sfpInfoPresent              INTEGER,
    sfpInfoApproved             INTEGER,
    sfpInfoVendor               DisplayString,
    sfpInfoLaser                DisplayString,
    sfpInfoDate                 DisplayString,
    sfpInfoTemperature          DisplayString,
    sfpInfoVoltage              DisplayString
    }

sfpInfoIndx OBJECT-TYPE
    SYNTAX  Integer32 (1..24)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Sfp Info index (45,46,47,48,49,50,51,52)"
    ::= { sfpInfoTableEntry 1 }

sfpInfoDescription OBJECT-TYPE
    SYNTAX INTEGER {
       none(0),
       sfp(1),
       cx4(2), 
       sfpplus(3),
       dac(6),
       sfpcopper(8)
       }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Type Ethernet device (None(0), SFP(1), CX4(2), SFPplus(3))"
    ::= { sfpInfoTableEntry 2 }

sfpInfoSerialNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Serial Number."
    ::= { sfpInfoTableEntry 3 }

sfpInfoPartNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Part Number."
    ::= { sfpInfoTableEntry 4 }

sfpInfoHWRevision OBJECT-TYPE  
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only  
    STATUS  current  
    DESCRIPTION  
        "Hardware Revision"
    ::= { sfpInfoTableEntry 5 }

sfpInfoPresent OBJECT-TYPE
    SYNTAX INTEGER {
        present(1),
        notpresent(0)
       }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Describes whether actual SFP/SFP+ transceiver installation is present or not "
    ::= { sfpInfoTableEntry 6 }

sfpInfoApproved OBJECT-TYPE
    SYNTAX INTEGER {
        accepted(2),
        approved(1),
        notapproved(0)
       }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Describes whether transceiver is an approved, accepted or unsupported device"
    ::= { sfpInfoTableEntry 7 }


sfpInfoVendor OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Vendor Name"
    ::= { sfpInfoTableEntry 8 }

sfpInfoLaser OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Wave Length"
    ::= { sfpInfoTableEntry 9 }

sfpInfoDate OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Manufacturing Date"
    ::= { sfpInfoTableEntry 10 }

sfpInfoTemperature OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Temperature"
    ::= { sfpInfoTableEntry 11 }

sfpInfoVoltage OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "Voltage"
    ::= { sfpInfoTableEntry 12 }

swImage1Version OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Software image1 version"
    ::= { switch 24 }

swImage2Version OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Software image2 version"
    ::= { switch 25 }

swBootVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Software boot version"
    ::= { switch 26 }

--  SNMP_SERVER Objects
-- hwTemperatureSensor1WarningThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 1 Warning Threshhold."
--     ::= { switch 27 }
-- 
-- hwTemperatureSensor1RecoverThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 1 Recover Threshhold."
--     ::= { switch 28 }
-- 
-- hwTemperatureSensor2WarningThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 2 Warning Threshhold."
--     ::= { switch 29 }
-- 
-- hwTemperatureSensor2RecoverThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 2 Recover Threshhold."
--     ::= { switch 30 }
-- 
-- hwTemperatureSensor3WarningThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 3 Warning Threshhold."
--     ::= { switch 31 }
-- 
-- hwTemperatureSensor3RecoverThreshhold OBJECT-TYPE
--     SYNTAX DisplayString (SIZE(0..128))
--     MAX-ACCESS read-only
--     STATUS current
--     DESCRIPTION
--     "The temperature sensor 3 Recover Threshhold."
--     ::= { switch 32 }


hwFan5RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The Fan 5 RPM value."
    ::= { switch 33 }


hwFan6RPMValue OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The Fan 6 RPM value."
    ::= { switch 34 }

hwTemperatureSensorWarningThreshhold OBJECT-TYPE
     SYNTAX INTEGER
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
     "The temperature sensor Warning Threshhold."
     ::= { switch 35 }
 
hwTemperatureSensorRecoverThreshhold OBJECT-TYPE
     SYNTAX INTEGER
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
     "The temperature sensor  Recover Threshhold."
     ::= { switch 36}


snmpCfgServerVersion OBJECT-TYPE
    SYNTAX  INTEGER  {
        v1v2v3(1),
        v3only(2)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "To enable or disable the access to SNMP versions 1,2,3   or 3 only."
    ::= { snmp 1 }

snmpCfgTrapSrcIf OBJECT-TYPE
    SYNTAX  INTEGER  
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The SNMP trap source interface number." 
    ::= { snmp 2 }




bosSwTempExceedThreshold NOTIFICATION-TYPE
       OBJECTS {
		hwTemperatureSensor1,
		hwTemperatureSensor2,
		hwTemperatureSensor3,
		bntSwTrapDisplayString
              }
    STATUS current
    DESCRIPTION
        "A bosSwTempExceedThreshold trap signifies that the
         switch temperature has exceeded maximum safety limits."
::= { bosSnmpTraps 1 }

bosSwFanFailure NOTIFICATION-TYPE
       OBJECTS {
	      	hwFan1RPMValue,
	      	hwFan2RPMValue,
	      	hwFan3RPMValue,
	     	hwFan4RPMValue, 
	     	hwFan5RPMValue, 
	     	hwFan6RPMValue, 
		bntSwTrapDisplayString
              }
    STATUS current
    DESCRIPTION
        "A bosSwFanFailure trap signifies that a fan failure has occured."
::= { bosSnmpTraps 2 }

bosSwPowerSupplyFailure NOTIFICATION-TYPE
       OBJECTS {
	      	hwPowerSupply1State,
	      	hwPowerSupply2State,
		bntSwTrapDisplayString
              }
    STATUS current
    DESCRIPTION
        "A bosSwPowerSupplyFailure trap signifies that the
         power supply failed."
::= { bosSnmpTraps 3 }

 

-- Similar to ifAvailableIndex
agPortTableMaxEnt OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The maximum number of rows in the port configuration host table."
    ::= { dataCollection 1 }



agImageForNxtReset OBJECT-TYPE
    SYNTAX  INTEGER {
                      image1(2),
                      image2(3)
                    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The software image to be booted from at next reset.
        The following values are writable:
        image1(2)...image 1
        image2(3)...image 2"
    ::= { dataCollection 2 }


-- Similar to swImage1Version
agImage1Ver OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The version of the software image stored in image 1 storage in the
    form of 'major.minor.bugfix'.  A zero length string is returned if
    version is not available or there is no valid software image."
    ::= { dataCollection 3 }


--  Similar to swImage2Version
agImage2Ver OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The version of the software image stored in image 2 storage in the
    form of 'major.minor.bugfix'.  A zero length string is returned if
    version is not available or there is no valid software image."
    ::= { dataCollection 4 }

hwSwitchSoftwareVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The switch software version."
    ::= { dataCollection 5 }


-- Similar to hwSerialNumber
hwSerialNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The switch serial number."
    ::= { dataCollection 6 }

--  Already addedd with different data type. 
--hwLastBoot OBJECT-TYPE
--    SYNTAX DisplayString (SIZE(0..48))
--    MAX-ACCESS read-only
--    STATUS current
--    DESCRIPTION
--    "Time and reason of the last boot."
--    ::= { bosbhm 7}


hwManufacturingDate OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..48))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The date of manufacturing."
    ::= { dataCollection 7 }


-- Similar to issRestart
agReset OBJECT-TYPE
    SYNTAX  INTEGER {
        other(1),
        reset(2)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "This is an action object to reboot the agent.
    other(1) is returned always when read."
    ::= { dataCollection 8 }

-- Similar to swBootVersion
agBootVer OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The version of the boot code in the form of 'major.minor.bugfix'.
    A zero length string is returned if version is not available."
    ::= { dataCollection 9 }

--Similar to bosConfigRestoreOption
agConfigForNxtReset OBJECT-TYPE
    SYNTAX  INTEGER {
        active(2),
        backup(3),
        default(4)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The configuration information to be loaded from at next reset.
    The following values are writable:
    active(2)...active configuration block
    backup(3)...backup configuration block
    default(4)..default configuration block"
    ::= { dataCollection 10 }


agSoftwareVersion OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The version of the software image that is currently running on the
    system in the form of 'major.minor.maintenance.bugfix'.  A zero
    length string is returned if version is not available."
    ::= { dataCollection 11 }


agImage1DownloadDateAndTime OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The date and time when Image1 was downloaded"
    ::= { dataCollection 12 }

agImage2DownloadDateAndTime OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..16))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The date and time when Image2 was downloaded"
    ::= { dataCollection 13 }


-- Similar to bosConfigSaveOption
agSaveConfiguration OBJECT-TYPE
    SYNTAX  INTEGER {
            ok(1),
            saveActive(2),
            notSaveActive(3)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "This is an action object to write current configuration to
    nonvolatile storage.
    When issued with the saveActive, the active configuration
    in flash is saved to backup in flash and then the new
    configuration is saved to the active configuration in flash.
    When issued with notSaveActive, the active configuration
    is NOT saved to the flash and the active configuration is
    overwritten with the new configuration.
    ok(1) is returned always when read."
    ::= { generalConfiguration 1 }

-- Similar to issHttpPort

agNewCfgHttpServerPort OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The TCP port number that the HTTP server is listening to 
         in the new_configuration block."
    ::= { generalConfiguration 2 }

-- Similar to issTelnetPort
agNewCfgTelnetServerPort OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The TCP port number that the telnet server listens for telnet
    sessions."
    ::= { generalConfiguration 3 }


agNewCfgTftpServerPort OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The TCP port number that the TFTP server is
    listening to
    in the new_configuration block."
    ::= { generalConfiguration 4 }


--bosDlUlImageFromIp
--bosUploadLogFileToIp
--bosConfigRestoreIpAddr

agTftpServer OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The TFTP server IP address or domain name."
    ::= { imageConfigTransfer 1 }

-- Similar to bosAgImageType
agTftpImage OBJECT-TYPE
    SYNTAX  INTEGER {
        image1(2),
        image2(3),
        boot(4)
        }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "Whether the image file should be loaded in image1 or image2 in flash."
    ::= { imageConfigTransfer 2 }

-- Similar to bosDlUlImageName
agTftpImageFileName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The image file name to be downloaded."
    ::= { imageConfigTransfer 3 }

--Similar to bosConfigSaveFileName
agTftpCfgFileName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The configuration file name."
    ::= { imageConfigTransfer 4 }

--bosImageAction
--bosConfigSaveOption
agTftpAction OBJECT-TYPE
    SYNTAX  INTEGER {
            other(1),
            imgget(2),
            cfgput(4),
	    dumpput(5),
            imgput(7),
            tsdumpput(8),
            bkcfgget(10),
            bkcfgput(11),
            accfgget(12),
            accfgput(13)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "This is an action object to perform various TFTP Get or Put functions.
        The TFTP sever is specified in agTftpServer object.
        img-get(2)    - Download switch image from a specified image
        file (agTftpImageFileName) on the TFTP server to
        the destinated storage (agTftpImage).
        cfg-put(4)    - Upload switch configuration to a specified
        file (agTftpCfgFileName) on the TFTP server.
	dump-put(5)   - Download switch core dump to a specified
        file (agTftpDumpFileName) on the TFTP server.
        img-put(7)    - Upload specified switch image to a specified image
        file (agTftpImageFileName) on the TFTP server.
        tsdump-put(8) - Download switch tech support dump to a specified
        file (agTftpTSDumpFileName) on the TFTP server.
        bkcfg-get(10) - Download switch backup configuration from a specified
        file (agTftpBkCfgFileName) on the TFTP server.
        bkcfg-put(11) - Upload switch backup configuration to a specified
        file (agTftpBkCfgFileName) on the TFTP server.
        accfg-get(12) - Download switch active configuration from a specified
        file (agTftpAcCfgFileName) on the TFTP server.
        accfg-put(13) - Upload switch active configuration to a specified
        file (agTftpAcCfgFileName) on the TFTP server.
        other(1) is returned always when read."
    ::= { imageConfigTransfer 5 }

--bosRemoteSaveStatus
--bosDownloadStatus
agTftpLastActionStatus OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The recorded status of the previous TFTP activity."
    ::= { imageConfigTransfer 6 }

-- Port information table

portInfoTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF PortInfoTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "The table of port information."
    ::= { portInformation 1 }

portInfoTableEntry OBJECT-TYPE
    SYNTAX  PortInfoTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    "A row in the port information table."
    INDEX   { portInfoIndx }
    ::= { portInfoTable 1 }

PortInfoTableEntry ::= SEQUENCE {
    portInfoIndx                Integer32,
    portInfoSpeed               INTEGER,
    portInfoMode                INTEGER,
    portInfoFlowCtrl            INTEGER,
    portInfoLink                INTEGER,
    agPortNewCfgVlanTag         INTEGER,
    agPortNewCfgTagPVID         INTEGER,
    agPortNewCfgPVID            Integer32,
    agPortNewCfgPortName        DisplayString
}

portInfoIndx OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
    "The port index."
    ::= { portInfoTableEntry 1 }

portInfoSpeed OBJECT-TYPE
    SYNTAX  INTEGER {
        mbs10(2),
            mbs100(3),
            mbs1000(4),
            any(5),
            mbs10000(6)
    }
MAX-ACCESS  read-write
STATUS  current
DESCRIPTION
"The current operational speed of the port."
::= { portInfoTableEntry 2 }

portInfoMode OBJECT-TYPE
    SYNTAX  INTEGER {
        fullduplex(2),
        halfduplex(3),
	any(4)
    }
MAX-ACCESS  read-write
STATUS  current
DESCRIPTION
"The current operational mode of the port."
::= { portInfoTableEntry 3 }

portInfoFlowCtrl OBJECT-TYPE
    SYNTAX  INTEGER {
        transmit(2),
        receive(3),
        both(4),
        none(5)
    }
MAX-ACCESS  read-write
STATUS  current
DESCRIPTION
"The current operational flow control of the port."
::= { portInfoTableEntry 4 }

portInfoLink OBJECT-TYPE
SYNTAX  INTEGER {
    up(1),
    down(2),
    disabled(3),
    inoperative(4) -- unrecognized PCI device
}
MAX-ACCESS  read-only
STATUS  current
DESCRIPTION
"The current operational link status of the port."
::= { portInfoTableEntry 5 }



agPortNewCfgVlanTag OBJECT-TYPE
    SYNTAX  INTEGER {
        tagged(1), 
        untagged(2)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "This is VLAN tag state of the port"
    ::= { portInfoTableEntry 6 }

agPortNewCfgTagPVID OBJECT-TYPE
    SYNTAX  INTEGER {
        tagged(2),
        untagged(3)
    }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "This is PVID tag state of the port"
    ::= { portInfoTableEntry 7 }


agPortNewCfgPVID OBJECT-TYPE
    SYNTAX  Integer32
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The default VLAN ID for the port."
    ::= { portInfoTableEntry 8 }

agPortNewCfgPortName    OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "The switch port name."
    ::= { portInfoTableEntry 9 }


--AccessUser Table Start

agAccessUserCfgTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF AgAccessUserCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The table of Access user configuration."
    ::= { bosAccessUser 1 }

agAccessUserCfgTableEntry OBJECT-TYPE
    SYNTAX  AgAccessUserCfgTableEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A row in the Access user configuration table."
    INDEX  { agAccessUserCfgUId }
    ::= { agAccessUserCfgTable 1 }

AgAccessUserCfgTableEntry ::= SEQUENCE {
    agAccessUserCfgUId 	    Integer32,
    agAccessUserCos  		INTEGER,
    agAccessUserCfgName   	DisplayString,
    agAccessUserCfgPswd 	    DisplayString,
    agAccessUserCfgState	    INTEGER,
    agAccessUserCfgDelete    INTEGER
    }

agAccessUserCfgUId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The User identifier."
    ::= { agAccessUserCfgTableEntry 1 }

agAccessUserCos OBJECT-TYPE
    SYNTAX  INTEGER {
        user(1),
        oper(6),
        admin(15)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The user class of service."
    ::= { agAccessUserCfgTableEntry 2 }

agAccessUserCfgName OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..8))
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The user name."
    ::= { agAccessUserCfgTableEntry 3 }

agAccessUserCfgPswd OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..128))
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "The character string representing the user password."
    ::= { agAccessUserCfgTableEntry 4 }

agAccessUserCfgState OBJECT-TYPE
    SYNTAX  INTEGER  {
	enabled(1),
	disabled(2)
	}
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "Enable or disable a user."
    ::= { agAccessUserCfgTableEntry 5 }

agAccessUserCfgDelete OBJECT-TYPE
    SYNTAX  INTEGER  {
        other(1),
        delete(2)
        }
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        "This is an action object to create or delete a User.
         other(1) is returned always when read.
         The following values are writable: delete(2)...to delete a User"
    ::= { agAccessUserCfgTableEntry 6 }
--AccessUser Table Stop

--  ISS related objects ---------

agNewCfgMgmtNetwork OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The management network - corresponding to the mnet command of
         the system menu."
    ::= { mgmtintf 1 }

agNewCfgMgmtMask OBJECT-TYPE
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The management subnet mask - corresponding to the mmask command
         of the system configuration menu."
    ::= { mgmtintf 2 }

bosoobGatewayIpAddr  OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
      "Default gateway configured over OOB management interface"
   ::= { mgmtintf 3}

oobIpAddr  OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      " IP Address of the system. "
   ::= { mgmtintf 4}

oobIpSubnetMask  OBJECT-TYPE
   SYNTAX      IpAddress
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION 
      "IP subnet mask for the oob IP address."
   ::= { mgmtintf 5 }

bosOOBGatewayStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
    "Enables/Disables Management Gateway of the System"
   ::= { mgmtintf 6 }

bosDefaultIpAddrStatus OBJECT-TYPE
    SYNTAX  INTEGER {
        enable(1),
        disable(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
    "Enables/Disables Management OOB Interface of the System"
    ::= { mgmtintf 7 }

bosDefaultIpAddrCfgMode OBJECT-TYPE
    SYNTAX      INTEGER {
        manual(1),
        dynamic(2)
    } 
    MAX-ACCESS        read-write 
    STATUS            current
    DESCRIPTION

    "The mechanism to be used for allocation of IP
    configuration parameter i.e address, mask, gateway etc for default OOB interface.
    The dynamic(2) option takes an IP
    configuration dynamically from the DHCP server. 
    If the method specified is manual (1) and IP configuration parameters for
    the Default OOB interface is provided 
    by the administrator.."

    DEFVAL  { dynamic} 
::= { mgmtintf 8 }

----------------------------------------------------------------------------
-- } INSERT: g8124
-- ----------------------------------------------------------------------------

bossnoop                OBJECT IDENTIFIER ::= { ex2500 105 }
-- ----------------------------------------------------------------------------
-- { INSERT: snoop
-- ----------------------------------------------------------------------------

 
-- ------------------------------------------------------------  
-- groups in the MIB  
-- ------------------------------------------------------------ 
 
      bosSnoopSystem  OBJECT IDENTIFIER ::= { bossnoop 1 } 
      bosSnoopInst    OBJECT IDENTIFIER ::= { bossnoop 2 } 
      bosSnoopVlan    OBJECT IDENTIFIER ::= { bossnoop 3 } 
      bosSnoopStats   OBJECT IDENTIFIER ::= { bossnoop 4 } 
 
-- ------------------------------------------------------------------ 
-- The SNOOP Instance Group 
-- ------------------------------------------------------------------ 
 
-- Instance Based Global Configuration Table 
 
      bosSnoopInstanceGlobalTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopInstanceGlobalEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains multicast forwarding mode configuration
             for each instance running in the snooping switch" 
          ::= { bosSnoopInst 1 } 
 
      bosSnoopInstanceGlobalEntry OBJECT-TYPE 
          SYNTAX      BosSnoopInstanceGlobalEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains instance number and the multicast
             forwarding mode configuration for the particular instance"
             INDEX { bosSnoopInstanceGlobalInstId } 
          ::= { bosSnoopInstanceGlobalTable 1 } 
 
      BosSnoopInstanceGlobalEntry ::= SEQUENCE { 
          bosSnoopInstanceGlobalInstId          Integer32
        } 
 
      bosSnoopInstanceGlobalInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the global configuration entry." 
           ::= { bosSnoopInstanceGlobalEntry 1 } 
      
      bosSnoopInstanceConfigTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopInstanceConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains global configuration of snooping for each 
             instance running in switch" 
          ::= { bosSnoopInst 2 } 
 
      bosSnoopInstanceConfigEntry OBJECT-TYPE 
          SYNTAX      BosSnoopInstanceConfigEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains instance number, address type and the list of global 
             configuration for the particular instance and address type"
             INDEX { bosSnoopInstanceConfigInstId,
                     bosSnoopInetAddressType } 
          ::= { bosSnoopInstanceConfigTable 1 } 
 
      BosSnoopInstanceConfigEntry ::= SEQUENCE { 
          bosSnoopInstanceConfigInstId        Integer32,
          bosSnoopInetAddressType             InetAddressType,
          bosSnoopStatus                      INTEGER,
          bosSnoopRouterPortPurgeInterval     Integer32,
          bosSnoopPortPurgeInterval           Integer32,
          bosSnoopGrpQueryInterval            Integer32,
          bosSnoopOperStatus                  INTEGER
        } 
 
      bosSnoopInstanceConfigInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the global configuration entry. 
               Currently only one instance is supported so it is always 1"  
           ::= { bosSnoopInstanceConfigEntry 1 } 
 
      bosSnoopInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Inet Address Type corresponding to  the global configuration entry. 
               This indicates whether the row is for IGMP/MLD Snooping"
           ::= { bosSnoopInstanceConfigEntry 2 } 
 
      bosSnoopStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "Enables or disables IGMP/MLD snooping in the system.
              When set to 'enabled', the IGS/MLDS module starts 
              protocol operations.
              When set to 'disabled', the IGS/MLDS module stops performing 
              protocol operations."
          DEFVAL  { 2 } 
          ::= { bosSnoopInstanceConfigEntry 3 } 
 

      bosSnoopRouterPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (1..600) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              router port entry will be purged. For each router port learnt, 
              this timer runs for 'RouterPortPurgeInterval' seconds.When the 
              timer expires, the learnt router port entry is purged. However 
              if control messages are received from the router before the 
              timer expiry, then the timer is restarted."
          DEFVAL  { 255 } 
          ::= { bosSnoopInstanceConfigEntry 4 } 
 
      bosSnoopPortPurgeInterval OBJECT-TYPE 
          SYNTAX      Integer32 (130..1225) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "This is the interval (in seconds) after which a learnt  
              port entry will be purged. For each port on which report
              has been received this timer runs for 'PortPurgeInterval'
              seconds. This timer will be restarted whenever a report 
              message is received from a host on the specific port. If 
              the timer expires, then , the learnt port entry  will 
              be purged from the multicast group." 
          DEFVAL  {260} 
          ::= { bosSnoopInstanceConfigEntry 5 } 
 
      bosSnoopGrpQueryInterval OBJECT-TYPE 
          SYNTAX      Integer32 (2..5) 
          MAX-ACCESS  read-write 
          STATUS      current 
          DESCRIPTION 
             "The value of this attribute defines the time period with which 
              the switch will send group specific queries on a port to check 
              if there are any intersted receivers. The switch will send 
              'bosSnoopRetryCount' queries before removing the port from the 
              group membership information in the forwarding database."
          DEFVAL  { 2 }
          ::= { bosSnoopInstanceConfigEntry 6 } 
 

      bosSnoopOperStatus OBJECT-TYPE 
          SYNTAX      INTEGER  { enabled(1), disabled(2) } 
          MAX-ACCESS  read-only 
          STATUS      current 
          DESCRIPTION 
             "The operational status of the IGS/MLDS protocol.
              The value enabled(1) indicates the IGS/MLDS module is currently
              enabled in the system.
              The value disable(1) indicates the IGS/MLDS module is currently
              disabled in the system."
          ::= { bosSnoopInstanceConfigEntry 7 } 




-- ------------------------------------------------------------------ 
-- The Snoop VLAN Group 
-- ------------------------------------------------------------------ 
 
                  
-- VLAN Based IP Multicast Forwarding Table 
 
      bosSnoopVlanMcastIpFwdTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopVlanMcastIpFwdEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains IP based multicast forwarding 
             information. This information is applicable only if
             the 'bosSnoopInstMcastForwardingMode' is set to 'ip-based' " 
          ::= { bosSnoopVlan 1 } 
 
      bosSnoopVlanMcastIpFwdEntry OBJECT-TYPE 
          SYNTAX      BosSnoopVlanMcastIpFwdEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
            "This table contains VLAN ID, unicast source address , 
             multicast group address and the list of ports onto which the 
             multicast data packets for group should be forwarded."  

          INDEX { bosSnoopVlanMcastIpFwdInstId, 
                  bosSnoopVlanMcastIpFwdVlanId,
                  bosSnoopVlanMcastIpFwdAddressType,     
                  bosSnoopVlanMcastIpFwdSourceAddress,  
                  bosSnoopVlanMcastIpFwdGroupAddress } 
          ::= { bosSnoopVlanMcastIpFwdTable 1 } 
 
      BosSnoopVlanMcastIpFwdEntry ::= SEQUENCE { 
          bosSnoopVlanMcastIpFwdInstId        Integer32, 
          bosSnoopVlanMcastIpFwdVlanId        Integer32,
          bosSnoopVlanMcastIpFwdAddressType   InetAddressType, 
          bosSnoopVlanMcastIpFwdSourceAddress InetAddress, 
          bosSnoopVlanMcastIpFwdGroupAddress  InetAddress, 
          bosSnoopVlanMcastIpFwdPortList      PortList 
        } 

      bosSnoopVlanMcastIpFwdInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the Multicast forwarding entry. 
               Currently only one instance is supported so it is always 1"  
           ::= { bosSnoopVlanMcastIpFwdEntry 1 } 

      bosSnoopVlanMcastIpFwdVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID pertaining to the Multicast forwarding entry"  
           ::= { bosSnoopVlanMcastIpFwdEntry 2 } 

      bosSnoopVlanMcastIpFwdAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "InetAddressType pertaining to the Multicast forwarding entry"  
           ::= { bosSnoopVlanMcastIpFwdEntry 3 } 

       bosSnoopVlanMcastIpFwdSourceAddress OBJECT-TYPE 
           SYNTAX      InetAddress 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Unicast source address of the data source that sends
               multicast data for this group"
           ::= { bosSnoopVlanMcastIpFwdEntry 4 } 

       bosSnoopVlanMcastIpFwdGroupAddress OBJECT-TYPE 
           SYNTAX      InetAddress 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "IP/IPv6 multicast group address" 
           ::= { bosSnoopVlanMcastIpFwdEntry 5 } 
 
       bosSnoopVlanMcastIpFwdPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "List of ports onto which the multicast data
                packets destined for this source and group will be forwarded."  
           ::= { bosSnoopVlanMcastIpFwdEntry 6 } 

-- VLAN based router table.
 
      bosSnoopVlanRouterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains the list of ports through which 
              a router, in a particular VLAN is reachable." 
          ::= { bosSnoopVlan 2 } 
 
      bosSnoopVlanRouterEntry OBJECT-TYPE 
          SYNTAX      BosSnoopVlanRouterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains the VLAN ID and list of ports on which 
              routers are present in the VLAN." 
          INDEX { bosSnoopVlanRouterInstId,
                  bosSnoopVlanRouterVlanId,
                  bosSnoopVlanRouterInetAddressType } 
          ::= { bosSnoopVlanRouterTable 1 } 
 
      BosSnoopVlanRouterEntry ::= SEQUENCE { 
          bosSnoopVlanRouterInstId             Integer32,
          bosSnoopVlanRouterVlanId             Integer32,
          bosSnoopVlanRouterInetAddressType    InetAddressType,  
          bosSnoopVlanRouterPortList           PortList
        }
           
      bosSnoopVlanRouterInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "Instance ID pertaining to the router port entry.  
               Currently only one instance is supported so it is always 1"  
           ::= { bosSnoopVlanRouterEntry 1 } 

      bosSnoopVlanRouterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "VLAN ID of the ports through which router is reachable." 
           ::= { bosSnoopVlanRouterEntry 2 } 
 
      bosSnoopVlanRouterInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
              "It indicates whether the row belongs to IGMP / MLD snooping." 
           ::= { bosSnoopVlanRouterEntry 3 } 
 
      bosSnoopVlanRouterPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-only
           STATUS      current 
           DESCRIPTION 
               "List of ports on which routers are present. 
                These router ports are learnt through control messages 
                received from routers, and can also be configured 
                statically." 
           ::= { bosSnoopVlanRouterEntry 4 } 
 
-- VLAN based filter table 
 
      bosSnoopVlanFilterTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains configuration of snooping
              on specific Vlans. This Table is valid only when VLAN is  
              enabled in the system." 
          ::= { bosSnoopVlan 3 } 
 
      bosSnoopVlanFilterEntry OBJECT-TYPE 
          SYNTAX      BosSnoopVlanFilterEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping status , version and fast leave
              configuration for a specific VLAN." 
          INDEX { bosSnoopVlanFilterInstId,
                  bosSnoopVlanFilterVlanId,
                  bosSnoopVlanFilterInetAddressType } 
          ::= { bosSnoopVlanFilterTable 1 } 
 
      BosSnoopVlanFilterEntry ::= SEQUENCE { 
          bosSnoopVlanFilterInstId           Integer32, 
          bosSnoopVlanFilterVlanId           Integer32, 
          bosSnoopVlanFilterInetAddressType  InetAddressType,
          bosSnoopVlanSnoopStatus            INTEGER, 
          bosSnoopVlanOperatingVersion       INTEGER, 
          bosSnoopVlanCfgOperVersion         INTEGER, 
          bosSnoopVlanFastLeave              INTEGER,
          bosSnoopVlanRtrPortList            PortList,
          bosSnoopVlanRowStatus              RowStatus,
          bosSnoopVlanQuerier                INTEGER,
          bosSnoopVlanCfgQuerier             INTEGER,
          bosSnoopVlanQueryInterval          Integer32,
          bosSnoopVlanSrcIp                  IpAddress,
          bosSnoopVlanElectionType            INTEGER,
          bosSnoopVlanRobustness             Unsigned32,
          bosSnoopVlanStartupQueryCount      Unsigned32,
          bosSnoopVlanStartupQueryInterval   Unsigned32,
          bosSnoopVlanQueryMaxResponseTime   Integer32,
          bosSnoopVlanLastMemberQueryCount       Integer32,
          bosSnoopVlanSystemMac                  MacAddress,
          bosSnoopVlanOtherQuerierAddress        DisplayString,
          bosSnoopVlanOtherQuerierPresentInterval DisplayString,
          bosSnoopVlanOlderVersionPresentInterval DisplayString
          } 

      bosSnoopVlanFilterInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            "Instance ID pertaining to VLAN filter table entry. 
             Currently only one instance is supported so it is always 1"  
           ::= { bosSnoopVlanFilterEntry 1 } 

      bosSnoopVlanFilterVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            " VLAN ID for which snooping configuration is to be done." 
           ::= { bosSnoopVlanFilterEntry 2 } 
 
      bosSnoopVlanFilterInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
            " Indicates whether the row belongs to IGS/MLD snooping" 
           ::= { bosSnoopVlanFilterEntry 3 } 
 
      bosSnoopVlanSnoopStatus OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables IGS/MLDS on that specific VLAN"  
           DEFVAL  { 1 }
           ::= { bosSnoopVlanFilterEntry 4 } 

      bosSnoopVlanOperatingVersion OBJECT-TYPE 
           SYNTAX      INTEGER { v1(1), v2(2), v3(3) } 
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Indicates the operating version of the IGS/MLDS switch for 
                a specific VLAN. The default operating mode on a specific VLAN 
                is IGMP version 3 i.e, V3(3) or MLD version 2 i.e, V2(2)" 
           DEFVAL  { 3 }
           ::= { bosSnoopVlanFilterEntry 5 } 

      bosSnoopVlanCfgOperVersion OBJECT-TYPE 
           SYNTAX      INTEGER { v1(1), v2(2), v3(3) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Indicates the operating version of the IGS/MLDS switch for 
                a specific VLAN. The default operating mode on a specific VLAN 
                is IGMP version 3 i.e, V3(3) or MLD version 2 i.e., V2(2). 
                The 'bosSnoopVlanCfgOperVersion' should be configured on the 
                basis of the router version present in the VLAN." 
           DEFVAL  { 3 }
           ::= { bosSnoopVlanFilterEntry 6 } 

      bosSnoopVlanFastLeave OBJECT-TYPE 
           SYNTAX      INTEGER { enabled(1), disabled(2) } 
           MAX-ACCESS  read-write 
           STATUS      current 
           DESCRIPTION 
               "Enables or disables fast leave for the VLAN. When it is 
                'disabled',on reception of a leave message the switch checks
                if they are any interested receivers for the group by sending 
                a group specific query before removing the port from the 
                forwarding table. If set to 'enabled', the switch does not 
                send a group specific query and immediately removes the port
                from the forwarding table."
           DEFVAL  { 2 }
           ::= { bosSnoopVlanFilterEntry 7 }

    
      bosSnoopVlanRtrPortList OBJECT-TYPE 
           SYNTAX      PortList 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "List of ports which are configured statically as router ports"
           ::= { bosSnoopVlanFilterEntry 8 } 

      bosSnoopVlanRowStatus OBJECT-TYPE 
           SYNTAX      RowStatus 
           MAX-ACCESS  read-write
           STATUS      current 
           DESCRIPTION 
               "The status of a row in the VLAN filter table. By 
                'bosSnoopVlanRowStatus' new entries can be created in the VLAN 
                filter table and the existing entries can be removed from the 
                VLAN filter table"
           ::= { bosSnoopVlanFilterEntry 9 } 


     bosSnoopVlanQuerier OBJECT-TYPE
          SYNTAX      INTEGER  { querier(1), nonquerier(2) }
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
             "Indicates whether the switch is running as a querier in the VLAN.
              Based on the querier election, if elected as a querier, it will
              send  query messages. If the switch receives the query message with
              lower IP/MAC any other querier in the VLAN, It will move to non querier
              state."
          ::= { bosSnoopVlanFilterEntry 10 }

      bosSnoopVlanCfgQuerier OBJECT-TYPE
          SYNTAX      INTEGER  { enabled(1), disabled(2) }
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
             "The snooping switch can be configured to send IGMP queries.
              when querier  are not present in the VLAN and it set to
              'enabled' the switch will generate general query messages.
              The query messages will be suppressed if the switch receives
              the query message from any other querier with lower IP/MAC in the VLAN.
              To update current vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          DEFVAL  { 2 }
          ::= { bosSnoopVlanFilterEntry 11 }

      bosSnoopVlanQueryInterval OBJECT-TYPE
          SYNTAX      Integer32 (1..608)
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
             "This is the interval (in seconds) for which the switch
              sends general queries when it is configured as a querier for
              the VLAN. To update current vlaue set bosSnoopVlanRowStatus to 
              NOT_IN_SERVICE state."
          DEFVAL  { 125 }
          ::= { bosSnoopVlanFilterEntry 12 }


      bosSnoopVlanSrcIp OBJECT-TYPE
          SYNTAX IpAddress
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
          "The source ip for GSQ proxy in this vlan. This Src Ip will be used in
           querier election mechanism. It will be the source address in queries sent bye
           the switch. To update current vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          ::= { bosSnoopVlanFilterEntry 13 }

      bosSnoopVlanElectionType OBJECT-TYPE
          SYNTAX     INTEGER { ipv4(1), macadd(2) }
          MAX-ACCESS read-write
          STATUS     current
          DESCRIPTION
          "The querier selection type specify the criteria to be used to elect
          querier for this VLAN. When a switch is configured as a querier,
          this will define the election criteria . e.g. MAC or source IP-address.
          To update current vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          DEFVAL  { 1 }
          ::= { bosSnoopVlanFilterEntry 14 }


      bosSnoopVlanRobustness OBJECT-TYPE
          SYNTAX     Unsigned32 (2..10)
          MAX-ACCESS read-write
          STATUS     current
          DESCRIPTION
          "The Robustness Variable allows tuning for the Other
		  Querier Present Interval. To update current vlaue set bosSnoopVlanRowStatus 
          to NOT_IN_SERVICE state."
          DEFVAL     {2}
          ::= { bosSnoopVlanFilterEntry 15 }

      bosSnoopVlanStartupQueryCount OBJECT-TYPE
          SYNTAX     Unsigned32 (1..10)
          MAX-ACCESS read-write
          STATUS     current
          DESCRIPTION
          "Represents the number of Queries sent out on startup of 
           querier election, separated by the Startup Query Interval. To update current
           vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          DEFVAL   {2}
          ::= { bosSnoopVlanFilterEntry 16 }


      bosSnoopVlanStartupQueryInterval OBJECT-TYPE
          SYNTAX     Unsigned32 (1..600)
          MAX-ACCESS read-write
          STATUS     current
          DESCRIPTION
          "This variable represents the interval(in seconds) between General
          Queries sent by a Querier on startup. By default: 1/4 the Query Interval. 
          To update current vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          DEFVAL   {31}
           ::= { bosSnoopVlanFilterEntry 17 } 


      bosSnoopVlanQueryMaxResponseTime OBJECT-TYPE
          SYNTAX      Integer32 (1..256)
          UNITS      "tenths of seconds"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
          "The maximum query response interval advertised in 
          IGMP queries on this VLAN. To update current vlaue set bosSnoopVlanRowStatus
          to NOT_IN_SERVICE state."
          DEFVAL     { 100 }
      ::= { bosSnoopVlanFilterEntry 18 }


      bosSnoopVlanLastMemberQueryCount OBJECT-TYPE
          SYNTAX     Unsigned32 (2..10)
          MAX-ACCESS read-write
          STATUS     current
          DESCRIPTION
          " Last Member Query Count is the number of Group-Specific Queries
          sent before the switch assumes there are no local members. To update 
          current vlaue set bosSnoopVlanRowStatus to NOT_IN_SERVICE state."
          DEFVAL   {2}
          ::= { bosSnoopVlanFilterEntry 19 }

      bosSnoopVlanSystemMac OBJECT-TYPE
          SYNTAX      MacAddress
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
          "The Source MAC Address of the switch, which is used in Querier election,
          when bosSnoopVlanQuerierType is selected as macadd on this vlan."
          ::= { bosSnoopVlanFilterEntry 20 }

      bosSnoopVlanOtherQuerierAddress OBJECT-TYPE
          SYNTAX      DisplayString (SIZE (0..255))
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
          "The  IP/MAC Address of the  Querier, which has won the Querier election,
          when bosSnoopVlanCfgQuerier is enabled on this vlan."
          ::= { bosSnoopVlanFilterEntry 21 }

      bosSnoopVlanOtherQuerierPresentInterval OBJECT-TYPE
          SYNTAX      DisplayString (SIZE (0..255)) 
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
          "The Other Querier Present Interval is the length of time that must
          pass before switch decides that there is no longer another 
          multicast router which should be the querier.  This value
          is ((the Robustness Variable) times (the Query Interval)) plus
          (one half of one Query Response Interval)."
          ::= { bosSnoopVlanFilterEntry 22 }

      bosSnoopVlanOlderVersionPresentInterval OBJECT-TYPE
          SYNTAX      DisplayString (SIZE (0..255)) 
          MAX-ACCESS  read-only
          STATUS      current
          DESCRIPTION
          "Indicates the remaining time of lowest operating version of the vlan.
          For interoperability with multicast routers/switches/Hosts, running older 
          versions of IGMP, systems maintain a IGMP Version variable for each Vlan.
          In order to switch gracefully between versions of IGMP, hosts keep both an
          IGMPv1 Querier Present timer and an IGMPv2 Querier Present timer per Vlan.
          According to RFC 3376 this value is ((the Robustness Variable) times 
                  (the Query Interval)) plus (one Query Response Interval)."
          ::= { bosSnoopVlanFilterEntry 23 }

 -- Snooping Statistics 
 
      bosSnoopStatsTable OBJECT-TYPE 
          SYNTAX      SEQUENCE OF BosSnoopStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "This table contains snooping statistics  
              maintained by the switch. The statistics are
              maintained on a per VLAN basis."
          ::= { bosSnoopStats 1 } 
 
      bosSnoopStatsEntry OBJECT-TYPE 
          SYNTAX      BosSnoopStatsEntry 
          MAX-ACCESS  not-accessible 
          STATUS      current 
          DESCRIPTION 
             "Contains snooping statistics for a particular VLAN." 
          INDEX { bosSnoopStatsInstId,
                  bosSnoopStatsVlanId,
                  bosSnoopStatsInetAddressType } 
          ::= { bosSnoopStatsTable 1 } 
 
      BosSnoopStatsEntry ::= SEQUENCE { 
          bosSnoopStatsInstId                Integer32, 
          bosSnoopStatsVlanId                Integer32, 
          bosSnoopStatsInetAddressType       InetAddressType,
          bosSnoopStatsRxGenQueries          Counter32,
          bosSnoopStatsRxGrpQueries          Counter32,
          bosSnoopStatsRxGrpAndSrcQueries    Counter32,
          bosSnoopStatsRxAsmReports          Counter32,
          bosSnoopStatsRxSsmReports          Counter32,
          bosSnoopStatsRxSsmIsInMsgs         Counter32,
          bosSnoopStatsRxSsmIsExMsgs         Counter32,
          bosSnoopStatsRxSsmToInMsgs         Counter32,
          bosSnoopStatsRxSsmToExMsgs         Counter32,
          bosSnoopStatsRxSsmAllowMsgs        Counter32,
          bosSnoopStatsRxSsmBlockMsgs        Counter32,
          bosSnoopStatsRxAsmLeaves           Counter32,
          bosSnoopStatsTxGenQueries          Counter32,
          bosSnoopStatsTxGrpQueries          Counter32,
          bosSnoopStatsTxAsmReports          Counter32,
          bosSnoopStatsTxSsmReports          Counter32,
          bosSnoopStatsTxAsmLeaves           Counter32,
          bosSnoopStatsDroppedPkts           Counter32,
          bosSnoopStatsValidPkts             Counter32
        } 

      bosSnoopStatsInstId OBJECT-TYPE 
           SYNTAX      Integer32 (0..255) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            "Instance ID pertaining for the statistics entry.  
             Currently only one instance is supported so it is always 1"  
           ::= { bosSnoopStatsEntry 1 } 

      bosSnoopStatsVlanId OBJECT-TYPE 
           SYNTAX      Integer32 (1..4094) 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            " VLAN ID for which snooping statistics are displayed"
           ::= { bosSnoopStatsEntry 2 } 

      bosSnoopStatsInetAddressType OBJECT-TYPE 
           SYNTAX      InetAddressType 
           MAX-ACCESS  not-accessible 
           STATUS      current 
           DESCRIPTION 
            " Indicates whether the statistics are for IGS/MLDS"
           ::= { bosSnoopStatsEntry 3 } 

      bosSnoopStatsRxGenQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of General Queries received by the
                snooping switch." 
           ::= { bosSnoopStatsEntry 4 } 

      bosSnoopStatsRxGrpQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of Group Specific Queries received
                by the snooping switch." 
           ::= { bosSnoopStatsEntry 5 } 

      bosSnoopStatsRxGrpAndSrcQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of Group and Source Specific Queries
                received by the snooping switch." 
           ::= { bosSnoopStatsEntry 6 } 

      bosSnoopStatsRxAsmReports OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv1/IGMPv2 Membership reports
                received by the snooping switch. In case of MLDS, it provides
                the statistics of MLDv1 membership reports." 
           ::= { bosSnoopStatsEntry 7 } 

      bosSnoopStatsRxSsmReports OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                received by the snooping switch."
           ::= { bosSnoopStatsEntry 8 } 

      bosSnoopStatsRxSsmIsInMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type IS_IN received by the snooping switch." 
           ::= { bosSnoopStatsEntry 9 } 

      bosSnoopStatsRxSsmIsExMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type IS_EX received by the snooping switch." 
           ::= { bosSnoopStatsEntry 10 } 

      bosSnoopStatsRxSsmToInMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type TO_IN received by the snooping switch." 
           ::= { bosSnoopStatsEntry 11 } 

      bosSnoopStatsRxSsmToExMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type TO_EX received by the snooping switch." 
           ::= { bosSnoopStatsEntry 12 } 

      bosSnoopStatsRxSsmAllowMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type ALLOW received by the snooping switch." 
           ::= { bosSnoopStatsEntry 13 } 

      bosSnoopStatsRxSsmBlockMsgs OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                of type BLOCK received by the snooping switch." 
           ::= { bosSnoopStatsEntry 14 } 

      bosSnoopStatsRxAsmLeaves OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv2/MLDv1 Leave messages    
                received by the snooping switch." 
           ::= { bosSnoopStatsEntry 15 } 

      bosSnoopStatsTxGenQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of General Queries transmitted by the
                snooping switch when it is act as a querier." 
           ::= { bosSnoopStatsEntry 16 } 

      bosSnoopStatsTxGrpQueries OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of Group Specific Queries transmitted
                by the snooping switch." 
           ::= { bosSnoopStatsEntry 17 } 

      bosSnoopStatsTxAsmReports OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv1/IGMPv2 Membership reports
                transmitted by the snooping switch." 
           ::= { bosSnoopStatsEntry 18 } 

      bosSnoopStatsTxSsmReports OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv3/MLDv2 Membership reports
                transmitted by the snooping switch." 
           ::= { bosSnoopStatsEntry 19 } 

      bosSnoopStatsTxAsmLeaves OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the statistics of IGMPv2/MLDv1 Leave messages    
                transmitted by the snooping switch." 
           ::= { bosSnoopStatsEntry 20 } 

      bosSnoopStatsDroppedPkts OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the number of erroneous IGMP/MLD packets dropped
                by the snooping switch due to packet error."
           ::= { bosSnoopStatsEntry 21 } 

--  Added for BNT   -----

      bosSnoopStatsValidPkts OBJECT-TYPE 
           SYNTAX      Counter32
           MAX-ACCESS  read-only 
           STATUS      current 
           DESCRIPTION 
               "Provides the number of valid IGMP/MLD packets processed
                by the snooping switch"
           ::= { bosSnoopStatsEntry 22 } 


-- ----------------------------------------------------------------------------
-- } INSERT: snoop
-- ----------------------------------------------------------------------------



bosarp                  OBJECT IDENTIFIER ::= { ex2500 109 }
-- ----------------------------------------------------------------------------
-- { INSERT: arp
-- ----------------------------------------------------------------------------


   arp OBJECT IDENTIFIER ::= { bosarp 1 }

-- ARP Group
-- This group defines objects for ARP.
   bosArpCacheTimeout  OBJECT-TYPE
        SYNTAX   Integer32 (2..120)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Time after which the entry in cache is deleted "
        DEFVAL { 5 }
        ::= { arp 1 }

   bosArpCachePendTime  OBJECT-TYPE
        SYNTAX   Integer32	(30..3000)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Time for which an unresolved entry will be
   		    held until response is received "
        DEFVAL { 30 }
        ::= { arp 2 }

   bosArpMaxRetries  OBJECT-TYPE
        SYNTAX   Integer32 (2..10)
        MAX-ACCESS   read-write
        STATUS   current
        DESCRIPTION " Maximum number of retry attempts before aborting
  		    resolving "
        DEFVAL { 3 }
        ::= { arp 3 }

-- ----------------------------------------------------------------------------
-- } INSERT: arp
-- ----------------------------------------------------------------------------

bossnmp3                OBJECT IDENTIFIER ::= { ex2500 112 }
-- ----------------------------------------------------------------------------
-- { INSERT: snmp3
-- ----------------------------------------------------------------------------


-- SCALAR_TABLE_BEGIN

          snmpInInformResponses OBJECT-TYPE
              SYNTAX  Counter32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION "Total number of SNMP Inform responses
                           received by the Agent from manager."
              ::=  { bossnmp3 1 }

          snmpOutInformRequests OBJECT-TYPE
              SYNTAX  Counter32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION "Total number of SNMP Inform requests
                           sent by the Agent to manager."
              ::=  { bossnmp3 2 }

          snmpInformDrops OBJECT-TYPE
              SYNTAX  Counter32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION "Total number of SNMP Inform messages
                           dropped by the Agent after retransmission."
              ::=  { bossnmp3 3 }

          snmpInformAwaitingAck OBJECT-TYPE
              SYNTAX  Counter32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION "Total number of SNMP Inform messages for
                           which Acknowledgement is expected from
                           manager."
              ::=  { bossnmp3 4 }

-- SCALAR_TABLE_STOP

-- the SNMP Statistics group
--
-- a collection of objects providing basic instrumentation and
-- control of INFORM Messages from an SNMP entity.

-- Inform Counters Table
-- Statistical information on INFORM PDUs generated by the Agent for
-- various Managers are registered in the inform counters table.

     snmpInformCntTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SnmpInformCntEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "The SNMP Inform Counters Table is used to store the
            statistics of the INFORM PDUs sent from the device."
              ::= { bossnmp3 5 }

          snmpInformCntEntry OBJECT-TYPE
              SYNTAX  SnmpInformCntEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Each entry contains one Manager entry with INFORM
                      Statistics."
              INDEX   { snmpInformTgtAddrName }
              ::= { snmpInformCntTable 1 }

          SnmpInformCntEntry ::=
              SEQUENCE {
                  snmpInformTgtAddrName
                      SnmpAdminString,
                  snmpInformSent
                      Counter32,
                  snmpInformAwaitAck
                      Counter32,
                  snmpInformRetried
                      Counter32,
                  snmpInformDropped
                      Counter32,
                  snmpInformFailed
                      Counter32,
                  snmpInformResponses
                      Counter32
              }

          snmpInformTgtAddrName OBJECT-TYPE
              SYNTAX  SnmpAdminString (SIZE(1..32))
              MAX-ACCESS not-accessible
              STATUS  current
              DESCRIPTION
                      "The IpAddress corresponding to the Remote SNMP Entity
                       configured to receive INFORM notifications. The Index
                       corresponds to an entry in snmpTargetAddrTable"
              ::= { snmpInformCntEntry 1 }

          snmpInformSent OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                     "The total number of INFORM messages delivered from the
                      SNMP entity to the transport service."
              ::= { snmpInformCntEntry 2 }

          snmpInformAwaitAck OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                     "The total number of INFORM messages waiting to be
                      acknowledged by the remote SNMP Entity "
              ::= { snmpInformCntEntry 3 }

          snmpInformRetried OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                     "The total number of INFORM messages retransmitted to the
                      remote SNMP Entity from the SNMP entity"
              ::= { snmpInformCntEntry 4 }

          snmpInformDropped OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS read-only
             STATUS     current
             DESCRIPTION
                      "The total number of unacknowledged INFORM messages
                       discarded by the SNMP entity to make room for new INFORMs."
              ::= { snmpInformCntEntry 5 }

          snmpInformFailed OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS read-only
             STATUS     current
             DESCRIPTION
                     "The total number of INFORM messages failed to receive an
                      Acknowledgement from the remote SNMP entity."
              ::= { snmpInformCntEntry 6 }

          snmpInformResponses OBJECT-TYPE
             SYNTAX     Counter32
             MAX-ACCESS read-only
             STATUS     current
             DESCRIPTION
                     "The total number of INFORM ACK messages received as
                      Acknowledgement from the remote SNMP entity."
              ::= { snmpInformCntEntry 7 }

-- ----------------------------------------------------------------------------
-- } INSERT: snmp3
-- ----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------
-- } INSERT:  bosRoot
-- ----------------------------------------------------------------------------

END
