snmpa_network_interface_filter(3erl) [linux man page]
snmpa_network_interface_filter(3erl) Erlang Module Definition snmpa_network_interface_filter(3erl) NAME
snmpa_network_interface_filter - Behaviour module for the SNMP agent network-interface filter. DESCRIPTION
This module defines the behaviour of the agent network interface filter. A snmpa_network_interface_filter compliant module must export the following functions: * accept_recv/2 * accept_send/2 * accept_recv_pdu/3 * accept_send_pdu/2 The semantics of them and their exact signatures are explained below. The purpose of the network interface filter is to allow for filtering of messages (accept or reject) receive and send. This is done on two levels: * The first level is at the UDP entry / exit point, i.e. immediately after the receipt of the message, before any message processing is done (accept_recv) and immediately before sending the message, after all message processing is done (accept_send). * The second level is at the MPD entry / exit point, i.e. immediately after the basic message processing (accept_recv_pdu) / immediately before the basic message processing (accept_send_pdu). Note that the network interface filter is something which is used by the network interface implementation provided by the application ( snmpa_net_if ). The default filter accepts all messages. A network interface filter can e.g. be used during testing or for load regulation. If the intended use is load regulation, see also req_limit and the function register_notification_filter . DATA TYPES
port() = integer() > 0 pdu_type() = 'get-request' | 'get-next-request' | 'get-response' | 'set-request' | trap | 'get-bulk-request' | 'inform-request' | report EXPORTS
accept_recv(Ip, Port) -> boolean() Types Ip = ip_address() Port = port() Called at the reception of a message (before any processing has been done). For the message to be discarded, the function must return false . accept_send(Ip, Port) -> boolean() Types Ip = ip_address() Port = port() Called before the sending of a message (after all processing has been done). For the message to be discarded, the function must return false . accept_recv_pdu(Ip, Port, PduType) -> boolean() Types Ip = ip_address() Port = port() PduType = pdu_type() Called after the basic message processing (MPD) has been done, but before the pdu is handed over to the master-agent for primary processing. For the pdu to be discarded, the function must return false . accept_send_pdu(Targets, PduType) -> Reply Types Targets = targets() targets() = [target()] target() = {ip_address(), port()} PduType = pdu_type() > 0 Reply = boolean() | NewTargets NewTargets = targets() Called before the basic message processing (MPD) is done, when a pdu has been received from the master-agent. For the message to be discarded all together, the function must return false . Note that it is possible for this function to filter out targets (but not add its own) by returning an updated Targets list ( New- Targets ). Ericsson AB snmp 4.19 snmpa_network_interface_filter(3erl)
Check Out this Related Man Page
snmpm_network_interface(3erl) Erlang Module Definition snmpm_network_interface(3erl) NAME
snmpm_network_interface - Behaviour module for the SNMP manager network interface. DESCRIPTION
This module defines the behaviour of the manager network interface. A snmpm_network_interface compliant module must export the following functions: * start_link/2 * stop/1 * send_pdu/7 * inform_response/4 * note_store/2 * info/1 * get_log_type/1 * set_log_type/2 * verbosity/2 The semantics of them and their exact signatures are explained below. EXPORTS
start_link(Server, NoteStore) -> {ok, Pid} | {error, Reason} Types Server = pid() NoteStore = pid() Start-link the network interface process. Server is the pid of the managing process. NoteStore is the pid of the note-store process. stop(Pid) -> void() Types Pid = pid() Stop the network interface process. send_pdu(Pid, Pdu, Vsn, MsgData, Addr, Port, ExtraInfo) -> void() Types Pid = pid() Pdu = pdu() Vsn = 'version-1' | 'version-2' | 'version-3' MsgData = term() Addr = address() Port = integer() ExtraInfo = term() Request the network interface process ( Pid ) to send this pdu ( Pdu ). ExtraInfo is some opaque data that is passed to the net-if process. It originates from the ExtraInfo parameter in the calls to the synchronous get-request , asynchronous get-request , synchronous get-next-request , asynchronous get-next-request , synchronous set- request and asynchronous set-request functions. Whether the net-if process chooses to use this is implementation dependent. The net- if process included in this application ignores it. inform_response(Pid, Ref, Addr, Port) -> void() Types Pid = pid() Ref = term() Addr = address() Port = integer() Instruct the network interface process to send the response (acknowledgment) to an inform-request. Ref is something that can be used to identify the inform-request, e.g. request-id of the inform-request. Addr and Port identifies the agent, from which the inform-request originated. note_store(Pid, NoteStore) -> void() Types Pid = pid() NoteStore = pid() Change the pid of the note-store process. This is used when the server re-starts the note_store (e.g. after a crach). info(Pid) -> [{Key, Value}] Types Pid = pid() The info returned is basically up to the implementer to decide. The implementation provided by this application provides info about memory allocation and various socket information. The info returned by this function is returned together with other info collected by the manager when the info function is called (tagged with the key net_if ). verbosity(Pid, Verbosity) -> void() Types Pid = pid() Verbosity = verbosity() Change the verbosity of the network interface process. get_log_type(Pid) -> {ok, LogType} | {error, Reason} Types Pid = pid() LogType = atl_type() Reason = term() The Audit Trail Log is managed by the network interface process. So, it is this process that has to return the actual log-type. set_log_type(Pid, NewType) -> {ok, OldType} | {error, Reason} Types Pid = pid() NewType = OldType = atl_type() Reason = term() The Audit Trail Log is managed by the network interface process. So, it is this process that has to do the actual changing of the type. See set_log_type for more info. Ericsson AB snmp 4.19 snmpm_network_interface(3erl)