-
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] snmpv3 usmStatsNotInTimeWindows #56
Comments
|
It's an old problem already seen with easysnmp : easysnmp/easysnmp#146 @carlkidcrypto you're right, it should not happen to have different devices with the same EngineId. But, we can't avoid that, and when it happens, the library should not fail, isn't it ? |
yes, @Guens thanks for linking the issue. I was looking at it trying to figure out how to quote it here. |
@carlkidcrypto First of all, I want to thank you to take over easysnmp/ezsnmp. It's important for python/snmp community. You're correct, I reffered to the end devices. We can't always avoid misconfigured devices with the same EngineId. Whatever RFC compliancy of the devices, I think library results should be consistent. I mean this code : s1 = ezsnmp.Session(hostname="10.246.93.192", **snmp_opts)
s2 = ezsnmp.Session(hostname="10.246.93.193", **snmp_opts)
print(f"s2 = {s2.get(oid)}")
print(f"s1 = {s1.get(oid)}") with this result :
should have the same result as this code (s1 & s2 reversed) : s1 = ezsnmp.Session(hostname="10.246.93.192", **snmp_opts)
s2 = ezsnmp.Session(hostname="10.246.93.193", **snmp_opts)
print(f"s1 = {s1.get(oid)}")
print(f"s2 = {s2.get(oid)}")
|
Thanks @carlkidcrypto |
Yes, I was working on that, but my CI for it seems to be broken. I am attempting to fix it. If I can't I'll just release one manually. |
Sorry @carlkidcrypto I just tried with the "rc4" and it doesn't change anything. Depending on the order of the "session get", result is not consistent between 2 end devices with the same EngineId. |
EzSNMP release version OR commit number
1.0.0
Operating System and Version
Net-SNMP Library Version
Describe the bug
When connecting to multiple devices via multithreading, the net-snmp user caching will also cache the engine id, boots, time with the user. Thus as it connects to multiple different devices can cause either blocking or interrupting with error "usmStatsNotInTimeWindows".
To Reproduce
Haven't worked extensively with snmpd so not sure if you could create multiple engines with differing time/boots/engineids.
Expected behavior
Each thread gets it's own caching/memory to avoid clashing.
Additional context
To bypass this issue within python, have switched to using multi-processing in python instead to give each their own space. Not sure how feasible it would be to correct the issue on the same process.
The text was updated successfully, but these errors were encountered: