檢視原始碼 snmpa_discovery_handler 行為 (snmp v5.18)
SNMP 代理程式探索處理器的行為模組。
此模組定義了代理程式探索處理器的行為。符合 snmpa_discovery_handler
的模組必須匯出以下函數
它們的語義及其確切簽名將在下面解釋。
摘要
回呼函數
此函數在探索過程的第一階段結束時被呼叫。它應該返回原子 ignore
或 {ok, usm_entry() | [usm_entry()]}
。有關更多資訊,請參閱 usm_entry() 和 usm_entry/1,3。
回呼函數
-callback stage1_finish(TargetName, ManagerEngineID, ExtraInfo) -> ignore | {ok, UsmEntry | [UsmEntry]} | {ok, UsmEntry | [UsmEntry], NewExtraInfo} when TargetName :: snmp_target_mib:name(), ManagerEngineID :: snmp_framework_mib:engine_id(), ExtraInfo :: term(), UsmEntry :: snmp_user_based_sm_mib:usm_entry(), NewExtraInfo :: term().
此函數在探索過程的第一階段結束時被呼叫。它應該返回原子 ignore
或 {ok, usm_entry() | [usm_entry()]}
。有關更多資訊,請參閱 usm_entry() 和 usm_entry/1,3。
如果函數返回 ignore
,則假設以下情況之一
- 呼叫者(探索函數的呼叫者)稍後會進行所需的更新。
- 回呼函數本身已完成更新。
無論是哪種情況,代理程式都將不執行任何操作,但會返回檢索到的 ManagerEngineID(有關更多資訊,請參閱 snmpa:discovery/6
)並可能繼續進行探索過程的第二階段。
ExtraInfo
參數是從 snmpa:discovery/6
函數傳遞過來的。
此函數可能會返回一個更新後的 NewExtraInfo
,該 NewExtraInfo
將在後續對回呼函數的呼叫中使用。供未來使用。
此函數的目的是產生代理程式中 usm 處理所需的 usm 相關安全資料。具體來說,是更新 usmUserTable。
當返回 usm_entry()
元組(或此類元組的列表)時,此資料會由(主)代理程式新增到 usmUserTable
中。
當返回 usm_entry()
元組(或此類元組的列表)時,此資料會由(主)代理程式新增到 usmUserTable
中。
注意
請注意,該函數不會檢查此條目是否已存在。
注意
請注意,此函數是在主代理程式進程的上下文中執行的。