NETWAYS / NETWAYS/check_interfaces
[Bug]: Hangs querying OpenBSD
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 12
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
Please try to fill out as much of the information below as you can. Thank you!
- Yes, I've searched similar issues on GitHub and didn't find any.
Which version contains the bug?
https://github.com/NETWAYS/check_interfaces/tree/feature/authentication-enhancements
Describe the bug
Querying an OpenBSD system causes the plugin to hang and eventually timeout attempting to obtain the first set of MIBs.
I don't think this issue is related to adding SHA-256 auth support.
The same exact query works with my Linux based systems.
Here is the output of snmpbulkget on the specific OID's being queried when it hangs.
snmpbulkget router .1.3.6.1.2.1.1.3 .1.3.6.1.2.1.2.1 .1.3.6.1.2.1.2.2.1.2
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5852) 0:00:58.52
IF-MIB::ifNumber.0 = INTEGER: 16
IF-MIB::ifDescr.1 = STRING: em0
SNMPv2-MIB::sysContact.0 = STRING: jordan@jwillikers.com
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifDescr.2 = STRING: em1
SNMPv2-MIB::sysName.0 = STRING: router.lan.jwillikers.io
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifDescr.3 = STRING: em2
SNMPv2-MIB::sysLocation.0 = STRING: Living_Room
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifDescr.4 = STRING: em3
SNMPv2-MIB::sysServices.0 = INTEGER: 76
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifDescr.5 = STRING: em4
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
IF-MIB::ifIndex.5 = INTEGER: 5
IF-MIB::ifDescr.6 = STRING: em5
SNMPv2-MIB::sysORIndex.1 = INTEGER: 1
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifDescr.7 = STRING: enc0
SNMPv2-MIB::sysORIndex.2 = INTEGER: 2
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifDescr.8 = STRING: lo0
SNMPv2-MIB::sysORIndex.3 = INTEGER: 3
IF-MIB::ifIndex.8 = INTEGER: 8
IF-MIB::ifDescr.9 = STRING: veb0
SNMPv2-MIB::sysORIndex.4 = INTEGER: 4
IF-MIB::ifIndex.9 = INTEGER: 9
IF-MIB::ifDescr.10 = STRING: vlan2
How to recreate the bug?
$ check_interfaces --auth-proto='SHA-256' --auth-phrase='****' -h router --priv-proto='AES' --priv-phrase='****' --user='user'
[Starting benchmark] Start SNMP session
[Finished benchmark after 13.318007 ms] Start SNMP session
[Starting benchmark] Send SNMP request for OIDs: .1.3.6.1.2.1.1.3, .1.3.6.1.2.1.2.1, .1.3.6.1.2.1.2.2.1.2
[Finished benchmark after 90080.147729 ms] Send SNMP request for OIDs: .1.3.6.1.2.1.1.3, .1.3.6.1.2.1.2.1, .1.3.6.1.2.1.2.2.1.2
Timeout while reading interface descriptions from router
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the check_interfaces command and the listed SNMP request against the OpenBSD router, then compare its behavior with the Linux case. Trace the request that obtains the first MIBs and investigate why it takes about 90 seconds before timing out. Done means the interface descriptions are retrieved without hanging on OpenBSD and the existing Linux behavior remains intact.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- networking, observability-sre
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100