I suggest that we all see what we can do with Rick's requests in place of
next Monday's conference call.
From: owner-wims at pwg.org [mailto:owner-wims at pwg.org] On Behalf Of
Richard_Landau at Dell.com
Sent: Thursday, September 18, 2008 6:25 PM
To: wims at pwg.org
Subject: WIMS> CIM> Call for volunteers to assist with prototype CIM proxy
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 v188.8.131.52 at
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 184.108.40.206 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
I'll strip off the leading dot (they use the convention .220.127.116.11.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"
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.
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
-------------- next part --------------
An HTML attachment was scrubbed...