Net SNMP在MIB模块之间共享变量

Net SNMP在MIB模块之间共享变量,snmp,net-snmp,Snmp,Net Snmp,我已经编写了多个需要在它们之间共享全局结构的网络SNMP MIB模块 我想到的选择是: 找到让2个或更多MIB模块使用公共代码的方法。(不确定这是否可行) 在初始化模块功能期间,将MIB模块组合成一个MIB模块设置结构。(这种做法不好吗?模块中大约有10个处理程序) Linux共享内存(实际上不希望这样做) 其他资料: MIB模块正在编译到主代理中。这取决于这些“不同的MIB模块”实际上是什么: 来自不同MIB文件的对象不执行此操作,因为通用代码将违反某些标准(一个MIB文件表示一个特定代理;

我已经编写了多个需要在它们之间共享全局结构的网络SNMP MIB模块

我想到的选择是:

  • 找到让2个或更多MIB模块使用公共代码的方法。(不确定这是否可行)
  • 在初始化模块功能期间,将MIB模块组合成一个MIB模块设置结构。(这种做法不好吗?模块中大约有10个处理程序)
  • Linux共享内存(实际上不希望这样做)
  • 其他资料: MIB模块正在编译到主代理中。

    这取决于这些“不同的MIB模块”实际上是什么:

    • 来自不同MIB文件的对象不执行此操作,因为通用代码将违反某些标准(一个MIB文件表示一个特定代理;代理不知道其他代理)
    • 来自同一MIB的不同对象(在这个标量和表中)-是的,可以,但我不建议这样做。最好单独为表使用一些特定的API函数,因为它们可能非常有用
    • 来自同一分支的标量(如MIB-2 MIB的1.3.6.1.2.1.5 icmp分支),这将是泛化代码的好选择。这里可以使用标量组处理程序
    这取决于这些“不同的MIB模块”实际上是什么:

    • 来自不同MIB文件的对象不执行此操作,因为通用代码将违反某些标准(一个MIB文件表示一个特定代理;代理不知道其他代理)
    • 来自同一MIB的不同对象(在这个标量和表中)-是的,可以,但我不建议这样做。最好单独为表使用一些特定的API函数,因为它们可能非常有用
    • 来自同一分支的标量(如MIB-2 MIB的1.3.6.1.2.1.5 icmp分支),这将是泛化代码的好选择。这里可以使用标量组处理程序