table of contents
other versions
- jessie 1:17.3-dfsg-4+deb8u2
- jessie-backports 1:19.2.1+dfsg-2+deb9u1~bpo8+1
- stretch 1:19.2.1+dfsg-2+deb9u2
- testing 1:21.2.5+dfsg-1
- unstable 1:21.2.6+dfsg-1
- experimental 1:22.0~rc1+dfsg-1
snmpa_mpd(3erl) | Erlang Module Definition | snmpa_mpd(3erl) |
NAME¶
snmpa_mpd - Message Processing and Dispatch module for the SNMP agentDESCRIPTION¶
The module snmpa_mpd implements the version independent Message Processing and Dispatch functionality in SNMP for the agent. It is supposed to be used from a Network Interface process ( Definition of Agent Net if).DATA TYPES¶
See the data types in snmpa_conf.EXPORTS¶
init(Vsns) -> mpd_state()
Types:
Vsns = [Vsn]
Vsn = v1 | v2 | v3
This function can be called from the net_if process at start-up. The options
list defines which versions to use.
It also initializes some SNMP counters.
process_packet(Packet, From, State, NoteStore, Log) -> {ok, Vsn, Pdu,
PduMS, ACMData} | {discarded, Reason} | {discovery, DiscoPacket}
Types:
Packet = binary()
From = {TDomain, TAddr}
TDomain = transportDomainUdpIpv4 | transportDomainUdpIpv6
TAddr = {IpAddr, IpPort}
LocalEngineID = string()
IpAddr = inet:ip_address()
IpPort = inet:port_number()
State = mpd_state()
NoteStore = pid()
Log = snmp_log()
Vsn = 'version-1' | 'version-2' | 'version-3'
Pdu = #pdu
PduMs = integer()
ACMData = acm_data()
Reason = term()
DiscoPacket = binary()
Processes an incoming packet. Performs authentication and decryption as
necessary. The return values should be passed to the agent.
generate_response_msg(Vsn, RePdu, Type, ACMData, Log) -> {ok, Packet} |
{discarded, Reason}
Note:
Note that the use of the LocalEngineID argument is only intended for special
cases, if the agent is to "emulate" multiple EngineIDs! By default,
the agent uses the value of SnmpEngineID (see SNMP-FRAMEWORK-MIB).
Types:
Vsn = 'version-1' | 'version-2' | 'version-3'
RePdu = #pdu
Type = atom()
ACMData = acm_data()
LocalEngineID = string()
Packet = binary()
Generates a possibly encrypted response packet to be sent to the network.
Type is the #pdu.type of the original request.
generate_msg(Vsn, NoteStore, Pdu, MsgData, To) -> {ok,
PacketsAndAddresses} | {discarded, Reason}
Note:
Note that the use of the LocalEngineID argument is only intended for special
cases, if the agent is to "emulate" multiple EngineIDs! By default,
the agent uses the value of SnmpEngineID (see SNMP-FRAMEWORK-MIB).
Types:
Vsn = 'version-1' | 'version-2' | 'version-3'
NoteStore = pid()
Pdu = #pdu
MsgData = msg_data()
LocalEngineID = string()
To = [dest_addrs()]
PacketsAndAddresses = [{TDomain, TAddress, Packet}]
TDomain = snmpUDPDomain
TAddress = {Ip, Udp}
Ip = {integer(), integer(), integer(), integer()}
Udp = integer()
Packet = binary()
Generates a possibly encrypted request packet to be sent to the network.
MsgData is the message specific data used in the SNMP message. This value
is received in a send_pdu or send_pdu_req message
from the agent. In SNMPv1 and SNMPv2c, this message data is the community
string. In SNMPv3, it is the context information.
To is a list of destination addresses and their corresponding security
parameters. This value is received in the same message from the agent and then
transformed trough process_taddrs before passed to this
function.
process_taddrs(TDests) -> Dests
Note:
Note that the use of the LocalEngineID argument is only intended for special
cases, if the agent is to "emulate" multiple EngineIDs! By default,
the agent uses the value of SnmpEngineID (see SNMP-FRAMEWORK-MIB).
Types:
TDests = [TDest]
TDest = {{TDomain, TAddr}, SecData} | {TDomain, TAddr}
TDomain = term() % Not at tuple
TAddr = term()
SecData = term()
Dests = [Dest]
Dest = {{Domain, Addr}, SecData} | {Domain, Addr}
Domain = transportDomain()
Addr = transportAddress() % Depends on Domain
Transforms addresses from internal MIB format to one more useful to Agent Net
if.
See also generate_msg.
discarded_pdu(Variable) -> void()
Types:
Variable = atom()
Increments the variable associated with a discarded pdu. This function can be
used when the net_if process receives a discarded_pdu message from the
agent.
snmp 5.1 | Ericsson AB |