...
While working with SNMPv3 with a specific SNMP agent, we encountered problems with SNMPv3 “Time syncronization”, some research determined that this error could be ignored at the users peril, so modifying the Net::SNMP Perl library could workaround this problem.
If you encounter the 'Time synchronization failed during discovery' error using the perl Net::SNMP library there may be a fairly easy
...
work around.
...
It may be as easy as editing the Net::SNMP module to not invoke this error.
...
The following advice should be executed as root.
The following was done with the Net::SNMP Version 6.0.1 package. If this library is upgraded, this patch may need to be reapplied.
Find Net::SNMP
In order to find where Net::SNMP is on the subject system issue the following command.
...
Code Block |
---|
$ diff -bu SNMP.pm.original SNMP.pm.patched --- SNMP.pm.original 2018-01-26 08:36:28.833348881 +0900 +++ SNMP.pm.patched 2018-01-26 14:25:42.798070662 +0900 @@ -2617,8 +2617,9 @@ # counter in the varBindList..." If another error is returned, we # assume that the synchronization has failed. - if (($this->{_security}->discovered()) && - ($this->{_error} =~ /usmStatsNotInTimeWindows/)) + if ($this->{_security}->discovered()) + #if (($this->{_security}->discovered()) && + # ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { $this->_error_clear(); DEBUG_INFO('discovery and synchronization complete'); @@ -2628,10 +2629,10 @@ # If we received the usmStatsNotInTimeWindows report or no error, but # we are still not synchronized, provide a generic error message. - if ((!$this->{_error}) || ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { - $this->_error_clear(); - $this->_error('Time synchronization failed during discovery'); - } + #if ((!$this->{_error}) || ($this->{_error} =~ /usmStatsNotInTimeWindows/)) { + # $this->_error_clear(); + # $this->_error('Time synchronization failed during discovery'); + #} DEBUG_INFO('synchronization failed'); |
Complete files:
...