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