[SNMP4J] Basic Question about implementing SNMP Tables
Eugene R. Snider
gene at cvtt.net
Mon Dec 17 15:57:07 CET 2007
Now in terms of SNMP4J I could implement the above table and create the
two rows with two
> arbitrary OIDs 1 and 2 and the suggested OID tcpConnState.192.168.1.78.1156.192.168.4.144.80 would be invalid (and
> igore all the index columns totally). And that is what I do not understand. Why would they be called index columns
> if they are not used to identify the rows but instead a OID provided by the SNMP4J API?
>
> Do I have a basic misunderstanding of SNMP tables here (I admit that I am relatively new to SNMP)?
>
I think I understand. Welcome to wonderful world of SNMP, which is
simpler than you are expecting. Your life will get much easier if you
stop thinking about SNMP as a database and think about it as a
repository of independent data items whose relations are managed
externally to the device by a manager such as OpenView.
Its not an arbitrary OID provide BY snmp4j, its an OID you provide to
snmp4j in the row creation call:
someEntry.addRow(new SomeEntryRow(new OID("2"), v2));
If you had called addRow with an argument of new OID("192.168.1.78.1156.192.168.4.144.80") the the instance data for the other columns would be:
someEntry.someColumn.92.168.1.78.1156.192.168.4.144.80
The implementor is responsible for assigning instance OIDs when the row is created. There is no RFC requirement that SNMP rows be sequentially assigned or that all columns be populated, although enterprise and private may impose additional requirements when creating or destroying rows from the manager.
Gene
More information about the SNMP4J
mailing list