Subject: | Synchronize in SNMPv3 |
Hi there.
I'm not quite sure if this is actually a bug in Net::SNMP or just a bug
in the HP ProCurve SNMPv3 engine but let's start at the beginning:
We're using MRTG to generate some basic network graphs of our traffic.
Recently we started to graph them on our internal network which is run
with HP ProCurve switches (2510G). We're using SNMPv3 since a few years
now without any problems and the ProCurve SNMPv3 users are set up
properly. However after activating MRTG (which uses Net::SNMP) the
switches are generating the following error message on every run:
Show quoted text
> Feb 21 13:49:07 a.b.c.d snmp: SNMP Security access violation from e.f.g.h
The error message doesn't stop MRTG (or SNMPv3) from working. It just
gets triggered and written to the error log on every SNMPv3
authentification.
So digged into this and noticed that snmpwalk and the other tools from
net-snmp are NOT triggering this error message. After digging deeper and
parsing the SNMPv3 bytestreams I noticed that Net::SNMP is not putting
the engineBoots- and engineTime-values received in the first paket (the
one that's generating the usmStatsUnknownEngineIDs error) into the
second, authentification paket. However net-snmp is doing that. So I
decided to try to fix that and in fact the error message doesn't get
triggered any more.
Attached is a patch I've quickly put together. I'm not sure what RFC
says about this. Just wanted to fix that annoying error message. A side
effect of my patch is that usmStatsNotInTimeWindows won't get triggered
any more on authentification. Additional I'm not sure about other side
effects. I've tested my patch against all our SNMPv3 devices and
authentification is still working.
Regards,
/ manuel