Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2.2_all bug

NAME

       snmpa_mpd - Message Processing and Dispatch module for the SNMP agent

DESCRIPTION

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

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, TDomain, TAddress, State, NoteStore, Log) -> {ok, Vsn, Pdu,  PduMS,
       ACMData} | {discarded, Reason} | {discovery, DiscoPacket}
       process_packet(Packet,  TDomain,  TAddress,  LocalEngineID, State, NoteStore, Log) -> {ok,
       Vsn, Pdu, PduMS, ACMData} | {discarded, Reason} | {discovery, DiscoPacket}

              Types:

                 Packet = binary()
                 TDomain = snmpUDPDomain
                 TAddress = {Ip, Udp}
                 LocalEngineID = string()
                 Ip = {integer(), integer(), integer(), integer()}
                 Udp = integer()
                 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 the agent.

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

       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}

              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.

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

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

              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 the destination addresses and their corresponding
              security parameters. This value is also received from the requests mentioned above.

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

       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.