Proposal ASN1

"David L. Arneson" <arneson@ctron.com> Mon, 19 April 1993 23:22 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa27969; 19 Apr 93 19:22 EDT
Received: from CS.UTK.EDU by IETF.CNRI.Reston.VA.US id aa27965; 19 Apr 93 19:22 EDT
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK) id AA19786; Mon, 19 Apr 93 17:45:59 -0400
X-Resent-To: chassismib@CS.UTK.EDU ; Mon, 19 Apr 1993 17:45:56 EDT
Errors-To: owner-chassismib@CS.UTK.EDU
Received: from nic.near.net by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK) id AA19738; Mon, 19 Apr 93 17:45:43 -0400
Received: from ctron.com by nic.near.net id aa27444; 19 Apr 93 17:45 EDT
Received: from ctron (stealth.ctron.com) by ctron.com (4.1/SMI-4.1) id AA13954; Mon, 19 Apr 93 17:45:19 EDT
Received: from yeti.ctron by ctron (4.1/SMI-4.1) id AA03669; Mon, 19 Apr 93 17:45:12 EDT
Received: by yeti.ctron (4.1/SMI-4.1) id AA00921; Mon, 19 Apr 93 17:42:11 EDT
Message-Id: <9304192142.AA00921@yeti.ctron>
To: chassismib@cs.utk.edu
Subject: Proposal ASN1
Reply-To: arneson@ctron.com
Date: Mon, 19 Apr 1993 17:36:21 -0400
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: "David L. Arneson" <arneson@ctron.com>

Here at long last is the ASN.1 for the proposal discussed at the Columbus IETF.

Work Left to do:

1) Agree to model
2) Agree to ASN.1
3) Generate and agree on introduction text with example(s)

Pete Wilson and I have a couple differences of opinion that need to be
resolved.  I will edit in that which the working group deems as best.

Module table:
	- Pete recommends indexing this by physical location type and location
	index.  I have edited the MIB indexing this table by a single unique
	module index.  This is carried foward into the other tables that
	use modules.

	- Pete also had the resource table indexed by module, resource
	I defined a resource table indexed by a single unique resource index
	and used this value in physical config tables and logical config
	tables.  This mapping seems to make it easier for me to read anyway
	once again the working groups word is that which I will implement.

So there we have our starting point.  Your task is to think about how
well you can use this for your systems.  Second to comment on the proposal.

I will be working on introduction text in the next few days.

/David Arneson [arneson@ctron.com] [ (603)337-5064 ]

--------------------------------------------------------------------




          Internet Draft           Chassis MIB                April 1993





                  Definitions of Managed Objects for a Chassis
                   Containing Multiple Logical Network Devices



                                  April 19, 1993


                                 Keith McCloghrie
                             Hughes LAN Systems, Inc.
                                   kzm@hls.com


                                  David Arneson
                             Cabletron Systems, Inc.
                                arneson@ctron.com


                                   Manu Kaycee
                               Ungermann-Bass, Inc
                                kaycee@andr.UB.com


                                   Bob Stewart
                                   Xyplex, Inc
                              stewart@eng.xyplex.com


                                  Donna McMaster
                                  SynOptics Inc
                              mcmaster@synoptics.com

          McCloghrie/Arneson/Kaycee/Stewart/McMaster   [Page 7] 




          Internet Draft           Chassis MIB                April 1993

          6.  Definitions


          CHASSIS-MIB DEFINITIONS ::= BEGIN

          IMPORTS
                  experimental, TimeTicks, IpAddress, Counter
                          FROM RFC1155-SMI
                  OBJECT-TYPE





          McCloghrie/Arneson/Kaycee/Stewart/McMaster   [Page 7] 




          Internet Draft           Chassis MIB                April 1993


                          FROM RFC1212
                  Party
                          FROM RFC1353-MIB;  -- SNMP Party MIB


          -- Textual Conventions

          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 are declared as having
          --
          --      SIZE (0..255)


          AutonomousType    ::= OBJECT IDENTIFIER

          -- The object identifier is an independently extensible type
          -- identification value.  It may, for example indicate a
          -- particular sub-tree with further MIB definitions, or
          -- define something like a protocol type or type of
          -- hardware.

          chassis             OBJECT IDENTIFIER ::= { experimental 38 }

          -- Groups within the chassis MIB

          chasInfo            OBJECT IDENTIFIER ::= { chassis 1 }
          chasPhysical        OBJECT IDENTIFIER ::= { chassis 2 }
          chasEntity          OBJECT IDENTIFIER ::= { chassis 3 }
          chasResource        OBJECT IDENTIFIER ::= { chassis 4 }
          chasConfig          OBJECT IDENTIFIER ::= { chassis 5 }
          chasPowerSupply     OBJECT IDENTIFIER ::= { chassis 6 }
          chasEnviron         OBJECT IDENTIFIER ::= { chassis 7 }

          -- Chassis MIB Know Types

          chasKnownTypes      OBJECT IDENTIFIER ::= { chassis 8 }











          McCloghrie/Arneson/Kaycee/Stewart/McMaster   [Page 8] 




          Internet Draft           Chassis MIB                April 1993


          -- chasInfo group (chassis information group).
          -- Implementation of this group is mandatory.

          chasType  OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "An authoritative identification of the type of
                      hub-based or standalone chassis.  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
                      value: chasTypeUnknown."
              ::= { chasInfo 1 }

          chasPhysicalChanges  OBJECT-TYPE
              SYNTAX   Counter
              ACCESS   read-only
              STATUS   mandatory
              DESCRIPTION
                      "The number of physical changes that have occurred
                      in the chassis since the agent was warm/cold
                      started.  This includes additions and removal of
                      modules and entities.  Other uses are
                      implementation specific."
              ::= { chasInfo 2 }


          chasChassisSerialNumber   OBJECT-TYPE
              SYNTAX    DisplayString (SIZE (0..32))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The serial number of the chassis. If no serial
                      number is available then this object should be the
                      zero length string."
              ::= { chasInfo 3 }










          McCloghrie/Arneson/Kaycee/Stewart/McMaster   [Page 9] 




          Internet Draft           Chassis MIB                April 1993


          -- chasPhysical group (physical configuration group).
          -- Implementation of this group is mandatory.

          chasPhyLocationTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ChasPhyLocationTable
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "This table summarises the different classes of
                      and types of modular physical locations in the
                      chassis.  This includes but is not limited to slot
                      within a chassis, power supply bay."
              ::= { chasPhysical 1 }

          chasPhyLocationEntry OBJECT-TYPE
              SYNTAX ChasPhyLocationEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "An entry in the phyLocationTable"
              INDEX { chasPhyLocationTypeIndex, chasPhyLocationIndex }
              ::= { chasPhyLocationTable 1 }

          ChasPhyLocationEntry ::= SEQUENCE {
                  chasPhyLocationTypeInde
                          INTEGER,
                  chasPhyLocationIndex
                          INTEGER,
                  chasPhyLocationType
                          OBJECT IDENTIFIER,
                  chasPhyLocationName
                          DisplayString
                  }

          chasPhyLocationTypeIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "This uniquely identifies the physical location
                      type within the chassis."
              ::= { chasPhyLocationEntry 1 }

          chasPhyLocationIndex  OBJECT-TYPE
              SYNTAX INTEGER (1..65535)





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 10] 




          Internet Draft           Chassis MIB                April 1993


              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "This uniquely identifies the the instance of the
                      physical location type"
              ::= { chasPhyLocationEntry 2 }

          chasPhyLocationType OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      " Uniquely identifies the 'type' of the physical
                      location within the chassis."
              ::= { chasPhyLocationEntry 2 }

          chasPhyLocationDescr OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "Each type of physical location within the chassis
                      is given a textual name."
              ::= { phyLocationEntry 3 }

          chasModuleTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ChasModuleEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "This table defines the physical modules within a
                      chassis.  This is done by defining the type
                      physical modules and the physical location where
                      it resides.  This table also provides a mapping
                      from between physical modules and their location
                      within the chassis."
              :: { chasPhysical 2 }

          chasModuleEntry OBJECT-TYPE
              SYNTAX ChasPhyModuleEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "An entry in this table that describes a physical
                      module that resides at a given physcial location





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 11] 




          Internet Draft           Chassis MIB                April 1993


                      within the chassis."
              INDEX { chasModuleIndex }
              ::= { chasModuleTable 1 }

          ChasPhyModuleEntry ::= SEQUENCE
                  chasModuleIndex
                          INTEGER,
              chasModuleType
                  OBJECT IDENTIFIER,
              chasModuleFwVersion
                  DISPLAYSTRING,
              chasModuleHwVersion
                  DisplayString,
              chasModuleSerialNumber
                  DisplayString,
              chasModuleDescription
                  DisplayString,
              chasModuleLastChangeTime
                  TimeTicks,
              chasModuleAdminStatus
                  INTEGER,
              chasModuleOperStatus
                  INTEGER,
              chasModuleLocationType
                          INTEGER,
              chasModuleLocation
                  INTEGER

              }

          chasModuleIndex  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "A unique index for this physical module for which
                      this conceptual row contains information."

          chasModuleType OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "An authoritative identification of the type of
                      physcial module in this physical location.  A





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 12] 




          Internet Draft           Chassis MIB                April 1993


                      value of chasLocationUnknown indicates that the
                      type of physical module is unknown."
              :== { chasModuleEntry 2 }

          chasModuleFwVersion 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 firmware.  If not realized
                      this value should be set to the zero-length
                      string."
              :== { chasModuleEntry 3 }

          chasModuleHwVersion 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 firmware.  If not realized
                      this value should be set to the zero-length
                      string."
              ::= { chasModuleEntry 4 }

          chasModuleSerialNumber OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..32))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "The serial number of the physical module present
                      in this physical location.  If the physical
                      location table is implemented as dense and the
                      slot is empty this value will be the zero length
                      string.  If no serial number is available for a
                      physical module this value should set to a zero
                      length string."
              ::= { chasModuleEntry 5 }

          chasModuleDescription OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..32))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 13] 




          Internet Draft           Chassis MIB                April 1993


                      "A textual description of the physical module
                      plugged that resides in this physical location.
                      If not available this value should be set to a
                      zero length string."
              ::= { chasModuleEntry 6 }

          chasModuleLastChange OBJECT-TYPE
              Syntax TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "The value of MIB-II's sysUpTime (in the agent
                      supporting this chassis MIB) at which a module was
                      last inserted or initialized.  If the module has
                      not changed since the last network managment
                      system reinitialized then this object has a zero
                      value."
              ::= { chasModuleEntry 7 }

          chasModuleAdminStatus OBJECT-TYPE
              Syntax INTEGER {
                  enable(2),
                  disable(3),
                  reset(4),
                  programLoad(5),
                  test(6)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                      Provides desired state of the given physical
                      module.  Notice that not all values may be
                      supported by the specified physical module.  In
                      this case and SNMP error will be returned when the
                      set is attempted.

                      A physical module maybe activated by writting a
                      value of enable(2).

                      A physical module may be de-activated by writting
                      a value of disable(3).  In a disabled state a
                      physical module is present in the chassis but is
                      benign.

                      Writting a value of reset(4) initiates a reset





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 14] 




          Internet Draft           Chassis MIB                April 1993


                      sequence.

                      A value of programLoad(5) initiates a software
                      load sequences.

                      Writting a vlaue of test(6) should start a self
                      test sequence within the physical module."
              ::= { chasModuleEntry 8 }

          chasModuleOperStatus OBJECT-TYPE
              Syntax INTEGER {
                  other(1),
                  invalid(2),
                  test(3),
                  operational(4),
                  resetInProgress(5),
                  warning(6),
                  nonFatalError(7),
                  fatalError(8)
              }
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      Provides operational status of the module.  The
                      following are possible definitions of the values.
                      The exact definition of the values is
                      implementation specific.  A value of other(1)
                      implies some undetermined state, possibly as a
                      result of setting phyAdminStatus to a value of
                      disable(3).  A value of invalid(2) could have the
                      possible meaning that the module exists but the
                      chassis manager has no direct control over the
                      module.  A value of testing(3) may be a diagnostic
                      state.  A value of operational(4) implies that the
                      entity is running with no errors or warnings.
                      State resetInProgress(5) implies equivalent of
                      setting phyAdminStatus to reset(4). The states of
                      warning(6), nonFatalError(7), fatalError(8)
                      reflect conditions detected during operation.  The
                      entity may or may not be still functional.

                      For example if a modules value of phyAdminStatus
                      is disable(3) and is set to enable(2) then
                      phyOperStatus may enter a state of testing(3) then
                      change to a value of operational(4)."





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 15] 




          Internet Draft           Chassis MIB                April 1993


              ::= { chasModuleEntry 9 }

          chasModuleLocationType  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "Identifies the type of location this physical
                      module occupies."
              := { ChasModuleEntry 10 }

          chasModuleLocation  OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "Defines the instance of the physical location
                      type that this physcial module occupies."
              ::= { chasModuleEntry 11 }































          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 16] 




          Internet Draft           Chassis MIB                April 1993


          -- The chasEntity group.  Implementation of the chasEntity group
          -- is optional.

          -- Entity Table

          chasEntityTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF ChasEntityEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains information about the
                      'logical' networking devices (entities) in this
                      chassis."
              ::= { chasEntity 1 }

          chasEntityEntry OBJECT-TYPE
              SYNTAX  ChasEntityEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information concerning an entity in the chassis.
                      Conceptual rows may not be created or deleted with
                      SNMP operations."
              INDEX  { chasEntityIndex }
              ::= { chasEntityTable 1 }

          ChasEntityEntry ::=
              SEQUENCE {
                  chasEntityIndex
                          INTEGER,
                  chasEntityObjectID
                          OBJECT IDENTIFIER,
                  chasEntityDescr
                      DisplayString,
                  chasEntityAdminStatus
                      INTEGER,
                  chasEntityOperStatus
                      INTEGER,
                  chasEntityTimeStamp
                      TimeTicks,
              chasEntityParty
                  Party,
              chasEntityCommunity
                  OCTET STRING,
              chasEntityIpAddress





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 17] 




          Internet Draft           Chassis MIB                April 1993


                  IpAddress
              }

          chasEntityIndex OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique index for the entity for which this
                      entry contains information."
              ::= { chasEntityEntry 1 }

          chasEntityObjectID  OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The specific type of entity.  The value of this
                      object is analagous to MIB-II's sysObjectId.  In
                      particular, it has the same value as would be
                      returned if the SNMP Party (identified by
                      chasEntityParty) and/or the community (identified
                      by chasIpAddress and chasCommunity), were queried
                      for sysObjectId."
              ::= { chasEntityEntry 2 }


          chasEntityDescr  OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "A textual description of the entity.  The value
                      of this object is analagous to MIB-II's sysDescr.
                      In particular, it has the same value as would be
                      returned if the SNMP Party (identified by
                      chasEntityParty) and/or the community (identified
                      by chasIpAddress and chasCommunity), were queried
                      for sysDescr."
              ::= { chasEntityEntry 3 }

          chasEntityAdminStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                  unknown(1),             --  none of the following
                  enable(2),





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 18] 




          Internet Draft           Chassis MIB                April 1993


                  disable(3),
                  reset(4),
                  programload(5),
                  test(6)
              }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Provides the administratively desired state of
                      the given entity.

                      An entity is activated by writing a value of
                      enable(2).

                      An entity may be de-activated by writing a value
                      of disable(3).  In a disabled state, a entity does
                      exist within the given chassis, but is benign.  A
                      disabled entity is available for subsequent
                      activation.

                      Writing a value of reset(4) specifies an entity
                      should initiate a reset sequence.

                      Writing a value of programload(5) specifies an
                      entity should initiate a program load sequence.

                      Writing a value of test(6) specifies an entity
                      should initiate a testing sequence.

                      Agent support of the writing of any of the values
                      of this object is implementation-specific.  For
                      example, this object might be read only for
                      entities that disabling would compromise the
                      integrity of the chassis."
              ::= { chasEntityEntry 4 }

          chasEntityOperStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                  other(1),               --  none of the following
                  invalid(2),
                  testing(3),
                  operational(4),
                  resetInProgress(5),
                  warning(6),
                  nonFatalError(7),





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 19] 




          Internet Draft           Chassis MIB                April 1993


                  fatalError(8),
                  loading(10)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Provides operational status of the entity.  The
                      following are possible definitions of the values.
                      The exact definition of the values is
                      implementation specific.  A value of other(1)
                      implies some undetermined state, possibly as a
                      result of setting chasEntityAdminStatus to a value
                      of disable(3).  A value of invalid(2) could have
                      the possible meaning that the entity exists but
                      the chassis manager has no direct control of the
                      entity.  A value of testing(3) may be a diagnostic
                      state.  A value of operational(4) implies that the
                      entity is running with no errors or warnings.
                      State resetInProgress(5) implies equivalent of
                      setting chasEntityAdminStatus to reset(4). The
                      states of warning(6), nonFatalError(7),
                      fatalError(8) reflect conditions detected during
                      operation.  The entity may or may not be still
                      functional.  State loading(10) is a result of
                      asserting programload(5) in chasEntityAdminStatus.

                      For example if an entities value of
                      chasEntityAdminStatus is disable(3) and is set to
                      enable(2) then chasEntityOperStatus may enter a
                      state of testing(3) then change to a value of
                      operational(4)."
              ::= { chasEntityEntry 5 }


          chasEntityTimeStamp  OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of MIB-II's sysUpTime (in the agent
                      supporting this MIB) at which this entity was last
                      (re-)initialized.  If the entity has not been
                      initialized then this object has a zero value."
              ::= { chasEntityEntry 6 }






          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 20] 




          Internet Draft           Chassis MIB                April 1993


          chasEntityParty  OBJECT-TYPE
              SYNTAX  Party
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The SNMP Party which provides access to the
                      detailed management information for this entity.
                      Note that the definition of a SNMP Party includes
                      the location at which it executes, the MIB view to
                      which it provides access, the authentication and
                      privacy algorithms and parameters required to
                      access its MIB view, and whether or not proxy is
                      performed.  In order for a SNMP manager to be able
                      to access the Party, that manager must have prior
                      knowledge of the Party.  In particular, the
                      manager must know the location at which the Party
                      executes.

                      A party is named by an OBJECT IDENTIFIER.  For a
                      entity which is not managed through access to a
                      SNMP Party, the value of this object is
                      chasEntityNoParty."
              ::= { chasEntityEntry 7 }


          chasEntityCommunity  OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (0..256))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The SNMP Community which executes at the address
                      chasEntityIpAddress, and provides access to the
                      detailed management information for this entity.

                      For a entity which is not managed through access
                      to a SNMP Community, the value of this object is
                      the zero-length string."
              ::= { chasEntityEntry 8 }

          chasEntityIpAddress  OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The address of the SNMP agent which responds to





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 21] 




          Internet Draft           Chassis MIB                April 1993


                      messages for the SNMP Community identified by
                      chasEntityCommunity.  When access is via proxy,
                      this variable contains the address of the proxy
                      agent.

                      For a entity which is not managed through access
                      to a SNMP Community, the value of this object is
                      0.0.0.0."
              ::= { chasEntityEntry 9 }









































          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 22] 




          Internet Draft           Chassis MIB                April 1993


          -- The chasResource group.
          -- This defines all the resources that are defined within the chassis.

          -- Implementation of the resource group is optional.

          chasResourceTable  OBJET-TYPE
              SYNTAX  SEQUENCE of ChasResourceEntry
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION

                      "This table defines all chassis resources.  A
                      chassis resource is a building block.  A resource
                      defines the type of relationship between entities.
                      This may be a back plane connection between
                      physical modules sharing the same entity.  It may
                      be a network segment that connects multiple
                      entities."
              ::= { chasResource 1 }

          chasResourceEntry  OBJECT-TYPE
              SYNTAX  ChasResourceEntry
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A list of information for a particular resource
                      in the chassis."
              INDEX { chasResourceIndex }
              ::= { chasResourceTable 1 }

          ChasResourceEntry ::= SEQUENCE {
                  chasResourceIndex
                          INTEGER,
              chasResourceType
                  OBJECT IDENTIFIER
              }

          chasResourcIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique index for the chassis resource for which
                      this entry has information"
              ::= { chasResourceEntry 1 }





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 23] 




          Internet Draft           Chassis MIB                April 1993


          chasResourceType OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-only
              DESCRIPTION
                      "The type of resource.  For example, for an
                      Ethernet segment this object would have a value of
                      dot3 as defined in RFC 1284."
              ::= { chasResourceEntry 2 }










































          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 24] 




          Internet Draft           Chassis MIB                April 1993


          -- the chasConfig (configuration) group.
          -- The configuration group defines two relationships.
          -- The first is a physical relationship which exists
          -- between physcial modules, resources and entities.
          -- A resource exists on a single physical module however
          -- there may be several resources defined on any given
          --physical module.

          -- The second is a logical configuration that exists entites
          -- and resources.  Here a resource is assigned to only one
          -- entity.  However there may be several resources defined
          -- for any given entity.

          -- Implementation of the configuration group is optional.

          chasPhyConfigTable  OBJECT-TYPE
                  SYNTAX SEQUENCE OF ChasPhyConfigEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                      "The physical configuration table defines a
                      relationship between physical modules, resources
                      and entities the relationship maps to."
                  ::= { chasConfig 1 }

          chasPhyConfigEntry
                  SYNTAX  CHASPhyConfigEntry
                  ACCESS  not-accessible
                  STATUS  mandatory
                  DESCRIPTION
                      "Defines a particular physical configuration
                      relationship."
                  INDEX { chasPhyModuleID, chasPhyResourceID }
                  ::= { chasPhyConfigTable 1 }

          ChasPhyConfigEntry SEQUENCE {
                  chasPhyModuleID
                          INTEGER,
                  chasPhyResourceID
                          INTEGER,
                  chasPhyEntityID
                          INTEGER
                  }

          chasPhyModuleID OBJECT-TYPE





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 25] 




          Internet Draft           Chassis MIB                April 1993


                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                      "Defines an instance of a physical module for
                      which this relationship is defined."
                  ::= { chasPhyConfigEntry 1 }

          chasPhyResourceID OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                      "Defines an instance of a resource for which this
                      physical relationship is defined."         ::= {
                      chasPhyConfigEntry 2 }

                      chasPhyEntityID  OBJECT-TYPE
                              SYNTAX  INTEGER         ACCESS  read-only
                              STATUS  mandatory         DESCRIPTION
                                  "Defines an entity that this physical
                                  relationship maps on to."
                             ::= { chasPhyConfigEntry 3 }

                     -- Logical configuration table

                     chasLogicalConfigTable  OBJECT-TYPE
                             SYNTAX SEQUENCE OF ChasLogicalConfigEntry
                             ACCESS not-accessible
                             STATUS mandatory
                             DESCRIPTION
                                 "Defines a logical configuration
                                 relationship  which is a relationship
                                 between entities and resources and the
                                 physical module that the relationship
                                 exists on."
                            ::= { chasConfig 2 }

                    chasLogicalConfigEntry OBJECT-TYPE
                            SYNTAX ChasLogicalConfigEntry
                            ACCESS not-accessible
                            STATUS mandatory
                            DESCRIPTION
                                "Defines a single logical relationship."
                           INDEX { chasLogicalConfigEntity,
chasLogicalConfigResource }





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 26] 




          Internet Draft           Chassis MIB                April 1993


                           ::= { chasLogicalConfigTable 1 }

                   ChasLogicalConfigEntry  SEQUENCE {
                           chasLogicalConfigEntity
                                   INTEGER,
                           chasLogicalConfigResourceID
                                   INTEGER,
                           chasLogicalConfigModule
                                   INTEGER
                           }

                   chasLogicalConfigEntity  OBJECT-TYPE
                           SYNTAX INTEGER
                           ACCESS read-only
                           STATUS mandatory
                           DESCRIPTION
                               "The entity ID for which this logical
                               configuration relationship exists."
                          ::= { chasLogicalConfigEntry 1 }

                  chasLogicalConfigResourceID  OBJECT-TYPE
                          SYNTAX INTEGER
                          ACCESS read-only
                          STATUS mandatory
                          DESCRIPTION
                              "The resource ID for which this logical
                              configuration relationship exists."
                         ::= { chasLogicalConfigEntry 2 }

                 chasLogicalConfigModule  OBJECT-TYPE
                         SYNTAX INTEGER
                         ACCESS read-only
                         STATUS mandatory
                         DESCRIPTION
                             "Identifies the physical module for which
                             this logical relationship exists."
                        ::= { chasLogicalConfigEntry 3 }













          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 27] 




          Internet Draft           Chassis MIB                April 1993


                -- The chasPowerSupply (Power Supply) group, implementation of
                -- the power supply group is optional.

                -- the Power Supply table

                chasPowerSupplyTable OBJECT-TYPE
                    SYNTAX SEQUENCE OF ChasPowerSupplyEntry
                    ACCESS not-accessible
                    STATUS mandatory
                    DESCRIPTION
                            "A list of power supply entries, one for
                            each power supply in the chassis."
                   ::= { chasPowerSupply 1 }

               chasPowerSupplyEntry OBJECT-TYPE
                   SYNTAX ChasPowerSupplyEntry
                   ACCESS not-accessible
                   STATUS mandatory
                   DESCRIPTION
                           Values for a power supply."
                  INDEX { chasPowerSupplyIndex }
                  ::= { chasPowerSupplyTable 1 }

              ChasPowerSupplyEntry ::=
                  SEQUENCE {
                      chasPowerSupplyIndex
                          INTEGER,
                      chasPowerSupplyDescr
                          DisplayString,
                      chasPowerSupplyAdminStatus
                          INTEGER,
                      chasPowerSupplyOperStatus
                          INTEGER,
                      chasPowerSupplyHealthText
                          DisplayString,
                      chasPowerSupplyWarnings
                          Counter,
                      chasPowerSupplyFailures
                          Counter,
                      chasPowerSupplyLocationType
                          INTEGER,
                              chasPowerSupplyLocationIndex
                                      INTEGER
                  }






          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 28] 




          Internet Draft           Chassis MIB                April 1993


              chasPowerSupplyIndex OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                          "An index value that uniquely identifies a
                          power supply.  This may correspond to a
                          hardware power supply slot, which may or may
                          not be the same as a network device slot
                          (chasSlotIndex)."
                 ::= { chasPowerSupplyEntry 1 }

             chasPowerSupplyDescr OBJECT-TYPE
                 SYNTAX DisplayString (SIZE (0..255))
                 ACCESS read-only
                 STATUS mandatory
                 DESCRIPTION
                         "A textual description of the power supply,
                         including the vendor's name and version."
                ::= { chasPowerSupplyEntry 2 }

            chasPowerSupplyAdminStatus OBJECT-TYPE
                SYNTAX INTEGER {
                    unknown(1),
                    enable(2),
                    disable(3) }
                ACCESS read-write
                STATUS mandatory
                DESCRIPTION
                        "Desired status of the power supply."
               ::= { chasPowerSupplyEntry 3 }

           chasPowerSupplyOperStatus OBJECT-TYPE
               SYNTAX INTEGER {
                   unknown(1),
                   empty(2),
                   disabled(3),
                   bad(4),
                   warning(5),
                   standby(6),
                   engaged(7),
                   redundant(8) }
               ACCESS read-only
               STATUS mandatory
               DESCRIPTION





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 29] 




          Internet Draft           Chassis MIB                April 1993


                       "Actual status of the power supply:

                       - unknown(1) - status not known.
                       - empty(2) - no power supply installed in slot
                       - disabled(3) - unable to supply power due to
                       chasPowerSupplyAdminStatus
                       - bad(4) - unable to supply power due to failure
                       - warning(5) - supplying power but an output or
                       sensor is bad or warning
                       - standby(6) - believed usable but not supplying
                       power
                       - engaged(7) - supplying power
                       - redundant(8) - supplying power but not needed

                       It is an implementation specific matter whether
                       the agent keeps entries with status unknown(1) or
                       empty(2) in the table."
              ::= { chasPowerSupplyEntry 4 }

          chasPowerSupplyHealthText OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..255))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "A textual description of the power supply's
                      operational status. Agents may use this string to
                      provide detailed information on current failures,
                      including how they were detected, and/or
                      instructions for problem resolution. The contents
                      are agent-specific."
              ::= { chasPowerSupplyEntry 5 }

          chasPowerSupplyWarnings OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "The number of times chasPowerSupplyOperStatus has
                      gone to warning(5)."
              ::= { chasPowerSupplyEntry 6 }

          chasPowerSupplyFailures OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 30] 




          Internet Draft           Chassis MIB                April 1993


              DESCRIPTION
                      "The number of times chasPowerSupplyOperStatus has
                      gone to bad(4)."
              ::= { chasPowerSupplyEntry 7 }

          chasPowerSupplyLocationType OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "This defines the instance of a physical location
                      type of the power supply.  Location Type together
                      with location index completely defines the
                      location of a power supply."
              ::= { chasPowerSupplyEntry 8 }

          chasPowerSupplyLocationIndex  OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                      "Defines a particular instance of a physical
                      location type."
                  ::= { chasPowerSupplyEntry 9 }

          -- the Power Supply Output table

          chasPowerSupplyOutputTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ChasPowerSupplyOutputEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "A list of power supply output entries, one for
                      each output of each power supply in the chassis."
              ::= { chasPowerSupply 2 }

          chasPowerSupplyOutputEntry OBJECT-TYPE
              SYNTAX ChasPowerSupplyEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                      "Values for a power supply output."
              INDEX { chasPowerSupplyIndex, chasPowerSupplyOutputIndex }
              ::= { chasPowerSupplyOutputTable 1 }






          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 31] 




          Internet Draft           Chassis MIB                April 1993


          ChasPowerSupplyOutputEntry ::=
              SEQUENCE {
                  chasPowerSupplyOutputIndex
                      INTEGER,
                  chasPowerSupplyOutputStatus
                      INTEGER,
                  chasPowerSupplyOutputNominalVoltage
                      Gauge,
                  chasPowerSupplyOutputOfferedVoltage
                      Gauge,
                  chasPowerSupplyOutputOfferedWattage
                      Gauge,
                  chasPowerSupplyOutputWarnings
                      Counter,
                  chasPowerSupplyOutputFailures
                      Counter
              }

          chasPowerSupplyOutputIndex OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "An index value that uniquely identifies an output
                      for the power supply."
              ::= { chasPowerSupplyOutputEntry 1 }

          chasPowerSupplyOutputStatus OBJECT-TYPE
              SYNTAX INTEGER {
                  unknown(1),
                  bad(2),
                  warning(3),
                  good(4) }
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "Actual status of the power supply:

                      - unknown(1)     status not known
                      - bad(2)         unable to supply power due to
                      failure
                      - warning(3)     supplying power but marginally
                      - good(4)        supplying power

                      It is an implementation specific matter whether





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 32] 




          Internet Draft           Chassis MIB                April 1993


                      the agent keeps entries with status unknown(1) in
                      the table.  If unknown(1), offered values and
                      counters are meaningless."
                          ::= { chasPowerSupplyOutputEntry 2 }

                      chasPowerSupplyOutputNominalVoltage OBJECT-TYPE
                          SYNTAX Gauge
                          ACCESS read-only
                          STATUS mandatory
                          DESCRIPTION
                                  "In hundredths of a volt, the voltage
                                  the output is supposed to supply, such
                                  as -5, +5, +12, -15, etc."
                         ::= { chasPowerSupplyOutputEntry 3 }

                     chasPowerSupplyOutputOfferedVoltage OBJECT-TYPE
                         SYNTAX Gauge
                         ACCESS read-only
                         STATUS mandatory
                         DESCRIPTION
                                 "In hundredths of a volt, the voltage
                                 actually offered by the output.  If
                                 chasPowerSupplyOutputStatus is good(4),
                                 the value 0 means offered voltage is
                                 not available."
                        ::= { chasPowerSupplyOutputEntry 4 }

                    chasPowerSupplyOutputOfferedWattage OBJECT-TYPE
                        SYNTAX Gauge
                        ACCESS read-only
                        STATUS mandatory
                        DESCRIPTION
                                "In hundredths of a watt, the wattage
                                actually offered by the output.  If
                                chasPowerSupplyOutputStatus is good(4),
                                the value 0 means offered wattage is not
                                available."
                       ::= { chasPowerSupplyOutputEntry 5 }

                   chasPowerSupplyOutputWarnings OBJECT-TYPE
                       SYNTAX Counter
                       ACCESS read-only
                       STATUS mandatory
                       DESCRIPTION
                               "The number of times





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 33] 




          Internet Draft           Chassis MIB                April 1993


                               chasPowerSupplyOutputStatus has gone to
                               warning(3)."
                      ::= { chasPowerSupplyOutputEntry 6 }

                  chasPowerSupplyOutputFailures OBJECT-TYPE
                      SYNTAX Counter
                      ACCESS read-only
                      STATUS mandatory
                      DESCRIPTION
                              "The number of times
                              chasPowerSupplyOutputStatus has gone to
                              bad(2)."
                     ::= { chasPowerSupplyOutputEntry 7 }





































          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 34] 




          Internet Draft           Chassis MIB                April 1993


                 -- the chasEnviron (Environment) group
                 -- Implementation of this group is optional.

                 -- the Environment table.

                 chasEnvironTable OBJECT-TYPE
                     SYNTAX SEQUENCE OF ChasEnvironEntry
                     ACCESS not-accessible
                     STATUS mandatory
                     DESCRIPTION
                             "A list of environmental entries, one for
                             each environmental sensor in the chassis."
                    ::= { chasEnviron 1 }

                chasEnvironEntry OBJECT-TYPE
                    SYNTAX ChasEnvironEntry
                    ACCESS not-accessible
                    STATUS mandatory
                    DESCRIPTION
                            "Values for a environmental sensor."
                   INDEX { chasEnvironIndex }
                   ::= { chasEnvironTable 1 }

               ChasEnvironEntry ::= SEQUENCE {
                       chasEnvironSensor
                       AutonomousType,
                   chasEnvironStatus
                       INTEGER,
                   chasEnvironWarnings
                       Counter,
                   chasEnvironFailures
                       Counter,
                       chasEnvironLocationType
                       INTEGER,
                   chasEnvironLocationIndex
                       INTEGER
                   }

               chasEnvironSensor OBJECT-TYPE
                   SYNTAX AutonomousType
                   ACCESS read-only
                   STATUS mandatory
                   DESCRIPTION
                           "The identification of an environmental
                           sensor.  Other AutonomousType values may be





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 35] 




          Internet Draft           Chassis MIB                April 1993


                           defined elsewhere, in association with
                           specific protocols.  However, this document
                           assigns those of known interest as of this
                           writing."
                  ::= { chasEnvironEntry 1 }

              chasEnvironStatus OBJECT-TYPE
                  SYNTAX INTEGER {
                      unknown(1),
                      bad(2),
                      warning(3),
                      good(4) }
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                          "Actual status indicated by the sensor.  It is
                          an implementation specific matter whether the
                          agent keeps entries with status unknown(1) in
                          the table.  If unknown(1), counters are
                          meaningless."
                 ::= { chasEnvironEntry 2 }

             chasEnvironWarnings OBJECT-TYPE
                 SYNTAX Counter
                 ACCESS read-only
                 STATUS mandatory
                 DESCRIPTION
                         "The number of times chasEnvironStatus has gone
                         to warning(3)."
                ::= { chasEnvironEntry 3 }

            chasEnvironFailures OBJECT-TYPE
                SYNTAX Counter
                ACCESS read-only
                STATUS mandatory
                DESCRIPTION
                        "The number of times chasEnvironStatus has gone
                        to bad(2)."
               ::= { chasEnvironEntry 4 }

           chasEnvironLocationType OBJECT-TYPE
               SYNTAX INTEGER
               ACCESS read-only
               STATUS mandatory
               DESCRIPTION





          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 36] 




          Internet Draft           Chassis MIB                April 1993


                       "Defines the actual type of physical location
                       that this environmental sensor occupies."
              ::= { chasEnvironEntry 5 }

          chasEnvironLocationIndex OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "This defines the particular instance of a
                      physical location type which this environmental
                      sensor occupies."
              ::= { chasEnvironEntry 6 }





































          McCloghrie/Arneson/Kaycee/Stewart/McMaster  [Page 37] 




          Internet Draft           Chassis MIB                April 1993


          -- Chassis MIB Well known type object identifiers

          -- Slot module types

          chasKnownModules   OBJECT IDENTIFIER ::= { chasKnownTypes 1 }
          chasModuleUnknown  OBJECT IDENTIFIER ::= { chasKnownModules 1 }


          -- Entity party types

          chasKnownParty     OBJECT IDENTIFIER ::= { chasKnownTypes 2 }
          chasEntityNoParty  OBJECT IDENTIFIER ::= { chasKnownParty 1 }


          -- Well known environmental sensor types

          wellKnownSensors   OBJECT IDENTIFIER ::= { chasKnownTypes 3 }
          sensorOther        OBJECT IDENTIFIER ::= { wellKnownSensors 1 }
          sensorTemperature  OBJECT IDENTIFIER ::= { wellKnownSensors 2 }
          sensorFans         OBJECT IDENTIFIER ::= { wellKnownSensors 3 }
          sensorHumidity     OBJECT IDENTIFIER ::= { wellKnownSensors 4 }

          END