gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:32:28 26 4
gpt4 key购买 nike

我有以下代码来解析名为 mibp 的文件夹中的 mib。

#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);
}

当我运行它时,出现如下错误

 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 搜索路径的更改是否有效。它给了我这个错误为什么。

netsnmp_init_mib();有什么用

也告诉我

  1. 我将使用哪个函数来更改 MIB 搜索目录。
  2. netsnmp_set_mib_directory() 函数有什么用。
  3. 如果我想添加一个 MIB,那么是否可以仅提供该 MIB 的路径,或者必须将其包含在先前存在所有 MIB 的路径中,因为这样做时我会遇到错误。
  4. read_all_mibs() 和 read_mib() 之间的区别是什么;

请告诉我一些想法。

最佳答案

它试图包含您的 MIB 所依赖的其他 MIB。它可能会找到您的特定 MIB。只需在默认 MIB 所在的位置添加另一个 add_mibdir()

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

关于c - 如何更改默认的 MIB 搜索路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13284316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com