I had some progress with this.
It turns out tat this only happens when the missing index has value '0'. A colleague of mine hypothesized that this is because the SNMP agent is getting mixed-up with getting scalars (which requires adding '.0' at the end). We haven't proved this yet. So it might be a bug with the SNMP agent running on our device. I'm still be glad to hear any thoughts, thanks, Ori. ________________________________ From: Ori Liel Sent: Sunday, June 29, 2008 11:14 AM To: '[email protected]' Cc: Oran Kushnir; Michael Yavorovsky Subject: snmp get with partial indexes Hi. I have the following SNMP problem: I'm dealing with a very large table, which has several index columns. For example, let's say we have index columns: Index1, Index2, Index3. I want to get all rows where Index1="a" and Index2="b" (with no restriction on Index3 value). The straight-forward solution would be to get the entire table and search for the rows I want, but this is no feasible due to the size of the table (on top of everything, I'm forced to use SNMPv1 which doesn't have getBulk()). I need a way to get only the rows I want - as if the SNMP table was a database table and I were writing a query. I've tried this solution: I constructed an OID that only includes only the values of Index1 and Index2. A GET command for this OID returns "No such instance", since I'm supplying an incomplete address, but I expected that GET_NEXT would give me the first row where I1="a" and I2="b". (in the example below, I was hoping to get the first cell of the second row, but I actually got the first cell of the third row). Index1 Index2 Index3 column1 column2 g h j bla bla a b c1 bla bla a b c2 bla bla a b c3 bla bla x y Z bla bla Right now I have no idea how to achieve what I need using the basic SNMP commands. Can anyone help? Thanks, Ori. _______________________________________________ SNMP4J mailing list [email protected] http://lists.agentpp.org/mailman/listinfo/snmp4j
