Hi, I would like to report was looks like a bug in snmpd.
When walking on the ifTable my client crashes when walking over 10G interfaces. Tcpdump shows that ifSpeed (1.3.6.1.2.1.2.2.1.5) is sending the value 10000000000 (10Gbps). But ifSpeed is of type GAUGE and maxes out at 2^32-1 (4Gbps-1). My MIB browser states : "An estimate of the interface's current bandwidth in bits per second. For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. If the bandwidth of the interface is greater than the maximum value reportable by this object then this object should report its maximum value (4,294,967,295) and ifHighSpeed must be used to report the interace's speed. For a sub-layer which has no concept of bandwidth, this object should be zero." So I guess the case block at line 1111 in /usr.sbin/snmpd/mib.c should read : case 5: i = kif->if_baudrate >= 4294967295 ? 4294967295 : kif->if_baudrate ; ber = ber_add_integer(ber, i); ber_set_header(ber, BER_CLASS_APPLICATION, SNMP_T_GAUGE32); break; instead of case 5: ber = ber_add_integer(ber, kif->if_baudrate); ber_set_header(ber, BER_CLASS_APPLICATION, SNMP_T_GAUGE32); break; Is my assumption correct or have I missed something ? I'm gonna give it a try while a fix perhaps makes its way in the next release or patches. Have a nice day and thanks for your nice work in OpenBSD ! Best regards Arnaud