Another proposal

Manu Kaycee <kaycee@ctron.com> Fri, 13 March 1992 14:16 UTC

Return-Path: <owner-chassismib>
Received: by CS.UTK.EDU (5.61++/2.8s-UTK) id AA12189; Fri, 13 Mar 92 09:16:33 -0500
Received: from nic.near.net by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK) id AA12185; Fri, 13 Mar 92 09:16:29 -0500
Received: from ctron.com by nic.near.net id aa10107; 13 Mar 92 9:16 EST
Received: from cardinals.ctron by ctron.com (4.1/SMI-4.1) id AA01785; Fri, 13 Mar 92 09:13:44 EST
Received: from nucleus.ctron by cardinals.ctron (4.1/SMI-4.1) id AA06198; Fri, 13 Mar 92 09:15:32 EST
Date: Fri, 13 Mar 1992 09:15:32 -0500
From: Manu Kaycee <kaycee@ctron.com>
Message-Id: <9203131415.AA06198@cardinals.ctron>
To: chassismib@cs.utk.edu
Subject: Another proposal
Cc: dobbins@cardinals.ctron.com, fardy@ctron.com, pineau@ctron.com, raj@cardinals.ctron.com, salmon@cardinals.ctron.com, townsend@cardinals.ctron.com


Here is another proposal for a chassis MIB.  An older draft of this
proposal was handed out, on a limited basis, at the last IETF.

I apologize for the late posting.  I'll bring along 25 copies with
me, next week.


/Manu.
-------


	CHASSIS-MIB DEFINITIONS ::= BEGIN

	--  This module defines Cabletron's chassis MIB.
	--
	--  Revision	Author		Date		Comments
	--
	--  1.00	Manu Kaycee	12/23/91	Initial draft
	--
	--  1.01	Manu Kaycee	01/31/92	Change chassis to
	--						{ ctphysical 2 }
	--
	--  1.02	Manu Kaycee	02/10/92	Added read-write
	--						community string,
	--						component state,
	--						and argument to
	--						component table.
	--						Expanded MIB table.
	--
	--  1.03	Manu Kaycee	02/14/92	Changed MIB Table to
	--						MIB Group Table
	--
	--  1.04	Manu Kaycee	03/12/92	Removed/modified
	--						device specific
	--						information

	IMPORTS
		experimental, NetworkAddress, Counter, Gauge,
		TimeTicks	FROM RFC1155-SMI
		OBJECT-TYPE	FROM RFC-1212;



	--  This MIB module uses the extended OBJECT-TYPE macro as defined
	--  RFC 1212

	--  Textual convention


	DisplayString	::= OCTET STRING
	--  This data type is used to model textual information taken from
	--  the NVT ASCII character set.  By convention, objects with this
	--  syntax, unless explicitly stated, are declared as having:
	--
	--  SIZE (0..255)

	chassis		OBJECT IDENTIFIER ::= { experimental 9999 }

	--  chType is, in generic terms, similar to sysObjectID in
	--  MIB-II.  It is defined for the sake of completeness, and
	--  in order to negate dependencies on other MIBs.

	chType  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"Identifies the type of hub-based or standalone device.
		 A vendor's authoritative identification of this
		 chassis or device.  By convention, this value is
		 allocated within the SMI enterprises subtree(1.3.6.1.4.1),
		 and provides an easy and unambiguous means for
		 determining `what kind of box' is being managed.  If this
		 information is not present or unknown, its value should
		 be set to the OBJECT IDENTIFIER { 0 0 }, which is a
		 syntactically valid object identifier."
	    ::= { chassis 1 }

	chBackplaneTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF ChBackplaneEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A list of backplanes resident in this chassis."
	    ::= { chassis 2 }

	chBackplaneEntry  OBJECT-TYPE
	    SYNTAX  ChBackplaneEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A backplane entry containing objects for a particular
		 backplane."
	    INDEX   { chBackplaneID }
	    ::= { chBackplaneTable 1 }

	ChBackplaneEntry  ::=
	    SEQUENCE {
		chBackplaneID
		    INTEGER,
		chBackplaneType
		    OBJECT IDENTIFIER
	    }

	chBackplaneID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"An unique value identifying a backplane within the
		 chassis."
	    ::= { chBackplaneEntry 1 }

	chBackplaneType  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"An authoritative identification that is specific to
		 the particular media being used to realize the
		 backplane.  For example, if the backplane is realized
		 by an Ethernet, then the value of this object refers
		 to a well known OID defined for Ethernet.  If this
		 information is not present or unknown, its value
		 should be set to OBJECT IDENTIFIER { 0 0 }, which
		 is a syntactically valid object identifier."
	    ::= { chBackplaneEntry 2 }

	chNumSlots  OBJECT-TYPE
	    SYNTAX  INTEGER (0..64)
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"Number of slots in a chassis.  For bounded, slot-less
		 systems, the value of this object shall be zero(0)."
	    ::= { chassis 3 }

	--  Component Table and Definitions
	--  Components are instances of functional devices.  For
	--  example, if two routers and three bridges were installed
	--  in a chassis, said chassis accommodates five components.

	chCompTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF ChCompEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A list of components installed in this chassis."
	    ::= { chassis 4 }

	chCompEntry  OBJECT-TYPE
	    SYNTAX  ChCompEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A component entry containing objects for a particular
		 component."
	    INDEX   { chCompID }
	    ::= { chCompTable 1 }

	ChCompEntry  ::= 
	    SEQUENCE {
		chCompID
		    INTEGER,
		chCompAdminStatus
		    INTEGER,
		chCompArg
		    OCTET STRING,
		chCompType
		    OBJECT IDENTIFIER,
		chCompName
		    DisplayString,
		chCompVersion
		    DisplayString,
		chCompTimeStamp
		    TimeTicks,
		chCompAccessPolicy
		    INTEGER,
		chCompROCommStr
		    OCTET STRING,
		chCompRWCommStr
		    OCTET STRING,
		chCompNetAdr
		    NetworkAddress
	    }

	chCompID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"An unique value identifying a component, which includes,
		 but is not limited to, routers, bridges, and terminal
		 servers.  Multiple instances of a functional device may
		 exist within the same chassis."
	    ::= { chCompEntry 1 }

	chCompAdminStatus OBJECT-TYPE
	    SYNTAX  INTEGER {
			unknown(1),		--  none of the following
			enabled(2),
			testing(3),
			operational(4),
			error(5),
			disabled(6)
		}
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"Provides the state of the given component.  A component
		 is activated by writing a value of enabled(2).  Once
		 enabled, a component enters testing mode, which is
		 denoted by testing(3), when this object is read.  After
		 tests are complete, the component either enters the
		 operational(4), or the error(5) state.

		 The component may be de-activated by writing a value of
		 disabled(6).  In a disabled state, a component does
		 exist within the given chassis, but is benign.  A disabled
		 component is available for subsequent activation."
	    ::= { chCompEntry 2 }

	chCompArg OBJECT-TYPE
	    SYNTAX  OCTET STRING (SIZE(32))
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"A variable that may be passed to a component, when it
		 is being either enabled or disabled."
	    ::= { chCompEntry 3 }

	chCompType  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"Identifies a component within this chassis.  A vendor's
		 authoritative identification of this component type.
		 By convention, this value is allocated within the SMI
		 management subtree(1.3.6.1.2.2), and provides an easy
		 and unambiguous means for determining the component
		 type.  If this information is not present or unknown,
		 its value should be set to the OBJECT IDENTIFIER { 0 0 },
		 which is a syntactically valid object identifier."
	    ::= { chCompEntry 4 }

	chCompName  OBJECT-TYPE
	    SYNTAX  DisplayString (SIZE (0..32))
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"A textual description of the component."
	    ::= { chCompEntry 5 }

	chCompVersion  OBJECT-TYPE
	    SYNTAX  DisplayString (SIZE (0..32))
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"A textual description of the version/revision level for
		 this component's software."
	    ::= { chCompEntry 6 }

	chCompTimeStamp  OBJECT-TYPE
	    SYNTAX  TimeTicks
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The value of sysUpTime of this management entity, when
		 this component was last (re-)initialized."
	    ::= { chCompEntry 7 }

	chCompAccessPolicy  OBJECT-TYPE
	    SYNTAX  INTEGER {
			unknown(1),		--  none of the following
			same(2),		--  current IP address and
						--  community string pair
						--  may be used to access
						--  this component
			otherCommStr(3),	--  use community string
						--  specified by
						--  chCompROCommStr (or
						--  chCompRWCommStr), with
						--  current IP address to
						--  access this component.
						--  Community access profile
						--  and view are determined
						--  by the associated
						--  community string that
						--  will be used.
			other(4)		--  use community string
						--  specified by
						--  chCompROCommStr (or
						--  chCompRWCommStr), and
						--  address specified by
						--  chCompNetAdr to access
						--  this component.
						--  Community access profile
						--  and view are determined
						--  by the associated
						--  community string that
						--  will be used.
		}
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"Defines access information for the pertinent component."
	    ::= { chCompEntry 8 }

	chCompROCommStr  OBJECT-TYPE
	    SYNTAX  OCTET STRING
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"Read-only community string for the pertinent component.
		 If the value of chCompAccessPolicy is otherCommStr(3) or
		 other(4), then this object shall determine the read-only
		 Community String to be used when accessing this component.
		 In all other cases, this object shall be of zero length."
	    ::= { chCompEntry 9 }

	chCompRWCommStr  OBJECT-TYPE
	    SYNTAX  OCTET STRING
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"Read-write community string for the pertinent component.
		 If the value of chCompAccessPolicy is otherCommStr(3) or
		 other(4), then this object shall determine the read-write
		 Community String to be used when accessing this component.
		 In other cases, this object shall be of zero length."
	    ::= { chCompEntry 10 }

	chCompNetAdr  OBJECT-TYPE
	    SYNTAX  NetworkAddress
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"If the value of chCompAccessPolicy is other(4), then this
		 object shall determine the Network Address to be used to
		 access this component. In all other cases, a value of
		 0.0.0.0 shall be returned, when read."
	    ::= { chCompEntry 11 }

	--  Slot Table and definitions
	--  A module is the physical entity that resides in a chassis slot.
	--  A module is also denoted as a board or card.  A component may
	--  be realized by one or more modules, or one or more components
	--  may be realized by the same module.
	--  The slot table provides a physical representation of a chassis
	--  and its components.

	chSlotTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF ChSlotEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A list of modules installed in this chassis.  A component,
		 such as a router, may be incorporated on one or more
		 modules.  More than one component may be incorporated on
		 each module."
	    ::= { chassis 5 }

	chSlotEntry  OBJECT-TYPE
	    SYNTAX  ChSlotEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A slot entry containing objects for a particular
		 module."
	    INDEX  { chSlotID, chSlotCompID }
	    ::= { chSlotTable 1 }

	ChSlotEntry  ::=
	    SEQUENCE {
		chSlotID
		    INTEGER,
		chSlotCompID
		    INTEGER,
		chSlotClass
		    OBJECT IDENTIFIER,
		chSlotModuleType
		    OBJECT IDENTIFIER,
		chSlotModuleName
		    DisplayString,
		chSlotModuleVersion
		    DisplayString,
		chSlotModuleTimeStamp
		    TimeTicks
	    }

	chSlotID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The slot number containing this module.  An unique
		 value, in the range between 1 and and the value of
		 chNumSlots."
	    ::= { chSlotEntry 1 }

	chSlotCompID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The ID value for the component incorporated within this
		 module.  This object is similar to chCompID."
	    ::= { chSlotEntry 2 }

	chSlotClass  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The class (or type) of slot.  For example, slots that
		only allow for power supply modules fall into a class
		that is different from slots that allow only interface
		cards."
	    ::= { chSlotEntry 3 }
	chSlotModuleType  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"Uniquely defines the module type.  A vendor's
		 authoritative identification for a module.  By
		 convention, this value is allocated within the SMI
		 enterprises subtree(1.3.6.1.4.1), and provides an easy
		 and unambiguous means for determining the type of
		 module."
	    ::= { chSlotEntry 4 }

	chSlotModuleName  OBJECT-TYPE
	    SYNTAX  DisplayString (SIZE (0..32))
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"A textual description of the module."
	    ::= { chSlotEntry 5 }

	chSlotModuleVersion  OBJECT-TYPE
	    SYNTAX  DisplayString (SIZE (0..32))
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"A textual description of the version/revision level for
		 this module's hardware and firmware."
	    ::= { chSlotEntry 6 }

	chSlotModuleTimeStamp  OBJECT-TYPE
	    SYNTAX  TimeTicks
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The value of sysUpTime for this management entity, when
		 this module was last (re-)initialized."
	    ::= { chSlotEntry 7 }



	--  MIB Group Table
	--  This table provides a list of MIB groups that are incorporated in
	--  the various components within chassis slots.

	chCompMIBGroupTable  OBJECT-TYPE
	    SYNTAX  SEQUENCE OF ChCompMIBGroupEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A list of MIB groups incorporated on components and their
		 respective modules, within this chassis."
	    ::= { chassis 6 }

	chCompMIBGroupEntry  OBJECT-TYPE
	    SYNTAX  ChCompMIBGroupEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"A entry containing objects for a MIB group that is
		 realized by a particular component and module."
	    INDEX { chCompMIBGroupID, chCompMIBGroupSlotID, chCompMIBGroupCompID }
	    ::= { chCompMIBGroupTable 1 }

	ChCompMIBGroupEntry ::=
	    SEQUENCE {
		chCompMIBGroupID
		    INTEGER,
		chCompMIBGroupSlotID
		    INTEGER,
		chCompMIBGroupCompID
		    INTEGER,
		chCompMIBGroupOID
		    OBJECT IDENTIFIER,
		chCompMIBGroupVectorObjectBase
		    OBJECT IDENTIFIER,
		chCompMIBGroupVectorNum
		    INTEGER
	    }

	chCompMIBGroupID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"An unique value identifying an instance of a MIB group."
	::= { chCompMIBGroupEntry 1 }

	chCompMIBGroupSlotID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The slot number for the module that incorporates this
		 MIB group.  The value shall be in the range between 0 and
		 chNumSlots.  A non-zero values indicates that the
		 information presented by this entry is realized only
		 on the module in the specified slot.  A zero value
		 indicates that this information pertains to the entire
		 component, without partitioning across modules.

		 This object is similar to chSlotID."
	::= { chCompMIBGroupEntry 2 }

	chCompMIBGroupCompID  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The component realizing this MIB group.  This object is
		 similar to chCompID."
	    ::= { chCompMIBGroupEntry 3 }

	chCompMIBGroupOID  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"A reference to a specific MIB group definition.  For
		 example, in the case of MIB-II, the value of this
		 object may refer to an applicable group, which has
		 been implemented."
	    ::= { chCompMIBGroupEntry 4 }

	chCompMIBGroupVectorObjectBase  OBJECT-TYPE
	    SYNTAX  OBJECT IDENTIFIER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"A reference to a specific entry of a vector object
		 within this MIB group, associated with the module identified
		 by chCompMIBGroupSlotID.  For example, in the case of a
		 repeater, the value of this object may refer to an
		 entry in prtrBasicPortTable.  This object facilitates
		 logical to physical mapping of entities such as
		 channels, links, interfaces, and ports."
	    ::= { chCompMIBGroupEntry 5 }

	chCompMIBGroupVectorNum  OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"A value indicating the number of entries, starting with
		 the one denoted by chCompMIBGroupVectorObjectBase, that are
		 realized on this module."
	    ::= { chCompMIBGroupEntry 6 }

	END