TMS-COMMON-MIB DEFINITIONS ::= BEGIN

------------------------------------------------------------------------------
------------------------------------------------------------------------------
--
--  File         : tmsCommon.mib
--  Description  : Sample TMS Common Enterprise MIB - Hardward Independent 
--  Version      : 0.14   
--  Date         : November 2, 2000     
--
--  Copyright (c) 1999-2000 Wind River Systems, Inc.  All Rights Reserved.
--
--  The original sample TMS 1.0 "oem-pm3575.mib" enterprise MIB has been
--  split into two separate sample enterprise MIBs:
--   1. "tmsCommon.mi2" (this MIB) that is common to all TMS applications
--      (i.e., hardware independent).
--   2. "bcm5600-oem.mi2" that is an OEM-product enterprise MIB that is SSP
--      (Switch Support Package) specific for the Broadcom StrataSwitch.
--
--  Reproduction of this document is authorized on condition that this
--  copyright notice is included.  This sample TMS Common Enterprise MIB
--  embodies proprietary intellectual property of Wind River Systems (WRS). 
--  WRS retains all title and ownership in the specification, including any
--  revisions.
--
--  It is the intent of WRS to encourage the widespread use of this
--  specification in connection with the management of TMS-based products.  
--  WRS grants vendors, end-users, and other interested parties a
--  non-exclusive license to use this specification in connection with the
--  management of TMS products.
--
-- This specification is supplied "AS IS", and WRS makes no warranty,
-- either express or implied, as to the use, operations, condition,
-- or performance of this specification.
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------
--  Sample WRS TMS Common Enterprise MIB
--
--  NOTES:
--   1. This is a SMIv2 MIB.
--
--   2. Common Groups are those defined without dependence upon the
--      underlying hardware or architecture.
--
--   3. The following groups are supported for the WRS TMS Common
--      Enterprise MIB:
--      - tmsCommonVer          Retrieve version information
--      - tmsCommonIP           Configure/retrieve IP connectivity items
--      - tmsCommonLoad         Configure file download/upload parameters
--      - tmsCommonMisc         Configure/retrieve miscellaneous items
--      - tmsCommonCommToView   Configure/retrieve SNMP Community-to-View
--      - tmsCommonIgmpSnoop    Configure/retrieve IGMP Snooping information
--
------------------------------------------------------------------------------
------------------------------------------------------------------------------

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE,
        Integer32, IpAddress, 
        NOTIFICATION-TYPE                       FROM SNMPv2-SMI
        
        DisplayString, MacAddress,
        RowStatus, TruthValue                   FROM SNMPv2-TC
        
        MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
        
        tmsGeneric                              FROM WRS-MASTER-MIB
        
        SnmpAdminString                         FROM SNMP-FRAMEWORK-MIB
        
        PortList, dot1qStaticMulticastEntry     FROM Q-BRIDGE-MIB;       

    tmsCommonMib MODULE-IDENTITY
        LAST-UPDATED    "200011020000Z"  -- November 2, 2000
        ORGANIZATION    "Wind River Systems, Inc."
        CONTACT-INFO    "Wind River Systems, Inc.
                         E-mail: support@windriver.com"

        DESCRIPTION     "TMS Common Enterprise MIB definition."

        REVISION        "200011020000Z"  -- November 2, 2000
        DESCRIPTION     "Initial MIB creation."

        ::= { tmsGeneric 1 }


------------------------------------------------------------------------------
--  Textual Conventions (i.e., these do not affect object encoding):
------------------------------------------------------------------------------
    --
    --  "DURABLE":
    --    Objects that are saved across a system reset and/or power cycle
    --    are noted as "DURABLE" for convenience in the DESCRIPTION
    --    section of the object definition.  Code must be explicitly
    --    written to implement these DURABLE objects.
    --

------------------------------------------------------------------------------
--  define groups in TMS-COMMON-MIB
------------------------------------------------------------------------------
    tmsCommonNotify         OBJECT IDENTIFIER ::= { tmsCommonMib 0 }
    tmsCommonVer            OBJECT IDENTIFIER ::= { tmsCommonMib 1 }
    tmsCommonIP             OBJECT IDENTIFIER ::= { tmsCommonMib 2 }
--  tmsCommonAuth           OBJECT IDENTIFIER ::= { tmsCommonMib 3 } obsolete
--  tmsCommonTrap           OBJECT IDENTIFIER ::= { tmsCommonMib 4 } obsolete
    tmsCommonLoad           OBJECT IDENTIFIER ::= { tmsCommonMib 5 }
    tmsCommonMisc           OBJECT IDENTIFIER ::= { tmsCommonMib 6 }
    tmsCommonCommToView     OBJECT IDENTIFIER ::= { tmsCommonMib 7 }
    tmsCommonIgmpSnoop      OBJECT IDENTIFIER ::= { tmsCommonMib 8 }
    tmsCommonConformance    OBJECT IDENTIFIER ::= { tmsCommonMib 9 }
    tmsCommonGroups         OBJECT IDENTIFIER ::= { tmsCommonConformance 1 }
    tmsCommonCompliances    OBJECT IDENTIFIER ::= { tmsCommonConformance 2 }
    --

------------------------------------------------------------------------------
--
--  tmsCommonVer - Version Group                    
--
--  This group enables the retrieval of version information for 
--  various components in the system.
--
--  Some version numbers have the concept of "Major.Minor" designators.
--  In these version numbers, the Major designator represents the
--  primary release version, while the Minor designator represents
--  the secondary version, incremented for bug-fixes or non-critical
--  modifications.  For example, the version number 1.2 has "1" as
--  the Major version number and "2" as the minor version number.
--
------------------------------------------------------------------------------
--
    tmsCommonVerMIBMajor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get this MIB Major version number.  This number should 
             match the Major version given in the documentation header
             at the beginning text of this MIB.  Note that the '.c' file
             corresponding to this MIB has to be manually edited to
             change the version number if this file is modified and
             the version number is therefore changed."
        ::= { tmsCommonVer 1 }

    tmsCommonVerMIBMinor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get this MIB Minor version number.  This number should 
             match the Minor version given in the documentation header
             at the beginning text of this MIB. Note that the '.c' file
             corresponding to this MIB has to be manually edited to
             change the version number if this file is modified and
             the version number is therefore changed."
        ::= { tmsCommonVer 2 }

    tmsCommonVerBootSWMajor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get the Boot Software Major version number.
             This number references the VxWorks TMS Boot ROM module."
        ::= { tmsCommonVer 3 }

    tmsCommonVerBootSWMinor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get the Boot Software Minor version number.
             This number references the VxWorks TMS Boot ROM module."
        ::= { tmsCommonVer 4 }

    tmsCommonVerAppSWMajor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get the Application Software Major version number.  
             This number references the core TMS modules as a whole."
        ::= { tmsCommonVer 5 }

    tmsCommonVerAppSWMinor OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Get the Application Software Minor version number.  
             This number references the core TMS modules as a whole."
        ::= { tmsCommonVer 6 }


------------------------------------------------------------------------------
--
--  tmsCommonIP - IP Connectivity Information         
--
--  This group is meant to be a collection of controls and data 
--  that configure the device for IP connectivity.
--
------------------------------------------------------------------------------
--
    tmsCommonIPMACAddr OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { '000000000000'H }
             The base (i.e., first) MAC address used by the TMS agent for its
             in-band ports."
        ::= { tmsCommonIP 1 }

    tmsCommonIPIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { '00000000'H }
             The IP Address for sw0 (swEND 0); only applies after reset - 
             see 'tmsCommonMiscReset'."
        ::= { tmsCommonIP 2 }

    tmsCommonIPGateAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { '00000000'H }
             The default Gateway Address (i.e., next hop router) for sw0
             (swEND 0); only applies after reset - see 'tmsCommonMiscReset'."
        ::= { tmsCommonIP 3 }

    tmsCommonIPNetMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { 'ffffff00'H }
             The IP NetMask for sw0 (swEND 0); only applies after reset - 
             see 'tmsCommonMiscReset'."
        ::= { tmsCommonIP 4 }

    tmsCommonIPStatus OBJECT-TYPE
        SYNTAX INTEGER {
               notModified(1),
               modified(2),
               restore(3),
               apply(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object is used to synchronize the modification of the IP
            parameters used by the protocol stack based on the tmsCommonIP
            MIB objects.  This allows the user to change tmsCommonIPMACAddr, 
            tmsCommonIPIpAddress, tmsCommonIPGateAddress, and
            tmsCommonIPNetMask, and then apply the changes to the unit
            using apply(4).  If tmsCommonIPStatus returns notModified(1),
            no modifications were made to any tmsCommonIP MIB objects.
            If tmsCommonIPStatus returns modified(2), one or more objects
            were changed, but have not been applied.  Both notModified(1)
            and modified(2) are read-only values; the agent returns a
            SNMP_BADVALUE for sets using these values.  Both restore(3) and
            apply(4) are valid SET values.  If one or more of the tmsCommonIP
            objects were modified, the user can restore the parameters to a
            mirror of the NVM values using restore(3)."
        ::= { tmsCommonIP 5 }


------------------------------------------------------------------------------
--
--  tmsCommonLoad - Load TFTP Group                    
--
--  This group is a collection of objects used to configure the TFTP file
--  download and upload facilities.  This group may be used to upload and
--  download the NVM configuration file or to download either the TMS
--  Application or Boot image.
--
------------------------------------------------------------------------------
--
    tmsCommonLoadTftpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE:
             The IP Address for the TFTP server used for downloading
             and/or uploading files." 
        ::= { tmsCommonLoad 1 }

    tmsCommonLoadTftpFileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..64))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE:
             The TFTP file path and name."
        ::= { tmsCommonLoad 2 }

    tmsCommonLoadType OBJECT-TYPE
        SYNTAX INTEGER {
               application(1),
               boot(2),
               configuration(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { application }
             The type of file to download or upload upon an 
             'tmsCommonLoadExecute'.  WARNING: The boot should only be 
             downloaded when absolutely required (e.g., if power is
             removed during the boot Flash write operation, the agent
             cannot be recovered)."
        ::= { tmsCommonLoad 3 }

    tmsCommonLoadExecute OBJECT-TYPE
        SYNTAX INTEGER {
               noop(1),         -- no operation
               download(2),     -- Application, Boot, or Configuration
               upload(3)        -- Configuration only
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Execute file download or upload procedure.  A SET of this
             object starts the load procedure.  Note that the Application
             and Boot images can only be downloaded.  The NVM Configuration
             file can be uploaded and downloaded.  A GET of this object
             will return the status of the executed operation. 
             Use 'tmsCommonLoadExecuteStatus' to determine the status of
             the executed load." 
        ::= { tmsCommonLoad 4 }

    tmsCommonLoadExecuteStatus OBJECT-TYPE
        SYNTAX INTEGER {
               notStarted(1),       -- download has not yet started
               inProgress(2),       -- download has not yet finished
               success(3),          -- download has finished successfully
               errorConnection(4),  -- download cannot connect
               errorFilename(5),    -- download has bad image path/filename
               errorFault(6)        -- download has fault condition on device
        }
        MAX-ACCESS read-only 
        STATUS current
        DESCRIPTION
            "Provides status on the execute file load progress."
        ::= { tmsCommonLoad 5 }


------------------------------------------------------------------------------
--
--  tmsCommonMisc - Miscellaneous Information         
--
--  This group is meant to be a collection of controls and data 
--  that do not require a group of their own, or fall into the 
--  category of "miscellaneous".  The user may easily add simple 
--  objects in this group without destroying the integrity or definition
--  of the group.
--
------------------------------------------------------------------------------
--
    tmsCommonMiscSaveToNvm OBJECT-TYPE
        SYNTAX INTEGER {
               noop(1),           -- no operation
               save(2),           -- save all configuration parameters to NVM
               saveInProgress(3)  -- read-only: NVM save in progress
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "When set to 'save(2)', all nonvolatile configuration
             parameters are saved to NVM (Nonvolatile Memory).  NVM save
             operations may be slow (e.g., erasing/writing Flash device).
             Consequently, all or many updates should be made before
             saving to NVM.  Note that the SNMP set to 'save(2)' returns
             immediately to the caller.  Gets on this object then return
             'saveInProgress(3)' until the save operation completes, at
             which time 'noop(1)' is returned.  Consequently, a get
             operation always returns 'noop(1)' or 'saveInProgress(3)'
             depending on the current state.
             
             The agent returns 'badValue' for SNMPv1 or 'inconsistentValue'
             for SNMPv2c/v3 for a set to 'Save(2)' while the current get
             state is 'saveInProgress(3)'.
             
             Attempts to set this object to 'saveInProgress(3)' returns
             'badValue' for SNMPv1 or 'wrongValue' for SNMPv2c/v3."
        ::= { tmsCommonMisc 1 }

    tmsCommonMiscSnmpSecurityOnOff OBJECT-TYPE
        SYNTAX INTEGER {
               enable(1),
               disable(2)
        }
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION
            "Enable/Disable SNMPv1 Security.  This object is now obsolete
             and is not implemented."
        ::= { tmsCommonMisc 2 }

    tmsCommonMiscSpanOnOff OBJECT-TYPE
        SYNTAX INTEGER {
               enable(1),
               disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { enable }
             Enable/Disable Spanning Tree for the bridge.
             When 'disable(2)', all ports of the device are placed in the
             forwarding mode, regardless of current Spanning Tree state.
             When 'enable(1)', the normal STP state transitions take place."
        ::= { tmsCommonMisc 3 }

    tmsCommonMiscBOOTPOnOff OBJECT-TYPE
        SYNTAX INTEGER {
               enable(1),
               disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { disable }
             Enable/Disable BOOTP operation for the TMS agent.
             When 'disable(2)', no BOOTPs are transmitted by the Application.
             When 'enable(1)', the Application sends BOOTP requests during
             system startup."
        ::= { tmsCommonMisc 4 }

    tmsCommonMiscDHCPOnOff OBJECT-TYPE
        SYNTAX INTEGER {
               enable(1),
               disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { disable }
             Enable/Disable DHCP operation for the TMS agent.
             When 'disable(2)', no DHCPs are transmitted by the Application.
             When enabled, the Application sends DHCP requests during
             system startup."
        ::= { tmsCommonMisc 5 }

    tmsCommonMiscBaud OBJECT-TYPE
        SYNTAX INTEGER {
               baud2400(1),
               baud9600(2),
               baud19200(3),
               baud38400(4)
        } 
        MAX-ACCESS read-write 
        STATUS current
        DESCRIPTION
            "DURABLE: { baud38400 }
             The serial port baud rate.  Attributes include 8 data bits,
             no parity and 1 stop bit (8N1) with hardware flow control.
             Valid values are 2400, 9600, 19200, and 38400 baud."
        ::= { tmsCommonMisc 6 }

    tmsCommonMiscPassword OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { 'password' }
             The system password used for serial console, Telnet console
             and Web page login."
        ::= { tmsCommonMisc 7 }

    tmsCommonMiscProductName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { 'WindRiver TMS Agent' }
             The product name associated with this agent.  This name is
             displayed on the console screens and Web pages." 
        ::= { tmsCommonMisc 8 }

    tmsCommonMiscReset OBJECT-TYPE
        SYNTAX INTEGER {
               noop(1),           -- no operation
               reset(2),          -- reset unit
               resetToDefaults(3) -- reset to factory defaults/reset unit
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Physically performs a hardware reset of the unit. 
             Use with care.  A 'reset(2)' resets the unit, a
             'resetToDefaults(3)' resets the NVM configuration
             to factory defaults and then resets the unit, and 'noop(1)'
             does nothing.  A value of 'noop(1)' is always returned for a
             GET operation."
        ::= { tmsCommonMisc 9 }

        tmsCommonMiscTrapTest OBJECT-TYPE
        SYNTAX INTEGER {
            noop(1),
            coldstart(2),
            linkdown(3),
            linkup(4),
            authentication(5),
            tmsTestTrap(6)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object sends a specific SNMP Trap, as selected by the type,
             to the SNMP manager(s) to verify proper operation of the Notify
             Subsystem.  Note that the specific SNMP Message Processing Model
             (SNMP v1, v2c or v3) is specified using 'snmpTargetParamsMPModel'
             in the 'snmpTargetParamsTable' in RFC2573 (Target MIB).
             
             To distinguish the linkdown(3) and linkup(4) test traps from the
             actual link down and up traps, both trap types use '0' for the
             ifIndex value.
             
             Note that tmsTestTrap(6) generates a 'tmsCommonSnmpV2TestTrap'. 
             
             A GET always returns the 'noop(1)' value."  
        ::= { tmsCommonMisc 10 }

------------------------------------------------------------------------------
--
--  tmsCommonCommToView - SNMP 'Community-to-View' Mapping
--
--  Starting with TMS 1.1, SNMP access uses the SNMP-VIEW-BASED-ACM-MIB
--  (RFC2575) for all SNMP versions (i.e., v1, v2c and v3).  Note that SNMP
--  v1 and v2c both use the SNMP 'community string' to implement limited
--  security and administrative control.  Consequently, to support the
--  'View-based Access Control Model' for SNMPv1/v2c requires a mechanism to
--  map the 'community string' to a 'view'.  This is implemented using the
--  'tmsCommonCommunityToViewTable'.  This table allows up to 8 unique
--  community strings to be mapped to the same or different views as defined
--  in the SNMP-VIEW-BASED-ACM-MIB.  Each community can have read-only or 
--  read-write access permission.
--
--  For test and development purposes, the factory default setting includes
--  a single 'active(1)' entry for index '1' that contains:
--      tmsCommonComm2ViewCommName   = "public"
--      tmsCommonComm2ViewViewName   = "internet"       ==>1.3.6.1
--      tmsCommonComm2ViewPermission = "readWrite(2)"
--
--  These default settings, in conjunction with a corresponding factory 
--  default entry in the RFC2575 'vacmViewTreeFamilyTable', allow full GET
--  and SET access for the entire 'internet' MIB subtree.  Although useful
--  for test and development, this is not a desirable default for a
--  production switch.
--
------------------------------------------------------------------------------
--
    tmsCommonCommunityToViewTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TmsCommonCommunityToViewEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of SNMPv1/v2c community string to view name mappings."
        ::= { tmsCommonCommToView 1 }

    tmsCommonCommunityToViewEntry OBJECT-TYPE
        SYNTAX TmsCommonCommunityToViewEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of community-to-view parameters."
        INDEX { tmsCommonComm2ViewIndex }
        ::= { tmsCommonCommunityToViewTable 1 }

    TmsCommonCommunityToViewEntry ::= SEQUENCE {
        tmsCommonComm2ViewIndex         Integer32,
        tmsCommonComm2ViewCommName      DisplayString,
        tmsCommonComm2ViewViewName      SnmpAdminString,
        tmsCommonComm2ViewPermission    INTEGER,
        tmsCommonComm2ViewRowStatus     RowStatus
    }

    tmsCommonComm2ViewIndex  OBJECT-TYPE
        SYNTAX Integer32 (1..8)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A simple index into 'tmsCommonCommunityToViewTable'."
        ::= { tmsCommonCommunityToViewEntry 1 }

    tmsCommonComm2ViewCommName  OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..20))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "DURABLE: { 'public','':all }
             The SNMPv1/v2c community name string.  Duplicate community
             names are not allowed in this table.  Note that a null string
             is not a valid community name (i.e., a null string forces
             'tmsCommonComm2ViewRowStatus' to 'notReady(3)')."
        ::= { tmsCommonCommunityToViewEntry 2 }

    tmsCommonComm2ViewViewName  OBJECT-TYPE
        SYNTAX SnmpAdminString (SIZE(1..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "DURABLE: { 'internet':all }
             At runtime (i.e., not when this object is SET), this view name
             is compared to the 'vacmViewTreeFamilyViewName' in the
             'vacmViewTreeFamilyTable' (see RFC2575).  If a match is
             found and the varbind(s) specify valid object type and instance,
             the 'tmsCommonComm2ViewPermission' privilege is permitted.
             
             Note that a null string is not a valid view name value.
             Also note that the value of this object does not have to match
             an existing entry in the 'vacmViewTreeFamilyTable' (if no match,
             no access is allowed).
             
             Note that the factory default value for this object is 'internet',
             which allows access to the subtree under '1.3.6.1'."
        ::= { tmsCommonCommunityToViewEntry 3 }

    tmsCommonComm2ViewPermission OBJECT-TYPE
        SYNTAX INTEGER {
               readOnly(1),
               readWrite(2)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "DURABLE: { readWrite:all }
             This object specifies the type of access allowed. 'readOnly(1)'
             allows GET operations (i.e., GET, GET-NEXT, GET-BULK) and
             'readWrite(2)' allows both GET and SET operations."
        ::= { tmsCommonCommunityToViewEntry 4 }

    tmsCommonComm2ViewRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "DURABLE:
             This object indicates the status of this entry.  A row in this
             table can be created using the 'createAndGo(4)' (i.e., all
             parameters must be valid - supplied in a single SNMP PDU or have
             default values) or the 'createAndWait(5)' action states.  Until
             all parameters are valid for a conceptual row, this object is
             'notReady(3)'.  All parameters must be valid before this object
             can be set to 'active(1)'.
             
             Any object in a conceptual row can be modified independent of the
             value of this object (e.g., can be changed while 'active(1)')."
        ::= { tmsCommonCommunityToViewEntry 5 }


------------------------------------------------------------------------------
--
--  tmsCommonIgmpSnoop - IGMP Snooping Parameters
--
--  This group is used to instrument the Layer 2 IGMP Snooping support.
--
------------------------------------------------------------------------------
--
    tmsCommonIgmpSnoopEnabled  OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { false )
             Setting this object to true(1) enables IGMP Snooping.  Setting
             it to false(2) disables IGMP Snooping.
             
             Note that IGMP Snooping can function with or without GVRP and
             GMRP enabled."
        ::= { tmsCommonIgmpSnoop 1 }


    tmsCommonIgmpSnoopAlerts  OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { false )
             Setting this object to true(1) enables the IP Router Alert
             Option (as defined in RFC2113) for transmitted IGMP packets.
             Setting it to false(2) disables this option."
        ::= { tmsCommonIgmpSnoop 2 }

    tmsCommonIgmpSnoopAging  OBJECT-TYPE
        SYNTAX Integer32 (30..3600)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "DURABLE: { 300 )
             The timeout period in seconds for aging out Multicast Groups
             dynamically learned with IGMP Snooping.  Note that aging operates
             on a per interface per VLAN per multicast group basis."
        ::= { tmsCommonIgmpSnoop 3 }

    tmsCommonIgmpSnoopTable OBJECT-TYPE
        SYNTAX SEQUENCE OF TmsCommonIgmpSnoopEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table, which provides IGMP Snooping information, augments
             the 'dot1qStaticMulticastTable' in the Q-MIB (RFC2674)."
        ::= { tmsCommonIgmpSnoop 4 }

    tmsCommonIgmpSnoopEntry OBJECT-TYPE
        SYNTAX TmsCommonIgmpSnoopEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Displays by VLAN, Multicast Group, and Multicast receive port
             the set of ports enabled to forward Multicast Group traffic as
             determined by the IGMP Snooping task."
        AUGMENTS { dot1qStaticMulticastEntry }
        ::= { tmsCommonIgmpSnoopTable 1 }

    TmsCommonIgmpSnoopEntry ::= SEQUENCE {
        tmsCommonIgmpSnoopEgressPorts   PortList
    }

    tmsCommonIgmpSnoopEgressPorts  OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This read-only object displays the set of ports enabled to
             forward specific Multicast Group traffic as determined by the
             IGMP Snooping task.
            
             It should be noted that the IGMP Snooping task generates a pseudo-
             static (i.e., not saved in NVM) port list similar to the RFC2674
             Q-MIB 'dot1qStaticMulticastStaticEgressPorts' object. Consequently,
             a port will not be a member of 'tmsCommonIgmpSnoopEgressPorts' if
             it is a member of 'dot1qStaticMulticastForbiddenEgressPorts'."
        ::= { tmsCommonIgmpSnoopEntry 1 }


------------------------------------------------------------------------------
--  conformance information
------------------------------------------------------------------------------

--  --------------------------------------------------------------------------
--  units of conformance
--  --------------------------------------------------------------------------
    tmsCommonVerGroup   OBJECT-GROUP
        OBJECTS {
            tmsCommonVerMIBMajor,
            tmsCommonVerMIBMinor,
            tmsCommonVerBootSWMajor,
            tmsCommonVerBootSWMinor,
            tmsCommonVerAppSWMajor,
            tmsCommonVerAppSWMinor            
        }
        STATUS  current
        DESCRIPTION
           "This group retrieves system component versions."
        ::= { tmsCommonGroups 1 }
    
    tmsCommonIPGroup    OBJECT-GROUP
        OBJECTS {
            tmsCommonIPMACAddr,
            tmsCommonIPIpAddress,
            tmsCommonIPGateAddress,
            tmsCommonIPNetMask,
            tmsCommonIPStatus
        }
        STATUS  current
        DESCRIPTION
           "This group configures and retrieves IP related objects."
        ::= { tmsCommonGroups 2 }
    
    tmsCommonLoadGroup  OBJECT-GROUP
        OBJECTS {
            tmsCommonLoadTftpAddress,
            tmsCommonLoadTftpFileName,
            tmsCommonLoadType,
            tmsCommonLoadExecute,
            tmsCommonLoadExecuteStatus
        }
        STATUS  current
        DESCRIPTION
           "This group configures and retrieves TFTP download and upload
            objects."
        ::= { tmsCommonGroups 3 }

    tmsCommonMiscGroup  OBJECT-GROUP
        OBJECTS {
            tmsCommonMiscSaveToNvm,
            tmsCommonMiscSpanOnOff,
            tmsCommonMiscBOOTPOnOff,
            tmsCommonMiscDHCPOnOff,
            tmsCommonMiscBaud,
            tmsCommonMiscPassword,
            tmsCommonMiscProductName,
            tmsCommonMiscReset,
            tmsCommonMiscTrapTest
       }
        STATUS  current
        DESCRIPTION
           "This group configures and retrieves misc. switch objects."
        ::= { tmsCommonGroups 4 }

    tmsCommonCommToViewGroup    OBJECT-GROUP
        OBJECTS {
        tmsCommonComm2ViewCommName,
        tmsCommonComm2ViewViewName,
        tmsCommonComm2ViewPermission,
        tmsCommonComm2ViewRowStatus
        }
        STATUS  current
        DESCRIPTION
           "This group configures and retrieves community-to-view SNMP
            information."
        ::= { tmsCommonGroups 5 }

    tmsCommonIgmpSnoopGroup     OBJECT-GROUP
        OBJECTS {
        tmsCommonIgmpSnoopEnabled,
        tmsCommonIgmpSnoopAlerts,
        tmsCommonIgmpSnoopAging,
        tmsCommonIgmpSnoopEgressPorts
        }
        STATUS  current
        DESCRIPTION
           "This group configures and retrieves IGMP Snooping information."
        ::= { tmsCommonGroups 6 }


--  --------------------------------------------------------------------------
--  compliance statements
--  --------------------------------------------------------------------------

    tmsCommonCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
           "The compliance statement."
        MODULE  -- this module
        MANDATORY-GROUPS {
            tmsCommonVerGroup,
            tmsCommonIPGroup,
            tmsCommonLoadGroup,     
            tmsCommonMiscGroup,
            tmsCommonCommToViewGroup,
            tmsCommonIgmpSnoopGroup
        }
        ::= { tmsCommonCompliances 1 }


------------------------------------------------------------------------------
--
--  Sample TMS Common MIB Enterprise Trap
--
--  This trap facilitates testing of SNMP traps.  It can also be used as
--  an example for developers of custom enterprise MIBs.
--
------------------------------------------------------------------------------
--

    tmsCommonSnmpV2TestTrap NOTIFICATION-TYPE
        OBJECTS { tmsCommonMiscProductName }
        STATUS  current
        DESCRIPTION
             "This trap is used for the sample SNMP enterprise trap in the
              'tmsCommonMiscTrapTest' object.  Note that it includes the 
              'tmsCommonMiscProductName' object as a varbind."
        ::= { tmsCommonNotify 1 }


--
-- END of TMS-COMMON-MIB                
--

END
