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
_______________________________________________
SNMP4J mailing list
[email protected]
http://lists.agentpp.org/mailman/listinfo/snmp4j

Reply via email to