在线文档教程
Erlang 20

snmpa_mpd

snmpa_mpd

模块

snmpa_mpd

模块摘要

SNMP代理的消息处理和分发模块

描述

模块snmpa_mpd在SNMP中为代理实现与版本无关的消息处理和分派功能。 它应该从网络接口过程中使用(Agent Net的定义if)。

数据类型

参阅data types insnmpa_conf

输出

init(Vsns) -> mpd_state()

类型

这个函数可以在启动时从net_if进程调用。选项列表定义了要使用的版本。

它还初始化一些SNMP计数器。

process_packet(Packet, From, State, NoteStore, Log) -> {ok, Vsn, Pdu, PduMS, ACMData} | {discarded, Reason} | {discovery, DiscoPacket}process_packet(Packet, From, LocalEngineID, State, NoteStore, Log) -> {ok, Vsn, Pdu, PduMS, ACMData} | {discarded, Reason} | {discovery, DiscoPacket}

类型

处理传入的数据包。根据需要执行身份验证和解密。返回值应传递给代理。

请注意,使用LocalEngineID参数仅适用于特殊情况,如果代理要“模拟”多个EngineID!默认情况下,代理使用值SnmpEngineID(请参阅SNMP-FRAMEWORK-MIB)。

generate_response_msg(Vsn, RePdu, Type, ACMData, Log) -> {ok, Packet} | {discarded, Reason}generate_response_msg(Vsn, RePdu, Type, ACMData, LocalEngineID, Log) -> {ok, Packet} | {discarded, Reason}

类型

生成可能加密的响应数据包以发送到网络。Type#pdu.type最初的要求。

请注意,使用LocalEngineID参数仅适用于特殊情况,如果代理要“模拟”多个EngineID!默认情况下,代理使用值SnmpEngineID(请参阅SNMP-FRAMEWORK-MIB)。

generate_msg(Vsn, NoteStore, Pdu, MsgData, To) -> {ok, PacketsAndAddresses} | {discarded, Reason}generate_msg(Vsn, NoteStore, Pdu, MsgData, LocalEngineID, To) -> {ok, PacketsAndAddresses} | {discarded, Reason}

类型

生成一个可能加密的请求数据包发送到网络。

MsgDataSNMP消息中使用的消息特定数据。此值在send_pdusend_pdu_req特工发来的消息。在SNMPv 1和SNMPv2c中,这个消息数据是社区字符串。在SNMPv 3中,它是上下文信息。

To目标地址及其相应的安全参数的列表。此值在来自代理的同一条消息中接收,然后转换为槽。process_taddrs在传递给这个函数之前。

请注意,使用LocalEngineID参数仅适用于特殊情况,如果代理要“模拟”多个EngineID!默认情况下,代理使用值SnmpEngineID(请参阅SNMP-FRAMEWORK-MIB)。

process_taddrs(TDests) -> Dests

类型

将地址从内部MIB格式转换为更有用的地址Agent Net if...

另见generate_msg.

discarded_pdu(Variable) -> void()

类型

增加与丢弃的pdu关联的变量。当net_if进程接收到discarded_pdu来自代理的消息时,可以使用此函数。