PMP Mail Archive: PMP> Questions about RFC1759

PMP> Questions about RFC1759

Eugene Chen (Eugene.Chen@eng.efi.com)
Thu, 6 Mar 1997 17:51:20 -0800

Hi, All :

I have two questions about the meaning of the prtStorageRefTable and
prtDeviceRefTable in RFC1759.

1. Question for prtStorageRefTable :

I have the following hypothetical situation in which one disk is shared
between 2 printers.

The prtStorageRefTable is described as having an entry for each storage device
in the
hrStorage table.
In my example, I have a hrStorageTable with 4 entries (4 harddisks : A, B, C
and D), and Disk A and B belongs to printer 1, Disk C belongs to printer 2,
and Disk D belongs to both printers.
And suppose printer 1 has a deviceIndex of 3 and printer 2 has a
deviceIndex of 7.

hrStorageTable :
hrStorageIndex
1 disk A (printer1 : deviceIndex=3)
2 disk B (printer1 : deviceIndex=3)
3 disk C (printer2 : deviceIndex=7)
4 disk D (printer1 & 2 : deviceIndex=3 & 7)

So I will have 5 (?) entries in prtStorageRefTable.
Then my prtStorageRefTable will be :

prtStorageRefTable :
hrStorageIndex prtStorageRefSeqNumber prtStorageRefIndex
1 1 3
2 1 3
3 1 7
4 1 3 (?)
4 2 7 (?)

Is the above implementation correct ? Then it violates the description
under prtStorageRefEntry :
"This table will have an entry for each entry in
the host MIB storage table that represents storage associated
with a printer managed by this agent."
Because we have 2 entries under one hrStorageTable entry (disk D).

I looked at the Interop mib walk test results. Vendor 2 has 2 storage devices
and they use prtStorageRefIndex.1.1 and prtStorageIndex.2.2. Vendor 4 has 4
devices,
with prtStorageRefIndex.1.1, .2.1, .3.1 and .4.1. Which of these is more
correct?

2. Question for prtDeviceRefTable :

This case is almost exactly the same as the previous example, the parallel
port, and the processor are shared between two printers.

This table will have an entry for each hrDeviceTable entry in the hrDevice
table,
for example, I have a hrDeviceTable with 7 entries :

hrDeviceTable :
hrDeviceIndex
1 disk A (printer1 : deviceIndex=3)
2 disk B (printer2 : deviceIndex=7)
3 printer1
4 disk C (printer2 : deviceIndex=7)
5 Processor (printer1 & 2 : deviceIndex=3 & 7)
6 parallel port (printer1 & 2 : deviceIndex=3 & 7)
7 printer2

So I will have 9 (?) entries in prtDeviceRefTable.
Then my prtStorageRefTable will be :

prtDeviceRefTable :
hrDeviceIndex prtDeviceRefSeqNumber prtDeviceRefIndex
1 1 3
2 1 7
3 1 3 (point to printer1 itself ?)
4 1 7
5 1 3 (?)
5 2 7 (?)
6 1 3 (?)
6 2 7 (?)
7 1 7 (point to printer2 itself ?)

Is the above implementation correct ? Then it violates the description
under prtDeviceRefEntry :
Because we have 2 entries under one hrDeviceTable entry (Processor and
parallel port).

All responses are appreciated. Thank you.

Eugene Chen

**** The following is taken directly from rfc1759 for reference. ****
-- The System Resources Tables

-- The Printer MIB makes use of the Host MIB to
-- define system resources by referencing the storage
-- and device groups of the print group. In order to
-- determine, amongst multiple printers serviced by
-- one agent, which printer owns a particular
-- resource, the prtStorageRef and prtDeviceRef tables
-- associate particular storage and device entries to
-- printers.

prtStorageRefTable OBJECT-TYPE
SYNTAX SEQUENCE OF PrtStorageRefEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
""
::= { prtGeneral 2 }

prtStorageRefEntry OBJECT-TYPE
SYNTAX PrtStorageRefEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table will have an entry for each entry in
the host MIB storage table that represents storage associated
with a printer managed by this agent."
INDEX { hrStorageIndex, prtStorageRefSeqNumber }

PrtStorageRefEntry ::= SEQUENCE {
prtStorageRefSeqNumber Integer32,
prtStorageRefIndex Integer32
}

prtStorageRefSeqNumber OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This value will be unique amongst all entries with a common
value of hrStorageIndex.

This object allows a storage entry to point to the multiple
printer devices with which it is associated."
::= { prtStorageRefEntry 1 }

prtStorageRefIndex OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the hrDeviceIndex of the printer device that this
storageEntry is associated with."
::= { prtStorageRefEntry 2 }

prtDeviceRefTable OBJECT-TYPE
SYNTAX SEQUENCE OF PrtDeviceRefEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
""
::= { prtGeneral 3 }

prtDeviceRefEntry OBJECT-TYPE
SYNTAX PrtDeviceRefEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table will have an entry for each entry in
the host MIB device table that represents a device associated
with a printer managed by this agent."
INDEX { hrDeviceIndex, prtDeviceRefSeqNumber }
::= { prtDeviceRefTable 1 }

PrtDeviceRefEntry ::= SEQUENCE {
prtDeviceRefSeqNumber Integer32,
prtDeviceRefIndex Integer32
}

prtDeviceRefSeqNumber OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This value will be unique amongst all entries with a common
value of hrDeviceIndex.

This object allows a device entry to point to the multiple
printer devices with which it is associated."
::= { prtDeviceRefEntry 1 }
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of the hrDeviceIndex of the printer device that this
deviceEntry is associated with."
::= { prtDeviceRefEntry 2 }

-- 
_____________________________________________________________
Eugene Chen               Sr. Software Engineer, Networking.
-------------------------------------------------------------
 DIR:(415) 286-8372            Electronics for Imaging, Inc.
OPER:(415) 286-8600            2855 Campus Drive
email:Eugene.Chen@eng.efi.com  San Mateo, CA 94403