[SNMP4J] Multiple Switch Issue

dp dp dpdp at india.com
Wed Nov 5 07:44:22 CET 2008


In continuation to my previous mail, I had a look at the USMTimeEntry and USMTimeTable classes and noticed that the SnmpEngineID is used as the key for the hashtable. So if this is the case, then when I have three unique engine id's I will have three entries in the table and there is no conflict. But when I have two unique engine ids but 3 agents, then the table maintains two entries for the three agents and this is a possibility of conflict. So if there was a conflict here, then my first question is that how did I get the right data the first time?

My next question is that in the checkTime method, I notice these lines

if ((entry.getEngineBoots() < time.getEngineBoots()) || ((entry.getEngineBoots() == time.getEngineBoots()) &&
           (time.getTimeDiff() + now >  entry.getLatestReceivedTime() + 150)) ||     (time.getEngineBoots() == 2147483647)) {
           return SnmpConstants.SNMPv3_USM_NOT_IN_TIME_WINDOW;
      }

What is time.getTimeDiff? entry.getLastReceivedTime? I assume that time refers to the existing value in the hashtable and entry is a new entry that we are checking time for.

If I need to support similar SnmpEngine IDs, is manipulating the USMTimeTable to include the IPAddress along with SnmpEngineID as unique key, a good idea? Or if I get this error is resetting the time a good idea? This might not be good as per v3 specification though.

Please let me know your inputs on how I could support similar Snmp EngineIDs on multiple switches and me having a simultaneous session to all of them -> so that the USMTimeTable would store each of this entry in the hashtable? Any inputs would be very helpful for me.

Thanks in advance.






-- 
_______________________________________________
Search for products and services at: 
http://search.mail.com



More information about the SNMP4J mailing list