snmpm_mpd
snmpm_mpd
模块
snmpm_mpd
模块摘要
SNMP管理器的消息处理和发送模块
描述
该模块snmpm_mpd
在SNMP中为管理器实现了与版本无关的消息处理和分派功能。它应该从网络接口进程(Definition of Manager Net if
)中使用。
为了向后兼容的原因process_msg/7
,具有单独的参数IpAddr
和PortNumber
参数的传统API函数仍然像以前一样工作。
输出
init_mpd(Vsns) -> mpd_state()
类型
这个函数可以在启动时从net_if进程调用。选项列表定义了要使用的版本。
它还初始化一些SNMP计数器。
process_msg(Msg, Domain, Addr, State, NoteStore, Logger) -> {ok, Vsn, Pdu, PduMS, MsgData} | {discarded, Reason}
类型
处理传入的消息。根据需要执行身份验证和解密。返回值应该传递给管理器服务器。
NoteStore
是pid()
笔记存储过程。
Logger
用于审计跟踪日志记录的函数。
在pdu类型为报告的情况下,MsgData可以是正常的或{error,ReqId,Reason}。
generate_msg(Vsn, NoteStore, Pdu, MsgData, Logger) -> {ok, Packet} | {discarded, Reason}
类型
生成可能被加密的数据包,以便发送到网络。
NoteStore
是pid()
笔记存储过程。
MsgData
SNMP消息中使用的消息特定数据。在SNMPv 1和SNMPv2c中,这个消息数据是社区字符串。在SNMPv 3中,它是上下文信息。
Logger
用于审计跟踪日志记录的函数。
generate_response_msg(Vsn, Pdu, MsgData, Logger) -> {ok, Packet} | {discarded, Reason}
类型
生成可能被加密的响应包以发送到网络。
MsgData
是SNMP消息中使用的消息特定数据。该值是从该process_msg
函数接收的。