snmpa_mpd(3)



snmpa_mpd(3erl)            Erlang Module Definition            snmpa_mpd(3erl)

NAME
       snmpa_mpd - Message Processing and Dispatch module for the SNMP agent

DESCRIPTION
       The  module  snmpa_mpd  implements the version independent Message Pro-
       cessing and Dispatch functionality in SNMP for the agent.  It  is  sup-
       posed  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}
       process_packet(Packet, From, LocalEngineID, State, NoteStore,  Log)  ->
       {ok, Vsn, Pdu, PduMS, ACMData} | {discarded, Reason} | {discovery, Dis-
       coPacket}

              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  de-
              cryption as necessary. The return values should be passed to the
              agent.

          Note:
              Note that the use of the LocalEngineID argument is only intended
              for  special  cases,  if  the agent is to "emulate" multiple En-
              gineIDs! 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 En-
              gineIDs! By default, the agent uses the  value  of  SnmpEngineID
              (see SNMP-FRAMEWORK-MIB).

       generate_msg(Vsn,  NoteStore,  Pdu,  MsgData, To) -> {ok, PacketsAndAd-
       dresses} | {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 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.

          Note:
              Note that the use of the LocalEngineID argument is only intended
              for  special  cases,  if  the agent is to "emulate" multiple En-
              gineIDs! By default, the agent uses the  value  of  SnmpEngineID
              (see SNMP-FRAMEWORK-MIB).

       process_taddrs(TDests) -> Dests

              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 dis-
              carded_pdu message from the agent.

Ericsson AB                        snmp 5.6                    snmpa_mpd(3erl)

Man(1) output converted with man2html
list of all man pages