Я хочу реализовать SNMP-агент для платы PowerPC, используя net-snmp. Ранее это было реализовано с помощью SMASH. SMASH имеет синтаксический анализатор, который может читать MIB и генерировать код C (пустая реализация функции)
Как начать?
Я хочу реализовать SNMP-агент для платы PowerPC, используя net-snmp. Ранее это было реализовано с помощью SMASH. SMASH имеет синтаксический анализатор, который может читать MIB и генерировать код C (пустая реализация функции)
Как начать?
Попробуйте посмотреть на инструмент mib2c от net- snmp. Он сгенерирует код C агента snmp из MIB. Затем вам нужно только выполнить возвращаемые значения для запросов SNMP. Скелет ответа на запросы SNMP (получить, установить, получить-следующий) автоматически выполняется путем генерации.
Можете ли вы взглянуть на Написание модуля MIB руководство.
There is currently no text in this page
- person Benyamin Jafari; 26.08.2018
У меня был другой подход к этому. Чтобы лучше интегрироваться с моей экосистемой C++ и получить большую гибкость (особенно в масштабе), я:
snmptranslate
(то есть дерево MIB) анализировался в набор карт C++ и других контейнеров для использования в коде.Это сделало генерацию уведомлений тривиальной (мне просто понадобились некоторые типы вариантов для создания varbinds, немного построения PDU, а затем я оставил все остальное транспортной функции Net-SNMP), хотя для запросов мне тогда пришлось самому реализовать обход таблицы (и GetNext/GetBulk/Set не являются тривиальными, если вы не избегаете всех таблиц или, по крайней мере, не избегаете таблиц с составным индексом).
В результате получается быстрый, надежный и масштабируемый SNMP-агент с выразительным кодом, который легко поддерживать и расширять.
Вы не говорите, что используете C++, но это дает представление о том, как вы можете выбрать функциональность Net-SNMP, не обязательно покупая всю его экосистему.
Обратите внимание, что я понятия не имею, как SNMPv3 впишется в эту модель; Я благоразумно ушел из компании до того, как это стало моей проблемой. :)