我想使用net-snmp为PowerPC板实现SNMP-agent。 以前它是使用SMASH实现的。 SMASH有一个解析器 它可以读取MIB并生成C代码(空白函数实现)
我如何开始?
答案 0 :(得分:2)
您是否关注Writing a MIB module tutorial。
答案 1 :(得分:2)
尝试从net-snmp查看mib2c工具。它将从MIB生成snmp代理C代码。然后,您必须只满足SNMP请求的返回值。响应SNMP请求(get,set,get-next)的框架通过生成来自动完成。
答案 2 :(得分:0)
我对此采取了不同的方法。为了更好地与我的C ++生态系统集成并获得更大的灵活性(特别是在规模上),我:
snmptranslate
(即MIB树)的结果解析为一堆C ++映射和其他容器,供代码使用这使得通知的生成变得微不足道(我只需要一些变体类型来生成varbinds,一点PDU的构造,然后将其余的留给Net-SNMP的传输功能),尽管如此,我确实必须自己实现表遍历的请求(除非您避免所有表,或者至少避免使用复合索引表,否则 GetNext / GetBulk / Set 并非无关紧要。
结果是一个快速,健壮和可扩展的SNMP代理,其代理代码易于维护和扩展。
您并不是说您正在使用C ++,但这确实使您了解了如何挑选Net-SNMP功能而不必购买整个生态系统的想法。
请注意,我不知道SNMPv3如何适合该模型。在公司成为我的问题之前,我巧妙地离开了公司。 :)