attachment-0001

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Print MIB 09</TITLE>

<META content="MSHTML 5.00.2919.6307" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=294174423-29102001>Ira,</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=294174423-29102001></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=294174423-29102001>More 
comments (sigh) on the Printer MIB.&nbsp; Some of these look the same as 
previous.&nbsp; I will generate a response, as before, and send it to the list 
for comments before a reply to the ADs.</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=294174423-29102001></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=294174423-29102001>&nbsp;&nbsp;&nbsp; Ron</SPAN></FONT></DIV>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN 
class=294174423-29102001></SPAN></FONT>&nbsp;</DIV>
<DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma 
size=2>-----Original Message-----<BR><B>From:</B> Harrington, David 
[mailto:dbh@enterasys.com]<BR><B>Sent:</B> Monday, October 29, 2001 3:32 
PM<BR><B>To:</B> Bert Wijnen (E-mail); 
'Ron.Bergman@Hitachi-hkis.com'<BR><B>Subject:</B> Print MIB 
09<BR><BR></FONT></DIV>
<P><FONT size=2>Hi,</FONT> </P>
<P><FONT size=2>comments on printmib 09</FONT> </P>
<P><FONT size=2>I didn't run this through a compiler to check syntax. 
</FONT></P>
<P><FONT size=2>The overuse of TCs makes it way more difficult to work with this 
mib than it needs to be. The single-use TCs should be eliminated.</FONT></P>
<P><FONT size=2>My copy of -07- is truncated at prtChannelInformation, so I've 
reviewed everything beyond that point afresh.</FONT> </P>
<P><FONT size=2>1) line 2644 "with" should be "which"</FONT> <BR><FONT size=2>2) 
prtChannelInformation concerns me. It is a constructed octet string. This type 
of constructed string is an invitation to vendors to use it to pass proprietary 
information, which somewhat defeats the goal of standardization.</FONT></P>
<P><FONT size=2>3) prtInterpreterTable has an empty description clause. The 
description is contained in comments instead. I believe it is considered 
appropriate to put the description in the description clause. Some tools strip 
the comments away, and the mib becomes much less useful if the descriptions are 
in the comments. An example would be a management application that imports 
description clauses and generates help screens from them. Machine parsing won't 
recognize that the comments contain the description.</FONT></P>
<P><FONT size=2>4) prtInterpreterIndex - could this be tightened up so the 
values are guaranteed to be persistent across reboots?</FONT> <BR><FONT 
size=2>5) prtInterpreterFeedAddressability and other objects have no defined 
ranges.</FONT> <BR><FONT size=2>6) prtInterpreterDefaultCharSetIn and 
prtInterpreterDefaultCharSetOut - define 2 as the DEFVAL?</FONT> <BR><FONT 
size=2>7) prtConsoleLightTable has an empty description.</FONT> <BR><FONT 
size=2>8) prtConsoleOnTime/OffTime - this may be a standard practice in 
printers. It seems to me that it might be simpler to have one object for on/off 
and another for blink rate, rather than requiring that both of these objects be 
retrieved to determine that the light is off or on. Couldn't this be done with 
an enumeration on/off/blinking plus a blink rate? Why are these read-write? Do 
you anticipate an external application adjusting the blink rate of a light, or 
turning the lights on/off? If an external application was to read the values, 
how would they be used? Are these values likely to change faster than network 
latency allows the values to be retrieved? Are blink rates likely to vary for a 
given light?</FONT></P>
<P><FONT size=2>9) Comments that "Implementation of every object in this group 
is mandatory." may not be a good idea because the compliance clauses may change 
at some point, and it might be ambiguous which took precedence. Using the 
compliance clauses should eliminate the need to include such 
comments.</FONT></P>
<P><FONT size=2>10) prtAlertTable has an empty description</FONT> <BR><FONT 
size=2>11) various table entry definitions do not describe the entry, but only 
that a row may exist for each device of type printer. It would generally be 
better to include meaningful information in the descriptions, such as row 
persistence or what a row represents. This can be helpful in the future as 
objects get added or deprecated to ensure that the meaning of the row isn't 
changed inadvertently.</FONT></P>
<P><FONT size=2>12) I have concerns about the prtAlertTable. There are ways to 
help the application avoid re-reading the entire table after a change. RMON uses 
a timefilter; other tables use various mechanisms to record the number of 
deletes done, or the last time the table was changed, and so on. This table 
could benefit from some of these techniques </FONT></P>
<P><FONT size=2>13) The reliability of information from the prtAlerttable 
concerns me. The resetting index could make it easy to overlook that a reset 
occurred, and to ignore the current #1 in favor of the #1 I already retreived 
before an undetected reset. It might be more appropriate to use a non-resetting 
(persistent across reboots) TestAndIncrement to generate the indexes here, or to 
use an RMON timefilter in the index.</FONT></P>
<P><FONT size=2>14) prtAlertTrainingLevel - There is still the style problem of 
over-using TCs. It makes it very difficult to really understand the syntax of an 
object when you have to go elsewhere to lookup a TC to see what the syntax is. 
Use of TCs is very appropriate when the same behavior is repeated for multiple 
objects, and you want to define the convention only once. But when only one 
object in the mib is defined using that convention, it is better to define the 
syntax in the object itself. Just to review the document, I kept two computers 
displaying the document, one to keep track of where I was in the review, and 
another to keep jumping around in the document looking up TCs. This was 
mentioned in the original reviews by both me and Bert. It is bad 
practice!!!!</FONT></P>
<P><FONT size=2>15) prtAlertGroupIndex - "An index of the row within the 
principle table in the</FONT> <BR><FONT 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group identified by 
prtAlertGroup that represents the sub-unit</FONT> <BR><FONT 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of the printer that caused 
this alert." - huh??? What's a principle table? Again the overuse of TCs also 
made this difficult because you couldn't see what the possible enumerations were 
for the values that would have made it clearer. When the pointers get complex, 
it is imperative that the text be clear and easy to read, not buried away in 
some distant TCs. </FONT></P>
<P><FONT size=2>16) prtAlertTime - Given the issues I raised with the alert 
table, making the AlertTime optional seems silly. </FONT><BR><FONT size=2>17) 
printerV1Alert - Bert, you worked on the coexistence rules. Is this the way 
traps should be handled in mibs?</FONT> <BR><FONT size=2>18) The references 
section is rather different than normal. I'd prefer to see it following the 
normal formats, and I'd like to see the "unused" entries removed.</FONT></P>
<P><FONT size=2>my $.02</FONT> <BR><FONT size=2>dbh</FONT> </P>
<P><FONT size=2>David Harrington</FONT> <BR><FONT size=2>Director, Network 
Management Architecture</FONT> <BR><FONT size=2>Enterasys Networks, Inc.</FONT> 
<BR><FONT size=2>dbh@enterasys.com</FONT> </P></BODY></HTML>