Учебник net-snmp snmpset не удался - PullRequest
2 голосов
/ 28 декабря 2011

Я пытаюсь сделать net-snmp для поддержки моего собственного MIB, но мне это не удалось. Я следовал инструкциям здесь: http://www.net -snmp.org / вики / index.php / TUT:. Writing_a_MIB_Module 1004 *

Тогда я думаю, что, возможно, я мог бы просто использовать файл примера MIB и файл .c и .h, чтобы проверить, работает ли этот пример. Опять же, следуя инструкциям в приведенной выше ссылке, я получаю это на работу:

snmpget -v2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

и я получил это:

NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = INTEGER: 1 (выглядит хорошо).

Но затем я пытаюсь проверить snmpset следующим образом:

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 i 5

или

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = 5

или

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 INTEGER 5

и я получил следующую ошибку:

Error in packet.
Reason: wrongLength (The set value has an illegal length from what the agent expects)
Failed object: NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

Пожалуйста, помогите мне понять, где я поступил неправильно. Все файлы из учебника и я не сделал изменить что-нибудь.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 09 января 2012

Если вы программируете 64-битную цель , может вам помочь

0 голосов
/ 06 июня 2012

Если вы хотите продолжить работу на 64-битной машине, вы можете изменить переменную с int на long:

static int nstAgentModuleObject = 1; ==> static long ..... netsnmp_register_int_instance(....) ==> netsnmp_register_long_instance(....)

...