Draft of Pete Wilson's work

"David L. Arneson" <arneson@ctron.com> Fri, 23 April 1993 13:37 UTC

Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa03425; 23 Apr 93 9:37 EDT
Received: from CS.UTK.EDU by IETF.CNRI.Reston.VA.US id aa03414; 23 Apr 93 9:37 EDT
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK) id AA25967; Fri, 23 Apr 93 08:17:04 -0400
X-Resent-To: chassismib@CS.UTK.EDU ; Fri, 23 Apr 1993 08:17:02 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 AA25959; Fri, 23 Apr 93 08:16:56 -0400
Received: from ctron.com by nic.near.net id aa26881; 23 Apr 93 8:16 EDT
Received: from ctron (stealth.ctron.com) by ctron.com (4.1/SMI-4.1) id AA05971; Fri, 23 Apr 93 08:16:27 EDT
Received: from yeti.ctron by ctron (4.1/SMI-4.1) id AA20089; Fri, 23 Apr 93 08:16:22 EDT
Received: by yeti.ctron (4.1/SMI-4.1) id AA07678; Fri, 23 Apr 93 08:13:23 EDT
Message-Id: <9304231213.AA07678@yeti.ctron>
To: chassismib@cs.utk.edu
Subject: Draft of Pete Wilson's work
Date: Fri, 23 Apr 1993 08:10:24 -0400
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: "David L. Arneson" <arneson@ctron.com>

I felt it was important to present the other view of the chassis MIB
for your approval.

After reading thru this there are a number of errors that need fixing
but this does get the idea across.

This differs from the previous by the module identification which is done
by it's physical location within the chassis.  I also merged the 3
tables of resource, physical config, logical config into 2 tables.  I
believe that this is as Pete Wilson proposed.  

So we need to determine which of these best suites the needs.

I'm sure there are many errors within the MIB.  If we can reach some form
of agreement I will flesh out the next one to be correct in all respects.

So which view do you perfer?

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




          Internet Draft           Chassis MIB                April 1993





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

                       Proposal based on Pete Wilson's view

                                  April 20, 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


          CHASSIS-MIB DEFINITIONS ::= BEGIN

          IMPORTS
                  experimental, TimeTicks, IpAddress, Counter
                          FROM RFC1155-SMI
                  OBJECT-TYPE
                          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
              chasModuleLocationType
                  INTEGER,
              chasModuleLocation
                  INTEGER,
              chasModuleType
                  OBJECT IDENTIFIER,
              chasModuleFwVersion
                  DISPLAYSTRING,
              chasModuleHwVersion
                  DisplayString,
              chasModuleSerialNumber
                  DisplayString,
              chasModuleDescription
                  DisplayString,
              chasModuleLastChangeTime
                  TimeTicks,
              chasModuleAdminStatus
                  INTEGER,
              chasModuleOperStatus
                  INTEGER
              }

          chasModuleLocationType  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "An instance of a module is identified by the
                      physical location which it resides.  The physical
                      location is identified by location type index and
                      location index (instance of that location type.
                      This object defines the location type."
                  ::= { chasModuleEntry 1 }

          chasModuleLocation  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "An instance of a module is identified by the





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




          Internet Draft           Chassis MIB                April 1993


                      physical location which it resides.  The physical
                      location is identified by location type index and
                      location index (instance of that location type.
                      This object defines the instance of a particular
                      location type."
                  ::= { chasModuleEntry 2 }
          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
                      value of chasLocationUnknown indicates that the
                      type of physical module is unknown."
              :== { chasModuleEntry 3 }

          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 4 }

          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 5 }

          chasModuleSerialNumber OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..32))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "The serial number of the physical module present





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




          Internet Draft           Chassis MIB                April 1993


                      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 6 }

          chasModuleDescription OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..32))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "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 7 }

          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 8 }

          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





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




          Internet Draft           Chassis MIB                April 1993


                      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
                      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 9 }

          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





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




          Internet Draft           Chassis MIB                April 1993


                      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)."
              ::= { chasModuleEntry 10 }




































          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 a mapping of physical relationship (modules/resources)
          -- onto entities.

          -- Implementation of the resource group is optional.

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

                      "This table defines a physical relationship
                      between physical modules and resources.  A
                      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.

                      This table then defines the physical mapping of
                      resources and physical modules onto entities."
              ::= { chasResource 1 }

          chasResourceEntry  OBJECT-TYPE
              SYNTAX  ChasResourceEntry
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Defines a particular physical configuration
                      relationship."
              INDEX { chasResourceIndex }
              ::= { chasResourceTable 1 }

          ChasResourceEntry ::= SEQUENCE {
              chasResourceLocationType
                  INTEGER,
              chasResourceLocation
                  INTEGER
              chasResourceIndex
                  INTEGER,
              chasResourceType
                  OBJECT IDENTIFIER,
              chasResourceAssignment
                  INTEGER,





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




          Internet Draft           Chassis MIB                April 1993


              chasResourceEntitySubIndex
                  INTEGER
              }

          chasResourceLocationType  OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A resource exists on a particular module.  A
                      module is identified by it's physical location.
                      Physical location is defined location type and an
                      instance of that physical location type.  This
                      object defines the location type."
              ::= { chasResourceEntry 1 }

          chasResourceLocation  OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A resource exists on a particular module.  A
                      module is identified by it's physical location.
                      Physical location is defined location type and an
                      instance of that physical location type.  This
                      object defines a particular instance of the
                      physical location."
              ::= { chasResourceEntry 2 }

          chasResourceIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique index for the chassis resource on this
                      particular physical module."
              ::= { chasResourceEntry 3 }

          chasResourceType OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                      "The type of resource.  For example, for an
                      Ethernet segment this object would have a value of





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




          Internet Draft           Chassis MIB                April 1993


                      dot3 as defined in RFC 1284."
              ::= { chasResourceEntry 4 }

          chasResourceAssignment  OBJECT-TYPE
              SYNTAX  INTEGER
              access  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The physical module resource relationship is
                      assigned to a specific entity.  This object
                      defines the instance of an entity that this
                      relationship is assigned."
              ::= { chasResourceEntry 5 }

          chasResourceEntitySubIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Provides a unique index that can be used to
                      identify the relationship in terms of the entity."
              ::= { chasResourceEntry 6 }




























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




          Internet Draft           Chassis MIB                April 1993


          -- the chasConfig (configuration) group.
          -- Implementation of the configuration group is optional.

          -- 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 1 }

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

          ChasLogicalConfigEntry  SEQUENCE {
                  chasLogicalConfigEntity
                          INTEGER,
                  chasLogicalConfigEntitySubIndex
                          INTEGER,
                  chasLogicalConfigLocationType
                          INTEGER,
                  chasLogicalConfigLocation
                          INTEGER,
                  chasLogicalConfigResourceID
                          INTEGER
                  }

          chasLogicalConfigEntity  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "The entity ID for which this logical





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




          Internet Draft           Chassis MIB                April 1993


                      configuration relationship exists."
                  ::= { chasLogicalConfigEntry 1 }

          chasLogicalConfigEntitySubIndex  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "The entity sub index for which this logical
                      configuration relationship exists.  The logical
                      relation ship is identified by a resource
                      assignment to an entity.  The sub index defines a
                      particular instance of the mapping of physical
                      configuration onto an entity."
                  ::= { chasLogicalConfigEntry 2 }

          chasLogicalConfigLocationType  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "A module is defined by it's physical location
                      type and an instance of that physical location.
                      This object defines the physical location type
                      portion of the physical module identifier that
                      this logical configuration exists for."
                  ::= { chasLogicalConfigEntry 3 }

          chasLogicalConfigLocation  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory
                  DESCRIPTION
                      "A module is defined by it's physical location
                      type and an instance of that physical location.
                      This object defines the instance physical location
                      (location index) portion of the physical module
                      identifier that this logical configuration exists
                      for."
                  ::= { chasLogicalConfigEntry 4 }

          chasLogicalConfigResourceID  OBJECT-TYPE
                  SYNTAX INTEGER
                  ACCESS read-only
                  STATUS mandatory





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




          Internet Draft           Chassis MIB                April 1993


                  DESCRIPTION
                      "The value of this object refers to a particular
                      instance of a resource, as defined by
                      chasResourceIndex, for which this relationship is
                      defined.  This together with
                      chasLogicalConfigLocationType and
                      chasLogicalConfigLocation completes the mapping of
                      the logical configuration on to the physical
                      module and resource combination."
                  ::= { chasLogicalConfigEntry 2 }








































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




          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 29] 




          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
                      "Actual status of the power supply:





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




          Internet Draft           Chassis MIB                April 1993


                      - 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
              DESCRIPTION
                      "The number of times chasPowerSupplyOperStatus has





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




          Internet Draft           Chassis MIB                April 1993


                      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 }

          ChasPowerSupplyOutputEntry ::=
              SEQUENCE {





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




          Internet Draft           Chassis MIB                April 1993


                  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
                      the agent keeps entries with status unknown(1) in
                      the table.  If unknown(1), offered values and





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




          Internet Draft           Chassis MIB                April 1993


                      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
                               chasPowerSupplyOutputStatus has gone to
                               warning(3)."





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




          Internet Draft           Chassis MIB                April 1993


                      ::= { 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 35] 




          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 36] 




          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 37] 




          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 38] 




          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

------- End of Forwarded Message