-- *****************************************************************
-- CISCO-WAN-SCT-MGMT-MIB.my
--
-- Cisco SCT Management MIB 
--
-- Sept 2001, Muthumayan
--
-- Copyright (c) 2001 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
-- SCT, Service Class Template
--
--
 
CISCO-WAN-SCT-MGMT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        RowStatus
                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
        ciscoMgmt
                FROM CISCO-SMI;

ciscoWanSctMgmtMIB MODULE-IDENTITY
	LAST-UPDATED    "200205210000Z"
	ORGANIZATION    "Cisco Systems, Inc."
	CONTACT-INFO
	        "       Cisco Systems
	                Customer Service

	        Postal: 170 W Tasman Drive
	                San Jose, CA  95134
	                USA

	                Tel: +1 800 553-NETS

	        E-mail: cs-wanatm@cisco.com"

        DESCRIPTION
                "MIB module to manage SCT files in a node. 

                 SCTs (Service Class Templates) are nodal configuration files, 
                 which define the traffic characteristics of a switch based on
                 class of service queues.

                 There is a unique SCT file for every combination of card type,
                 SCT type, SCT Id and major SCT version. For instance, the file
                 AXSM_PORT_SCT.4.V2 refers to a SCT for the card type AXSM, port
                 type SCT, SCT id 4 and a major version of 2.

                 SCTs are transfered to a node using FTP by NMS. 

                 The NMS adds, deletes, discovers and monitors SCT files in a 
                 node using this MIB."

        REVISION "200205210000Z"
        DESCRIPTION 
                "1. Added ATM Service Module(axsmxg) to cwSctCardType.
                 2. Imported Unsigned32 from SNMPv2-SMI instead 
                    of CISCO-TC."

        REVISION "200111180000Z"
        DESCRIPTION
                 "Changed SYNTAX clause of cwSctFileMinorVersion from 
                  (1..65535) to (0..65535)."

        REVISION "200109170000Z"
        DESCRIPTION
                 "Initial version of the MIB."
        ::= { ciscoMgmt 236 }

ciscoWanSctMgmtMIBObjects OBJECT IDENTIFIER ::=  { ciscoWanSctMgmtMIB 1 }


--------------------------------------------------------------------
--
--         SCT File Management Table
--
-- -----------------------------------------------------------------

cwSctFileMgmtTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF CwSctFileMgmtEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
               "This MIB defines a SCT file management table in which each row 
                corresponds to a unique SCT file. 

                When the NMS needs to add a SCT to a node, it transfers the SCT
                file to a transient storage area on the node. The NMS then 
                performs a SET operation requesting the agent to accept the 
                transferred file. The agent validates the integrity of the 
                file and if valid, transfers the file to a secure area. It 
                would then create a new row in the SCT file management table. This
                newly added row is then advertised to all NMS in the network using
                appropriate traps (refer CISCO-WAN-SCT-MGMT-TRAPS-MIB). 

                Once a row is created, the agent keeps track of the operational
                status of the corresponding SCT file. The NMS can query the status
                of a SCT file by performing a GET operation on the row.

                The NMS can delete a SCT file and its corresponding row in the SCT
                file management table by performing a SET operation with the 
                appropriate RowStatus. The agent, upon successful deletion
                of the row would advertise this configuration change to all the
                NMS using appropriate traps.

                The NMS could also perform a GETNEXT operation to discover all the
                configured SCTs on a node."
        ::= { ciscoWanSctMgmtMIBObjects 1 }

cwSctFileMgmtEntry OBJECT-TYPE
        SYNTAX     CwSctFileMgmtEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
               "An entry in the SCT file Management Table. This represents a
                unique SCT file in the node. Each entry contains the configuration
                and status information of a specific SCT in the node."
        INDEX  { cwSctCardType, cwSctType, cwSctId, cwSctMajorVersion }
        ::= { cwSctFileMgmtTable 1 }

CwSctFileMgmtEntry ::= SEQUENCE  { 
        cwSctCardType                    INTEGER,
        cwSctType                        INTEGER,
        cwSctId                          Unsigned32,
        cwSctMajorVersion                Unsigned32,
        cwSctFileName                    SnmpAdminString,
        cwSctFileMinorVersion            Unsigned32,
        cwSctFileChecksum                Unsigned32,
        cwSctFileDescription             SnmpAdminString,
        cwSctFileOperStatus              INTEGER,
        cwSctFileRowStatus               RowStatus
        }

cwSctCardType      OBJECT-TYPE
        SYNTAX     INTEGER {
                   axsm   (1),
                   axsme  (2),
                   pxm1e  (3),
                   hsfr   (4),
                   axsmxg (5)
                  }
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "This represents service modules in a node that require the 
                 use of a SCT. The content of the SCT varies depending on the
                 specific hardware used. Hence there is a different SCT for
                 every type of card. The card types that support SCTs are
                 listed in the SYNTAX clause"
        ::= { cwSctFileMgmtEntry 1 }
             
cwSctType          OBJECT-TYPE
        SYNTAX     INTEGER {
                   portSct  (1),
                   cardSct  (2)
                   }
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "There are several types of SCTs. The portSct (1) specifies
                 traffic parameters that are applicable to a logical port 
                 within a card. The cardSct (2) specifies traffic parameters
                 that are applicable to the whole card."
        ::= { cwSctFileMgmtEntry 2 }

cwSctId            OBJECT-TYPE
        SYNTAX     Unsigned32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "Each logical port on a service module could need different
                 'class of service' characteristics. This can be achieved by
                 applying different SCTs on different ports. Thus for a given
                 card type, there could be multiple SCTs of different IDs."
        ::= { cwSctFileMgmtEntry 3 }
             
cwSctMajorVersion  OBJECT-TYPE
        SYNTAX     Unsigned32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The SCT file consists of several tables. The number of 
                 tables depend on the service module card type. Both the
                 contents and the row/column size of a table are subject
                 to change. The major version is incremented by the manager
                 whenever there is a change in the row/column size of the 
                 table."
        ::= { cwSctFileMgmtEntry 4 }

cwSctFileName OBJECT-TYPE
        SYNTAX     SnmpAdminString (SIZE (0..132))
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "This object specifies the absolute path name of the file
                 corresponding to the SCT indices. 

                 After the agent accepts a SET operation and creates a new
                 row in the SCT file management table, it transfers the file
                 from the transient storage area to a secure location on the
                 disk. This object identifies the absolute path name of the
                 secure location on disk.

                 The file name would be in the format:
                 <CardType>_SCT.<SCTType>.<SCTId>.V<Major version>
                "
        ::= { cwSctFileMgmtEntry 5 }

cwSctFileMinorVersion OBJECT-TYPE 
        SYNTAX     Unsigned32 (0..65535) 
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "The SCT file consists of several tables. The number of 
                 tables depend on the service module card type. Both the
                 contents and the row/column size of a table are subject
                 to change. The minor version is incremented by the manager
                 whenever there is a change in contents of the table."
        ::= { cwSctFileMgmtEntry 6 }

cwSctFileChecksum  OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                "The manager specifies this checksum when trying to add
                 a SCT on the node. The agent while acting on the SET 
                 operation would perform a checksum computation on the
                 FTPed file and compare against this object. If they differ,
                 the SET operation would be negated. If same, the file is
                 considered valid and this value is stored in a persistent
                 database. SCT files across the network with the same 
                 combination of card type, sct type, major and minor versions
                 would have the same checksum."
        ::= { cwSctFileMgmtEntry 7 }

cwSctFileDescription OBJECT-TYPE
        SYNTAX     SnmpAdminString (SIZE (0..132))
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
	       "A description string can be associated with a specific SCT 
                index and in turn the SCT file. This may be used for 
                associating customized filenames."
        ::= { cwSctFileMgmtEntry 8 }

cwSctFileOperStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                       valid   (1),
                       invalid (2),
                       absent  (3)
                   }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
                "Reflects the operational status of the SCT file.

                 The agent sets the value to valid(1) if the computed checksum 
                 of the SCT file matches the provisioned checksum.

                 The agent sets the value to invalid(2) if the computed checksum 
                 of the SCT file mismatches with the provisioned checksum. This
                 usually suggests a corrupted SCT file.

                 The agent sets the value to absent(3) if the file is missing in
                 the secure area of the disk, while a row exists in the SCT file
                 management table."
        ::= { cwSctFileMgmtEntry 9 }

cwSctFileRowStatus OBJECT-TYPE
        SYNTAX     RowStatus
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
                  "
                   * To create a row, the manager needs to perform a SET 
                     operations with a 'CreateAndGo' option. The agent would
                     validate the file specified by the indices if found valid
                     would create a new row.

                   * SET operation with 'CreateAndWait' option will be 
                     rejected by the agent.

                   * SET operations with 'active' option would be treated as 
                     a modify operation. The only objects that can be modified 
                     in a row are the cwSctFileDescription and the 
                     cwSctFileMinorVersion.

                   * SET operation with a 'Destroy' option would be used for 
                     deleting a row in the cwSctFileMgmtTable and its 
                     associated SCT file in the switch.

                   * The GET status of this object would always return 'active'.
                  "
        ::= { cwSctFileMgmtEntry 10 }


-- conformance information

ciscoWanSctMgmtMIBConformance OBJECT IDENTIFIER ::= { ciscoWanSctMgmtMIB 3 }
ciscoWanSctMgmtMIBCompliances OBJECT IDENTIFIER ::= 
                                    { ciscoWanSctMgmtMIBConformance 1 }
ciscoWanSctMgmtMIBGroups            OBJECT IDENTIFIER ::= 
                                    { ciscoWanSctMgmtMIBConformance 2 }

cwSctFileMgmtMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for Cisco SCT file management group."
        MODULE -- this module
        MANDATORY-GROUPS { cwSctFileMgmtObjectGroup }
        ::= { ciscoWanSctMgmtMIBCompliances 1 }

-- units of conformance

cwSctFileMgmtObjectGroup  OBJECT-GROUP
        OBJECTS {
            cwSctFileName,
            cwSctFileMinorVersion,
            cwSctFileChecksum,
            cwSctFileDescription,
            cwSctFileOperStatus,
            cwSctFileRowStatus
       }
       STATUS current
       DESCRIPTION
         "Objects used for SCT file management."
       ::= { ciscoWanSctMgmtMIBGroups 1 }
 
END



