如何从net-snmp创建snmp代理

问题描述 投票:3回答:3

我想使用net-snmp为PowerPC板实现SNMP-agent。以前它是使用SMASH实现的。 SMASH有一个解析器可以读取MIB并生成C代码(空白函数实现)

我该如何开始?

snmp net-snmp
3个回答
2
投票

尝试从net-snmp查看mib2c工具。它将从MIB生成snmp代理C代码。然后,您必须只满足SNMP请求的返回值。响应SNMP请求(get,set,get-next)的框架通过生成自动完成。


2
投票

0
投票

我对此采取了不同的方法。为了更好地与我的C ++生态系统集成,并获得更大的灵活性(特别是在规模上),我:

  • 有一个预构建步骤将snmptranslate(即MIB树)的结果解析为一堆C ++映射和其他容器,以便在代码中使用
  • Borrowed Net-SNMP的传输和PDU构建功能
  • 但是服务请求我自己收到后,使用我的C ++地图和我的应用程序已经可用的数据

这使得通知生成变得微不足道(我只需要一些变体类型来生成varbinds,一些PDU构造然后将其余部分留给Net-SNMP的传输功能),尽管对于我所做的请求我必须自己实现表行走(和GetNext /除非你避开所有表,或者至少避免使用复合索引表,否则GetBulk / Set并不简单。

结果是一个快速,强大和可扩展的SNMP代理,具有易于维护和扩展的富有表现力的代码。

你并没有说你正在使用C ++,但这确实让你知道如何在不必购买整个生态系统的情况下挑选Net-SNMP功能。

请注意,我不知道SNMPv3如何适合这个模型;在我成为我的问题之前,我巧妙地离开了公司。 :)

© www.soinside.com 2019 - 2024. All rights reserved.