1、v3_MP = new v3MP(engineID, snmpEngineBoots, construct_status)
engineID是开发者自己随意设置,无影响
2、pdu.set_context_name (contextName);
pdu.set_context_engine_id(contextEngineID);
contextEngineID和contextName是指代理端的要访问的上下方和引擎id。
我在用交换机做测试时,发现这两个参数都设置为空即可,调用get等相关操作时,snmp++会从代理端获取代理的引擎id,并设置到这个值。直接设置成代理引擎id,也没问题。
3、get操作可以一次获取一个或多个项的值(如系统名)
set操作可以一次设置一个或多个项的值(如系统名)
getnext操作可以顺序获取一个或多个指定项的值(如路由表),一次操作返回一个或多个请求项的值,循环操作可顺序取出表中一个或多个请求项的值,直到返回的oid不是请求的oid的子树为止
getbulk操作可以批量取出指定一个或多个项值,non_repeaters指定开头的多少项是get操作,max_reps指定后续的几项以getnext操作的最大次数。 假定指定m项,non_repeaters为n,max_reps为l,则最后取得的结果数: n + (m-n)*l
trap和inform都是代理通知管理端,trap无应答无重发,inform有应答,超时重发。
4、get/set/getnext/getbulk操作时,add_usm_user的参数要与代理端的配置相一致;管理端接收trap/inform时,代理端要有与管理端add_usm_user的参数相一致的用户及相关配置
USM *usm = v3_MP->get_usm();
usm->add_usm_user(securityName,
authProtocol, privProtocol,
authPassword, privPassword);