diff options
author | Erlang/OTP <[email protected]> | 2009-11-20 14:54:40 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2009-11-20 14:54:40 +0000 |
commit | 84adefa331c4159d432d22840663c38f155cd4c1 (patch) | |
tree | bff9a9c66adda4df2106dfd0e5c053ab182a12bd /lib/snmp/doc/src/snmp_manager_netif.xml | |
download | otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.gz otp-84adefa331c4159d432d22840663c38f155cd4c1.tar.bz2 otp-84adefa331c4159d432d22840663c38f155cd4c1.zip |
The R13B03 release.OTP_R13B03
Diffstat (limited to 'lib/snmp/doc/src/snmp_manager_netif.xml')
-rw-r--r-- | lib/snmp/doc/src/snmp_manager_netif.xml | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/lib/snmp/doc/src/snmp_manager_netif.xml b/lib/snmp/doc/src/snmp_manager_netif.xml new file mode 100644 index 0000000000..2738ca76c1 --- /dev/null +++ b/lib/snmp/doc/src/snmp_manager_netif.xml @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="latin1" ?> +<!DOCTYPE chapter SYSTEM "chapter.dtd"> + +<chapter> + <header> + <copyright> + <year>2004</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> + </copyright> + <legalnotice> + The contents of this file are subject to the Erlang Public License, + Version 1.1, (the "License"); you may not use this file except in + compliance with the License. You should have received a copy of the + Erlang Public License along with this software. If not, it can be + retrieved online at http://www.erlang.org/. + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + </legalnotice> + + <title>Definition of Manager Net if</title> + <prepared></prepared> + <responsible></responsible> + <docno></docno> + <approved></approved> + <checked></checked> + <date></date> + <rev></rev> + <file>snmp_manager_netif.xml</file> + </header> + <p></p> + <image file="snmp_manager_netif_1.gif"> + <icaption>The Purpose of Manager Net if</icaption> + </image> + <p>The Network Interface (Net if) process delivers SNMP PDUs to the + manager server, and receives SNMP PDUs from the manager server. + The most common behaviour of a Net if process is that is receives + request PDU from the manager server, encodes the PDU into bytes + and transmits the bytes onto the network to an agent. When the + reply from the agent is received by the Net if process, which it + decodes into an SNMP PDU, which it sends to the manager server. + </p> + <p>However, that simple behaviour can be modified in numerous + ways. For example, the Net if process can apply some kind of + encrypting/decrypting scheme on the bytes. + </p> + <p>It is also possible to write your own Net if process. The default + Net if process is implemented in the module <c>snmpm_net_if</c> and + it uses UDP as the transport protocol. + </p> + <p>This section describes how to write a Net if process. + </p> + + <section> + <marker id="mandatory_functions"></marker> + <title>Mandatory Functions</title> + <p>A Net if process must implement the SNMP manager + <seealso marker="snmpm_network_interface">network interface behaviour</seealso>. + </p> + </section> + + <section> + <title>Messages</title> + <p>The section <em>Messages</em> describes mandatory messages, which + Net if must send to the manager server process. + </p> + <p>Net if must send the following message when it receives an + SNMP PDU from the network that is aimed for the MasterAgent: + </p> + <pre> +Server ! {snmp_pdu, Pdu, Addr, Port} + </pre> + <list type="bulleted"> + <item> + <p><c>Pdu</c> is an SNMP PDU record, as defined in + <c>snmp_types.hrl</c>, with the SNMP request.</p> + </item> + <item> + <p><c>Addr</c> is the source address. </p> + </item> + <item> + <p><c>Port</c> is port number of the sender.</p> + </item> + </list> + <pre> +Server ! {snmp_trap, Trap, Addr, Port} + </pre> + <list type="bulleted"> + <item> + <p><c>Trap</c> is either an SNMP pdu record or an trappdu record, + as defined in <c>snmp_types.hrl</c>, with the SNMP request.</p> + </item> + <item> + <p><c>Addr</c> is the source address. </p> + </item> + <item> + <p><c>Port</c> is port number of the sender.</p> + </item> + </list> + <pre> +Server ! {snmp_inform, Ref, Pdu, PduMS, Addr, Port} + </pre> + <list type="bulleted"> + <item> + <p><c>Ref</c> is either the atom <c>ignore</c> or something + that can be used to identify the inform-request (e.g. request-id). + <c>ignore</c> is used if the response (acknowledgment) to the + inform-request has already been sent (this means that the server + will not make the call to the + <seealso marker="snmpm_network_interface#inform_response">inform_response</seealso> + function). See the + <seealso marker="snmp_app">inform request behaviour</seealso> + configuration option for more info.</p> + </item> + <item> + <p><c>Pdu</c> is an SNMP PDU record, as defined in + <c>snmp_types.hrl</c>, with the SNMP request.</p> + </item> + <item> + <p><c>Addr</c> is the source address. </p> + </item> + <item> + <p><c>Port</c> is port number of the sender.</p> + </item> + </list> + <pre> +Server ! {snmp_report, Data, Addr, Port} + </pre> + <list type="bulleted"> + <item> + <p><c>Data</c> is either <c>{ok, Pdu}</c> or + <c>{error, ReqId, ReasonInfo, Pdu}</c>. Which one is used depends + on the return value from the MPD + <seealso marker="snmpm_mpd#process_msg">process_msg</seealso> function. If the MsgData is <c>ok</c>, + the first is used, and if it is <c>{error, ReqId, Reason}</c> + the latter is used.</p> + </item> + <item> + <p><c>Pdu</c> is an SNMP PDU record, as defined in + <c>snmp_types.hrl</c>, with the SNMP request.</p> + </item> + <item> + <p><c>ReqId</c> is an integer.</p> + </item> + <item> + <p><c>ReasonInfo</c> is a term().</p> + </item> + <item> + <p><c>Addr</c> is the source address. </p> + </item> + <item> + <p><c>Port</c> is port number of the sender.</p> + </item> + </list> + + <section> + <title>Notes</title> + <p>Since the Net if process is responsible for encoding and + decoding of SNMP messages, it must also update the relevant + counters in the SNMP group in MIB-II. It can use the functions + in the module <c>snmpm_mpd</c> for this purpose (refer to the + Reference Manual, section <c>snmp</c>, module <c>snmpm_mpd</c> + for more details). + </p> + <p>There are also some useful functions for encoding and + decoding of SNMP messages in the module <c>snmp_pdus</c>. + </p> + </section> + </section> +</chapter> + |