Где устанавливается errindex в netsnmp для неудачного запроса SNMP SET?

Когда errindex должен быть установлен в соответствующее значение в ответном PDU для запроса SNMP SET, который не прошел? Благодарю вас!


person Andrei    schedule 08.02.2011    source источник
comment
Ваш вопрос помечен как net-snmp, но вопрос сформулирован в общем о протоколе, а не об API Net-SNMP. в чем вам нужна помощь?   -  person Wes Hardaker    schedule 08.02.2011
comment
сетевой snmp-API. Я возвращаю сообщение об ошибке из функции обработчика, но я не уверен, как установить индекс ошибки... следовательно, результат (generr) вместо фактической конкретной ошибки, например. SNMP_ERR_BADVALUE   -  person Andrei    schedule 08.02.2011


Ответы (1)


На самом деле вы не устанавливаете индекс ошибок, используя API Net-SNMP. Проблема в том, что ваш цикл по запросам должен фактически всегда возвращать SNMPERR_SUCCESS, чтобы указать, что обработчик преуспел, даже если некоторые из компонентов запроса SNMP не сделали этого.

Чтобы указать, что конкретный запрос не выполнен с сообщением об ошибке, вы должны использовать следующий API:

                    netsnmp_set_request_error(reqinfo, request,
                                              SNMP_NOSUCHOBJECT);

Например. Чтобы выбрать правильную ошибку для возврата, см. раздел 4.2.5 в RFC3416, который имеет хороший пошаговая процедура возврата правильного кода ошибки для данной ситуации.

person Wes Hardaker    schedule 08.02.2011
comment
10 раз! Я действительно скучал по этому... Это было действительно полезно! - person Andrei; 09.02.2011