Я застрял в проблеме преобразования SNMP OID на пару дней. У нас есть программа cpp для опроса кабельного модема, в настоящее время мы портировали это приложение с Solaris 10 на Linux 6.3, все работало нормально, пока мы не обнаружили, что у него возникла проблема с прерыванием SNMP на платформе RHEL 6.3.
После некоторого исследования выясняется, что один и тот же OID был преобразован в разные строки для этих двух платформ ОС, например:
snmpTrapOID: .1.3.6.1.4.1.4998.1.1.10.1.0.16
на солярисе 10: это интерпретируется как cmResetMacAddress: 0015CF5B6B0B (MAC-адрес), однако, на RHEL 6.3:, это показывает предприятия: 0015CF5B6B0B
До сих пор не знаю, как действовать дальше и как решить эту проблему, так как мы не делали никаких изменений в бизнес-логике, например, как конвертировать OID, только обновить некоторые системные вызовы, чтобы эта программа могла быть запущена в Linux, которая не имеет ничего общего с делать с SNMP вещи, было бы признательно за любые комментарии.
SNMP OID для преобразования имени требует наличия соответствующих документов MIB.
4998 — это идентификатор предприятия для Cadant Inc.,
http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers
Таким образом, в вашем случае вам нужно проверить, куда вы помещаете документы MIB Cadant в Solaris, а затем переместите их в RHEL (убедитесь, что вы поместили их в правильное место).
Других решений пока нет …