首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何更改默认的MIB搜索路径?

如何更改默认的MIB搜索路径?
EN

Stack Overflow用户
提问于 2012-11-08 07:19:19
回答 1查看 8.9K关注 0票数 3

下面的代码用于解析名为mibp的文件夹中的mibp。

代码语言:javascript
运行
复制
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <string.h>
#include<stdlib.h>

int main(int argc, char ** argv)
{

FILE *fp=NULL;
fp=fopen("/root/mib2.txt","w");
if (fp == NULL )
{
printf("error");;
exit(2);
}  

netsnmp_init_mib();

add_mibdir("/home/pradipta/snmp/share/snmp/mibp");
//netsnmp_set_mib_directory( "/home/pradipta/snmp/share/snmp/mibp" );

struct tree *node;
//node=read_all_mibs();
node=read_mib("/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt");
print_subtree(fp,node,0);
}

当我运行这个程序时,我会犯以下错误

代码语言:javascript
运行
复制
 MIB search path: /root/.snmp/mibs:/home/pradipta/snmp/share/snmp/mibs
Cannot find module (SNMPv2-MIB): At line 1 in (none)
Cannot find module (IF-MIB): At line 1 in (none)
Cannot find module (IP-MIB): At line 1 in (none)
Cannot find module (TCP-MIB): At line 1 in (none)
Cannot find module (UDP-MIB): At line 1 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 1 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 1 in (none)
Cannot find module (SNMPv2-SMI): At line 6 in /home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt
Cannot find module (SNMPv2-TC): At line 10 in /home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt
Cannot find module (IF-MIB): At line 12 in /home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt
Did not find 'mib-2' in module #-1 (/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt)
Did not find 'transmission' in module #-1 (/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt)
Did not find 'TruthValue' in module #-1 (/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt)
Did not find 'ifIndex' in module #-1 (/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt)
Did not find 'InterfaceIndex' in module #-1 (/home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt)
Unlinked OID in EtherLike-MIB: etherMIB ::= { mib-2 35 }
Undefined identifier: mib-2 near line 14 of /home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt
Unlinked OID in EtherLike-MIB: dot3 ::= { transmission 7 }
Undefined identifier: transmission near line 118 of /home/pradipta/snmp/share/snmp/mibp/EtherLike-MIB.txt

我已经将文件夹名mibs更改为mibp,并将其添加到代码中,以测试mib搜索路径的更改,或者not.it给了我这个错误的原因。

netsnmp_init_mib();的用途是什么?

也告诉我

  1. 我将使用哪个函数来更改MIB搜索目录。
  2. 函数netsnmp_set_mib_directory()的用途是什么?
  3. 如果我想添加一个MIB,那么是否可以只给出MIB的路径,或者必须将其包含在以前所有MIB都存在的路径中,因为我在这样做时会出现错误。
  4. 另外,read_all_mibs() and read_mib()之间的区别是什么?

请告诉我一些想法。

EN

回答 1

Stack Overflow用户

发布于 2012-11-09 05:49:35

它试图包括你的MIB所依赖的其他MIB。很可能是找到了你的具体信息。只需在默认MIB所在的地方添加另一个add_mibdir()即可。

add_mibdir("/usr/local/where/my/default/RFC/mibs/are");

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13284316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档