Chassis MIB Draft
David Arneson <arneson@ctron.com> Thu, 06 August 1992 13:00 UTC
Return-Path: <owner-chassismib>
Received: by CS.UTK.EDU (5.61++/2.8s-UTK)
id AA09247; Thu, 6 Aug 92 09:00:42 -0400
Received: from nic.near.net by CS.UTK.EDU with SMTP (5.61++/2.8s-UTK)
id AA09234; Thu, 6 Aug 92 08:59:48 -0400
Received: from [134.141.2.2] by nic.near.net id aa10989; 6 Aug 92 8:59 EDT
Received: from cardinals.ctron by ctron.com (4.1/SMI-4.1)
id AA23226; Thu, 6 Aug 92 08:58:30 EDT
Received: from yeti.ctron by cardinals.ctron (4.1/SMI-4.1)
id AA10436; Thu, 6 Aug 92 08:58:30 EDT
Date: Thu, 6 Aug 92 08:58:30 EDT
From: David Arneson <arneson@ctron.com>
Message-Id: <9208061258.AA10436@cardinals.ctron>
Received: by yeti.ctron (4.1/SMI-4.1)
id AA05769; Thu, 6 Aug 92 08:59:12 EDT
To: chassismib@cs.utk.edu
Subject: Chassis MIB Draft
Cc: case@cs.utk.edu
We the authors would like to present the following chassis MIB for your review. Please note section 7 of the document which describes the issues that are outstanding. As additional issues arise that are not resolved right away on the mailing list I will add these to the document. So without furthur delay here is the document that we propose for Internet draft. ------------------------------------------------------------------------- Working Draft Chassis MIB July 1992 Definitions of Managed Objects for a Chassis Containing Multiple Logical Network Devices 21 July 12:11 1992 Keith McCloghrie Hughes LAN Systems, Inc. kzm@hls.com David Arneson Cabletron Systems, Inc. arneson@ctron.com Donna McMaster SynOptics Inc mcmaster@synoptics.com Manu Kaycee Cabletron Systems, Inc. kaycee@ctron.com 1. Abstract This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP based internets. In particular it defines objects for managing a chassis containing multiple (logical) networking devices, such as repeaters, bridges, routers, terminal servers, etc. 2. Status of this Memo This draft document is being submitted for consideration by the IETF's Chassis MIB working group. Distribution of this McCloghrie/Arneson/McMaster/Kaycee [Page 1] Working Draft Chassis MIB July 1992 memo is unlimited. Please send comments to the authors. 3. Management Framework The Internet-standard Network Management Framework consists of three components. They are: RFC 1155 which defines the SMI, the mechanisms used for describing and naming objects for the purpose of management. RFC 1212 defines a more concise description mechanism, which is wholly consistent with the SMI. RFC 1156 which defines MIB-I, the core set of managed objects for the Internet suite of protocols. RFC 1213, defines MIB-II, an evolution of MIB-I based on implementation experience and new operational requirements. RFC 1157 which defines the SNMP, the protocol used for network access to managed objects. The Framework permits new objects to be defined for the purpose of experimentation and evaluation. 4. Objects Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation One (ASN.1) [4] defined in the SMI. In particular, each object has a name, a syntax, and an encoding. The name is an object identifier, an administratively assigned name, which specifies an object type. The object type together with an object instance serves to uniquely identify a specific instantiation of the object. For human convenience, we often use a textual string, termed the OBJECT DESCRIPTOR, to also refer to the object type. The syntax of an object type defines the abstract data structure corresponding to that object type. The ASN.1 language is used for this purpose. However, the SMI [1] purposely restricts the ASN.1 constructs which may be used. These restrictions are explicitly made for simplicity. McCloghrie/Arneson/McMaster/Kaycee [Page 2] Working Draft Chassis MIB July 1992 The encoding of an object type is simply how that object type is represented using the object type's syntax. Implicitly tied to the notion of an object type's syntax and encoding is how the object type is represented when being transmitted on the network. The SMI specifies the use of the basic encoding rules of ASN.1 [5], subject to the additional requirements imposed by the SNMP. 4.1. Format of Definitions Section 6 contains the specification of all object types contained in this MIB module. The object types are defined using the conventions defined in the SMI, as amended by the extensions specified in [6,7]. McCloghrie/Arneson/McMaster/Kaycee [Page 3] Working Draft Chassis MIB July 1992 5. Overview This memo defines objects for the management of a chassis containing multiple slots, each of which can potentially contain a board/module performing some networking function(s). A module, or combinations of modules, might perform one or more of the functions of a networking device such as a router, bridge, terminal server, concentrator, management card, etc. Indeed, this relationship between module and function can be many-to-many. Thus, this memo uses the term 'entity' to refer to a logical networking device which may span parts of one or more modules. This type of chassis often contains one or more internal segments through which the logical devices are inter-connected to each other. These segments often use standard MAC and/or link-layer protocols even though their physical layer may be different to that normally used with that MAC or link-layer. This MIB contains four tables: the Slot Table, the Entity Table, the Segment Table, and the Chassis Configuration Table. 5.1. The Slot Table A table that contains information about the slots in this chassis. This table may be implemented as either dense or sparse. 5.2. The Entity Table A table that contains information about the logical networking devices in this chassis. 5.3. The Segment Table A table that contains information about the network segments, contained within the chassis, and used to interconnect the chassis's logical networking devices. McCloghrie/Arneson/McMaster/Kaycee [Page 4] Working Draft Chassis MIB July 1992 5.4. The Chassis Configuration Table A table that contains information about which entities are in which slots in the chassis and the segments to which they are connected. McCloghrie/Arneson/McMaster/Kaycee [Page 5] Working Draft Chassis MIB July 1992 6. Definitions CHASSIS-MIB DEFINITIONS ::= BEGIN IMPORTS experimental, TimeTicks, IpAddress FROM RFC1155-SMI Party FROM RFC1353 -- SNMP Party MIB OBJECT-TYPE FROM RFC-1212; chassis OBJECT IDENTIFIER ::= { experimental xx } chasSlot OBJECT IDENTIFIER ::= { chassis 5 } chasEntity OBJECT IDENTIFIER ::= { chassis 6 } chasSegment OBJECT IDENTIFIER ::= { chassis 7 } chasConfig OBJECT IDENTIFIER ::= { chassis 8 } chasType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "Identifies the type of hub-based or standalone device. A vendor's authoritative identification of this chassis or device. By convention, this value is allocated within the SMI enterprises subtree(1.3.6.1.4.1), and provides an easy and unambiguous means for determining `what kind of box' is being managed. If this information is not present or unknown, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntactically valid object identifier." ::= { chassis 1 } chasNumSlots OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "Number of slots in a chassis." ::= { chassis 2 } McCloghrie/Arneson/McMaster/Kaycee [Page 6] Working Draft Chassis MIB July 1992 chasPhysicalChanges OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "Depicts the number of physical changes that have occurred in the chassis. This includes additions and removal of modules and entities. Other uses are vendor specific." ::= { chassis 3 } chasChassisSN OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "Describe the serial number of the chassis. If a vendor can not realize a chassis serial number then this object should be the null string." ::= { chassis 4 } -- The Slot Table -- It is an implementation specific matter if this table is dense. If the -- table is dense and the slot is empty then chasSlotBoardType should have -- the value chasSlotEmpty. In addition the values of chasSlotDescr, -- chasSlotVersion and chasSlotBoardSn should be set to null. chasSlotTable OBJECT-TYPE SYNTAX SEQUENCE OF ChasSlotEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table that contains information about the slots in this chassis." ::= { chasSlot 1 } chasSlotEntry OBJECT-TYPE SYNTAX ChasSlotEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of information for each slot in the McCloghrie/Arneson/McMaster/Kaycee [Page 7] Working Draft Chassis MIB July 1992 chassis." INDEX { chasSlotIndex } ::= { chasSlotTable 1 } ChasSlotEntry ::= SEQUENCE { chasSlotIndex INTEGER, chasSlotModuleType OBJECT IDENTIFIER, chasSlotLastChange TimeTicks, chasSlotModuleDescr DisplayString, chasSlotModuleVersion DisplayString, chasSlotModuleSn DisplayString } chasSlotIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The slot number of the chassis for which this entry contains management information." ::= { chasSlotEntry 1 } chasSlotModuleType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "The type of module plugged into this slot of the chassis. If the table is implemented as value of chasSlotEmpty indicates an empty slot. A value of chasSlotUnknown indicates that the type of module is unknown." ::= { chasSlotEntry 2 } chasSlotEmpty OBJECT IDENTIFIER ::= { chasSlot 2 } chasSlotUnknown OBJECT IDENTIFIER ::= { chasSlot 3 } chasSlotLastChange OBJECT-TYPE McCloghrie/Arneson/McMaster/Kaycee [Page 8] Working Draft Chassis MIB July 1992 SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of MIB-II's sysUpTime (in the agent supporting this MIB) at which a module in this slot was last inserted or removed from this slot. If no module has been inserted or removed from this slot since the last time the network management system was last re-initialized, then this object has a zero value." ::= { chasSlotEntry 3 } chasSlotModuleDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) ACCESS read-only STATUS mandatory DESCRIPTION "A vendor's textual description of the module plugged into the slot." ::= { chasSlotEntry 4 } chasSlotModuleVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the version/revision level for this module's hardware and firmware. If not realized this value should be set to a NULL string." ::= { chasSlotEntry 5 } chasSlotModuleSn OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) ACCESS read-only STATUS mandatory DESCRIPTION "The serial number of the module present in the slot. If the slot table is implemented as dense and the slot is empty this value will be NULL. If a vendor is unable to realize a serial number for a module this value should set to a NULL string." ::= { chasSlotEntry 6 } McCloghrie/Arneson/McMaster/Kaycee [Page 9] Working Draft Chassis MIB July 1992 -- The 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 in this chassis." ::= { chasEntity 1 } chasEntityEntry OBJECT-TYPE SYNTAX ChasEntityEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information concerning a logical networking device in the chassis." INDEX { chasEntityIndex } ::= { chasEntityTable 1 } ChasEntityEntry ::= SEQUENCE { chasEntityIndex INTEGER, chasEntityFunction INTEGER, chasEntityObjectId OBJECT IDENTIFIER, chasEntityName DisplayString, chasEntityVersion DisplayString, chasEntityAdminStatus INTEGER, chasEntityOperStatus INTEGER, chasEntityArgument OCTET STRING, chasEntityTimeStamp TimeTicks, chasEntityParty Party, chasEntityCommunity OCTET STRING, McCloghrie/Arneson/McMaster/Kaycee [Page 10] Working Draft Chassis MIB July 1992 chasEntityIpAddress IpAddress } chasEntityIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "A unique index for the logical networking device for which this entry contains information." ::= { chasEntityEntry 1 } chasEntityFunction OBJECT-TYPE SYNTAX INTEGER (0..255) ACCESS read-only STATUS mandatory DESCRIPTION "The generic function of the logical networking device. The value is a sum. Starting from zero, for each type of generic function that the entity performs, 2 raised to a power is added to the sum. The powers are according to the following table: Function Power other 0 repeater 1 -- e.g. Ethernet repeater, -- or FDDI concentrator bridge 2 router 3 terminalServer 4 management 5 services 6 -- e.g. MIB Walk tools etc mau 7 power 8 For example, an entity performing both bridging and routing functions would have a value of 24 (2^3 + 2^4)." ::= { chasEntityEntry 2 } chasEntityObjectId OBJECT-TYPE SYNTAX OBJECT IDENTIFIER McCloghrie/Arneson/McMaster/Kaycee [Page 11] Working Draft Chassis MIB July 1992 ACCESS read-only STATUS mandatory DESCRIPTION "The specific type of logical networking device. 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 3 } chasEntityName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) ACCESS read-write STATUS mandatory DESCRIPTION "A textual description of the entity." ::= { chasEntityEntry 4 } chasEntityVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..32)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the version/revision level for this entity's software." ::= { chasEntityEntry 5 } chasEntityAdminStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), -- none of the following enable(2), disable(3), reset(4) } ACCESS read-write STATUS mandatory DESCRIPTION "Provides the state of the given entity. A entity is activated by writing a value of enabled(2). The entity may be de-activated by writing a value McCloghrie/Arneson/McMaster/Kaycee [Page 12] Working Draft Chassis MIB July 1992 of disabled(3). In a disabled state, a entity does exist within the given chassis, but is benign. A disabled entity is available for subsequent activation. This object is read only for entities that disabling would compromise the integrity of the chassis." ::= { chasEntityEntry 6 } chasEntityOperStatus OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following invalid(2), testing(3), operational(4), error(5), resetInProgress(6) } ACCESS read-only STATUS mandatory DESCRIPTION "Provides the operational state of the given entity. Over the life time of a entity it may trasition from testing(3) when first started, to operational(4), and possibly to error(5). A value of other(1) has the possible meaning that the entity exists but the chassis manager has no direct control of the entity." DEFVAL { 1 } ::= { chasEntityEntry 7 } chasEntityArgument OBJECT-TYPE SYNTAX OCTET STRING (SIZE(32)) ACCESS read-write STATUS mandatory DESCRIPTION "A variable that may be passed to an entity. The exact usage is implementation specific." ::= { chasEntityEntry 8 } chasEntityTimeStamp OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only McCloghrie/Arneson/McMaster/Kaycee [Page 13] Working Draft Chassis MIB July 1992 STATUS mandatory DESCRIPTION "The value of sysUpTime of this management entity, when this entity was last (re-)initialized." ::= { chasEntityEntry 9 } 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 10 } chasEntityNoParty OBJECT IDENTIFIER ::= { chasEntity 2 } 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 11 } McCloghrie/Arneson/McMaster/Kaycee [Page 14] Working Draft Chassis MIB July 1992 chasEntityIpAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The address of the SNMP agent which responds to 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 12 } McCloghrie/Arneson/McMaster/Kaycee [Page 15] Working Draft Chassis MIB July 1992 -- The Segment Table chasSegmentTable OBJECT-TYPE SYNTAX SEQUENCE OF ChasSegmentEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table that contains information about the network segments, contained within the chassis, and used to interconnect the chassis's logical networking devices." ::= { chasSegment 1 } chasSegmentEntry OBJECT-TYPE SYNTAX ChasSegmentEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of information for each segment in the chassis." INDEX { chasSegmentIndex } ::= { chasSegmentTable 1 } ChasSegmentEntry ::= SEQUENCE { chasSegmentIndex INTEGER, chasSegmentType OBJECT IDENTIFIER } chasSegmentIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-only STATUS mandatory DESCRIPTION "A unique index for the network segment for which this entry contains information." ::= { chasSegmentEntry 1 } chasSegmentType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION McCloghrie/Arneson/McMaster/Kaycee [Page 16] Working Draft Chassis MIB July 1992 "The type of segment. For example, for am Ethernet segment this object would have the value: dot3 as defined in RFC 1284." ::= { chasSegmentEntry 2 } McCloghrie/Arneson/McMaster/Kaycee [Page 17] Working Draft Chassis MIB July 1992 -- The Chassis Configuration Table chasConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF ChasConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table that contains information about which entities are in which slots in the chassis and the segments to which they connected." ::= { chasConfig 1 } chasConfigEntry OBJECT-TYPE SYNTAX ChasConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A configuration relationship between an entity, a slot and a segment in the chassis. Such a relationship exists if the particular slot is occupied by the board (or one of the boards) performing (part of) the function of the particular entity, and is connected to a particular segment." INDEX { chasConfigSlot, chasConfigEntity, chasConfigSegment } ::= { chasConfigTable 1 } ChasConfigEntry ::= SEQUENCE { chasConfigSlot INTEGER, chasConfigEntity INTEGER, chasConfigSegment INTEGER, chasConfigStatus INTEGER } chasConfigSlot OBJECT-TYPE SYNTAX INTEGER (1..2147483647) ACCESS read-write STATUS mandatory McCloghrie/Arneson/McMaster/Kaycee [Page 18] Working Draft Chassis MIB July 1992 DESCRIPTION "The slot number of the chassis for this configuration relationship." ::= { chasConfigEntry 1 } chasConfigEntity OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The entity for this configuration relationship. The entity identified by this object is the same entity as identified by the same value of chasEntityIndex." ::= { chasConfigEntry 2 } chasConfigSegment OBJECT-TYPE SYNTAX INTEGER (0..2147483647) ACCESS read-write STATUS mandatory DESCRIPTION "The segment for this configuration relationship. The segment identified by a non-zero value of this object is the same segment as identified by the same value of chasSegmentIndex. A value of 0 represents the 'null' segment; only entities in slots which are not connected to any segment identified by a value of chasSegmentIndex are connected to the 'null' segment." ::= { chasConfigEntry 3 } chasConfigStatus OBJECT-TYPE SYNTAX INTEGER { valid(1), invalid(2) } ACCESS read-write STATUS mandatory DESCRIPTION "The status of this configuration relationship. Writing a value of invalid(1) to an instance of this object causes the configuration relationship to be invalidated. Support for creating or invalidating instances of this object will normally be subject to the hardware limitations of the board in the referenced slot. When supported, the creation McCloghrie/Arneson/McMaster/Kaycee [Page 19] Working Draft Chassis MIB July 1992 (invalidation) of instances may have the implicit side-effect of removing (creating) other instances of this object. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant chasConfigStatus object." ::= { chasConfigEntry 4 } END McCloghrie/Arneson/McMaster/Kaycee [Page 20] Working Draft Chassis MIB July 1992 7. Issues Some question has been raised about the implementation of the chasEntityAdminStatus, specifically the reset value. Is the implementation of the entity status optimal? chasEntityFunction is defined for those entities that may have multiple functions. Perhaps we should adopt the policy that an entity has a single function. In which case chasEntityFunction would no longer be needed. There has been some discussion between the authors on the need for a connection between segments and interfaces within the chasConfigTable. If such a relationship is required should it be defined by including an additional object to the table as follows: chasConfigIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the instance of the ifIndex object, defined in [3], for the interface corresponding to this port." ::= { chasConfigEntry 5 } 8. References [1] M.T. Rose and K. McCloghrie, Structure and Identification of Management Information for TCP/IP-based internets, Internet Working Group Request for Comments 1155. Network Information Center, SRI International, Menlo Park, California, (May, 1990). [2] J.D. Case, M.S. Fedor, M.L. Schoffstall, and J.R. Davin, Simple Network Management Protocol, Internet Working Group Request for Comments 1157. Network Information Center, SRI International, Menlo Park, California, (May, 1990). McCloghrie/Arneson/McMaster/Kaycee [Page 21] Working Draft Chassis MIB July 1992 [3] K. McCloghrie and M.T. Rose (editors), Management Information Base for Network Management of TCP/IP-based internets: MIB-II, Internet Working Group Request for Comments 1213. Network Information Center, SRI International, Menlo Park, California, (March, 1991). [4] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987). [5] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization. International Standard 8825, (December, 1987). [6] M.T. Rose, K. McCloghrie (editors), Concise MIB Definitions, Internet Working Group Request for Comments 1212. Network Information Center, SRI International, Menlo Park, California, (March, 1991). McCloghrie/Arneson/McMaster/Kaycee [Page 22] Working Draft Chassis MIB July 1992 Table of Contents 1 Abstract .............................................. 1 2 Status of this Memo ................................... 1 3 Management Framework .................................. 2 4 Objects ............................................... 2 4.1 Format of Definitions ............................... 3 5 Overview .............................................. 4 5.1 The Slot Table ...................................... 4 5.2 The Entity Table .................................... 4 5.3 The Segment Table ................................... 4 5.4 The Chassis Configuration Table ..................... 5 6 Definitions ........................................... 6 7 Issues ................................................ 21 8 References ............................................ 21 McCloghrie/Arneson/McMaster/Kaycee [Page 23]
- Chassis MIB Draft David Arneson
- Re: Chassis MIB Draft Dave Minnich
- Chassis MIB Draft David Arneson
- Chassis MIB Draft David L. Arneson (arneson@ctron.com)
- Re: Chassis MIB Draft Bob Stewart