From: Richard_Landau@Dell.com
Date: Thu Sep 18 2008 - 18:24:41 EDT
Several people volunteered to help in the construction of the prototype
CIM proxy provider. I can certainly use the help in a few areas. All
of these are initialization files, just structured ASCII. No code, just
tables to supply the data translations from one format to the other.
Here are a few things I can use help with, please, if someone has time.
1. MIB dumps: What is actually in the SNMP agents of printers? I could
use MIB dumps from a variety of printers. (The provider can run from
these MIB dumps instead of a live printer, for convenience.) Getting a
dump in a reasonable format is simple to do.
(In all file formats, blank lines and comment lines beginning with # or
; will be ignored, no problem. Use comments to describe the contents,
provenance, version, etc., of the file.)
Format: one OID and value per line.
ABNF: numeric-oid "\t" contents
If there is additional information in the line such as datatype, length,
etc., that's okay. I can process almost anything down to the format
needed.
Easy way to do this: Get Net-SNMP v5.4.1.2 at
http://sourceforge.net/project/showfiles.php?group_id=12694&package_id=1
62885&release_id=611628
The kit is less than 4MB. Installs in a few seconds.
The CLI command to get a numeric dump, which is all I need, is
snmpwalk -v 1 -c public -O n 11.22.33.44 1
Substitute the right IP address, SNMP version number, community name.
(SNMPv2 is called "v2c" in the command options.) If you have timeout
problems, check the command help for the options to lengthen timeouts
and retries.
I'll strip off the leading dot (they use the convention .1.3.6.1.2.1 et
ff) and the syntax spec, which takes all of two lines of sed, and poof,
done.
All contributions appreciated. An example is attached.
2. Enum value translations: How to map the enum values of SNMP
variables to the enum values of the related CIM properties? I need the
correlation between the enums that come from the printer and the ones
that are emitted in the CIM property.
These correlations cannot, unfortunately, be constructed automatically.
They do require a human to read the definitions and decide what old
values are equivalent to what new values.
Format: one mapping pair per line.
ABNF: cim-classname "." cim-property-name "\t"
cim-enum-numeric-value "\t" cim-enum-string-value
snmp-variable-name "\t" snmp-enum-numeric-value "\t"
snmp-enum-string-value
A starter set file is attached. It contains everything except the SNMP
numeric and string values. It seems very large, but take heart: one
needs to fill in only a few percent of it. The init code is smart
enough to store only the values with proper translations, and if the
runtime never encounters one of the unknown values, no problema.
Shortcut #1: Let's not bother with all the properties. Let's include
only the properties that are likely to show up non-null in response to a
request. For instance, almost anything that does not have "Print" in
its classname is not likely to be rendered by the prototype provider.
There might be a few properties that are inherited from non-print parent
classes, for instance the status variables.
Shortcut #2: Let's not bother with all the values. Let's include only
the values that one is likely to see. Almost all the enum lists contain
99% chaff, at least w.r.t. a prototype like this. For instance, the
only values of CIM_PrintInterpreter.LangType that I am likely to
encounter are PostScript and PCL and maybe Unknown; we don't need all
sixty-five values.
3. Property mappings: What CIM properties are mapped directly from
their SNMP counterparts? This is particularly important because it
keeps me from having to write several hundred tiny functions, one for
each property. Directly mapped properties can all be done through a
single function.
Take this list of properties and tell me which ones are mapped directly
from some SNMP variable. If there is such a direct mapping, add the
name of the SNMP variable to the line. If not, do nothing; just leave
the CIM property name alone on the line.
Format: one mapping per line.
ABNF: cim-classname "." cim-property-name "\t" snmp-variable-name
A starter set file is attached.
Thank you all for any assistance you can give.
rick
----------------------
Richard_Landau(at)dell(dot)com, Stds & System Mgt Architecture, CTO
Office
+1-512-728-9023, One Dell Way, RR5-3, MS RR5-32, Round Rock, TX 78682
<<WhatINeedSamples.zip>>
This archive was generated by hypermail 2.1.4 : Thu Sep 18 2008 - 18:25:32 EDT