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