Вы фактически не устанавливаете индекс ошибки, используя Net-SNMP API. Проблема в том, что ваш цикл по запросам должен всегда возвращать SNMPERR_SUCCESS, чтобы указать, что обработчик завершился успешно, даже если некоторые компоненты запроса SNMP не сделали.
Чтобы указать, что конкретный запрос не выполнен с сообщением об ошибке, вы должны использовать следующий API:
netsnmp_set_request_error(reqinfo, request,
SNMP_NOSUCHOBJECT);
например. Чтобы выбрать правильную ошибку для возврата, см. Раздел 4.2.5 в RFC3416 , в котором есть хорошая пошаговая процедура возврата правильного кода ошибки для данной ситуации.