aboutsummaryrefslogtreecommitdiffstats
path: root/lib/snmp/doc/src/snmp_app.xml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/snmp/doc/src/snmp_app.xml')
-rw-r--r--lib/snmp/doc/src/snmp_app.xml708
1 files changed, 708 insertions, 0 deletions
diff --git a/lib/snmp/doc/src/snmp_app.xml b/lib/snmp/doc/src/snmp_app.xml
new file mode 100644
index 0000000000..460f0b8018
--- /dev/null
+++ b/lib/snmp/doc/src/snmp_app.xml
@@ -0,0 +1,708 @@
+<?xml version="1.0" encoding="latin1" ?>
+<!DOCTYPE appref SYSTEM "appref.dtd">
+
+<appref>
+ <header>
+ <copyright>
+ <year>1997</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>snmp</title>
+ <prepared></prepared>
+ <responsible></responsible>
+ <docno></docno>
+ <approved></approved>
+ <checked></checked>
+ <date></date>
+ <rev></rev>
+ <file>snmp.xml</file>
+ </header>
+ <app>snmp</app>
+ <appsummary>The SNMP Application</appsummary>
+ <description>
+ <p>This chapter describes the <c>snmp</c>
+ application in OTP. The SNMP application provides the following
+ services:</p>
+ <list type="bulleted">
+ <item>
+ <p>a multilingual extensible SNMP agent</p>
+ </item>
+ <item>
+ <p>a SNMP manager</p>
+ </item>
+ <item>
+ <p>a MIB compiler</p>
+ </item>
+ </list>
+
+ </description>
+
+ <section>
+ <marker id="configuration_params"></marker>
+ <title>Configuration</title>
+ <p>The following configuration parameters are defined for the SNMP
+ application. Refer to application(3) for more information about
+ configuration parameters.
+ </p>
+
+ <p>The snmp part of the config file specifying the configuration
+ parameters is basically the following tuple:</p>
+ <pre>
+ {snmp, snmp_components_config()}
+ </pre>
+
+ <p>A minimal config file for starting a node with both a manager
+ and an agent:</p>
+ <pre>
+ [{snmp,
+ [{agent, [{db_dir, "/tmp/snmp/agent/db"},
+ {config, [{dir, "/tmp/snmp/agent/conf"}]}]},
+ {manager, [{config, [{dir, "/tmp/snmp/manager/conf"},
+ {db_dir, "/tmp/snmp/manager/db"}]}]}]}
+ ]
+ }
+ ].
+ </pre>
+
+ <p>Each snmp component has it's own set of configuration parameters,
+ even though some of the types are common to both components. </p>
+
+ <!-- Also in snmp_config.xml -->
+
+ <pre>
+ snmp_components_config() -> [snmp_component_config()]
+ snmp_component_config() -> {agent, agent_options()} | {manager, manager_options()}
+ agent_options() = [agent_option()]
+ agent_option() = {restart_type, restart_type()} |
+ {agent_type, agent_type()} |
+ {agent_verbosity, verbosity()} |
+ {discovery, agent_discovery()} |
+ {versions, versions()} |
+ {priority, priority()} |
+ {multi_threaded, multi_threaded()} |
+ {db_dir, db_dir()} |
+ {db_init_error, db_init_error()} |
+ {local_db, local_db()} |
+ {net_if, agent_net_if()} |
+ {mibs, mibs()} |
+ {mib_storage, mib_storage()} |
+ {mib_server, mib_server()} |
+ {audit_trail_log, audit_trail_log()} |
+ {error_report_mod, error_report_mod()} |
+ {note_store, note_store()} |
+ {symbolic_store, symbolic_store()} |
+ {target_cache, target_cache()} |
+ {config, agent_config()}
+ manager_options() = [manager_option()]
+ manager_option() = {restart_type, restart_type()} |
+ {net_if, manager_net_if()} |
+ {server, server()} |
+ {note_store, note_store()} |
+ {config, manager_config()} |
+ {inform_request_behaviour, manager_irb()} |
+ {mibs, manager_mibs()} |
+ {priority, priority()} |
+ {audit_trail_log, audit_trail_log()} |
+ {versions, versions()} |
+ {def_user_mod, def_user_module() |
+ {def_user_data, def_user_data()}
+ </pre>
+
+ <p>Agent specific config options and types:</p>
+ <taglist>
+ <tag><c><![CDATA[agent_type() = master | sub <optional>]]></c></tag>
+ <item>
+ <p>If <c>master</c>, one master agent is
+ started. Otherwise, no agents are started. </p>
+ <p>Default is <c>master</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_discovery() = [agent_discovery_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_discovery_opt() =
+ {terminating, agent_terminating_discovery_opts()} |
+ {originating, agent_originating_discovery_opts()}</c></p>
+ <p>The <c>terminating</c> options effects discovery initiated by
+ a manager. </p>
+ <p>The <c>originating</c> options effects discovery initiated
+ by this agent. </p>
+ <p>For defaults see the options in <c>agent_discovery_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_terminating_discovery_opts() = [agent_terminating_discovery_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_terminating_discovery_opt() =
+ {enable, boolean()} |
+ {stage2, discovery | plain} |
+ {trigger_username, string()}</c></p>
+ <p>These are options effecting discovery <c>terminating</c> in this
+ agent (i.e. initiated by a manager). </p>
+ <p>The default values for the <c>terminating</c>
+ discovery options are: </p>
+ <list type="bulleted">
+ <item>enable: <c>true</c></item>
+ <item>stage2: <c>discovery</c></item>
+ <item>trigger_username: <c>""</c></item>
+ </list>
+ </item>
+
+ <tag><c><![CDATA[agent_originating_discovery_opts() = [agent_originating_discovery_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_originating_discovery_opt() =
+ {enable, boolean()}</c></p>
+ <p>These are options effecting discovery <c>originating</c> in this
+ agent. </p>
+ <p>The default values for the <c>originating</c>
+ discovery options are: </p>
+ <list type="bulleted">
+ <item>enable: <c>true</c></item>
+ </list>
+ </item>
+
+ <tag><c><![CDATA[multi_threaded() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If <c>true</c>, the agent is multi-threaded, with one
+ thread for each get request. </p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[db_dir() = string() <mandatory>]]></c></tag>
+ <item>
+ <p>Defines where the SNMP agent internal db files are stored.</p>
+ </item>
+
+ <tag><c><![CDATA[local_db() = [local_db_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>local_db_opt() = {repair, agent_repair()} | {auto_save, agent_auto_save()} | {verbosity, verbosity()}</c></p>
+ <p>Defines options specific for the SNMP agent local database.</p>
+ <p>For defaults see the options in <c>local_db_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_repair() = false | true | force <optional>]]></c></tag>
+ <item>
+ <p>When starting snmpa_local_db it always tries to open an
+ existing database. If <c>false</c>, and some errors occur, a new
+ database is created instead. If <c>true</c>, an existing file
+ will be repaired. If <c>force</c>, the table will be repaired
+ even if it was properly closed. </p>
+ <p>Default is <c>true</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_auto_save() = integer() | infinity <optional>]]></c></tag>
+ <item>
+ <p>The auto save interval. The table is flushed to disk
+ whenever not accessed for this amount of time.</p>
+ <p>Default is <c>5000</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_net_if() = [agent_net_if_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_net_if_opt() = {module, agent_net_if_module()} | {verbosity, verbosity()} | {options, agent_net_if_options()}</c></p>
+ <p>Defines options specific for the SNMP agent network interface
+ entity. </p>
+ <p>For defaults see the options in <c>agent_net_if_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_net_if_module() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Module which handles the network interface part for the
+ SNMP agent. Must implement the
+ <seealso marker="snmpa_network_interface">snmpa_network_interface</seealso> behaviour.</p>
+ <p>Default is <c>snmpa_net_if</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_net_if_options() = [agent_net_if_option()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_net_if_option() = {bind_to, bind_to()} |
+ {sndbuf, sndbuf()} |
+ {recbuf, recbuf()} |
+ {no_reuse, no_reuse()} |
+ {req_limit, req_limit()} |
+ {filter, agent_net_if_filter_options()}</c></p>
+ <p>These options are actually specific to the used module.
+ The ones shown here are applicable to the default
+ <c>agent_net_if_module()</c>.</p>
+ <p>For defaults see the options in <c>agent_net_if_option()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[req_limit() = integer() | infinity <optional>]]></c></tag>
+ <item>
+ <p>Max number of simultaneous requests handled by the agent.</p>
+ <p>Default is <c>infinity</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_net_if_filter_options() = [agent_net_if_filter_option()] <optional>]]></c></tag>
+ <item>
+ <p><c>agent_net_if_filter_option() = {module, agent_net_if_filter_module()}</c></p>
+ <p>These options are actually specific to the used module.
+ The ones shown here are applicable to the default
+ <c><![CDATA[agent_net_if_filter_module()]]></c>.</p>
+ <p>For defaults see the options in
+ <c>agent_net_if_filter_option()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_net_if_filter_module() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Module which handles the network interface filter part for the
+ SNMP agent. Must implement the
+ <seealso marker="snmpa_network_interface_filter">snmpa_network_interface_filter</seealso> behaviour.</p>
+ <p>Default is <c>snmpa_net_if_filter</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[agent_mibs() = [string()] <optional>]]></c></tag>
+ <item>
+ <p>Specifies a list of MIBs (including path) that defines which MIBs
+ are initially loaded into the SNMP master agent. </p>
+ <p>Note that the following mibs will always be loaded:</p>
+ <list type="bulleted">
+ <item>version v1: <c>STANDARD-MIB</c></item>
+ <item>version v2: <c>SNMPv2</c></item>
+ <item>version v3: <c>SNMPv2</c>, <c>SNMP-FRAMEWORK-MIB</c>
+ and <c>SNMP-MPD-MIB</c></item>
+ </list>
+ <p>Default is <c>[]</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mib_storage() = ets | {ets, Dir} | {ets, Dir, Action} | dets | {dets, Dir} | {dets, Dir, Action} | mnesia | {mnesia, Nodes} | {mnesia, Nodes, Action} <optional>]]></c></tag>
+ <item>
+ <p>Specifies how info retrieved from the mibs will be stored.</p>
+ <p>If <c>mib_storage</c> is <c>{ets, Dir}</c>, the table will also be
+ stored on file. If <c>Dir</c> is <c>default</c>, then <c>db_dir</c>
+ will be used.</p>
+ <p>If <c>mib_storage</c> is <c>dets</c> or if <c>Dir</c> is
+ <c>default</c>, then <c>db_dir</c> will be used for <c>Dir</c>.</p>
+ <p>If <c>mib_storage</c> is <c>mnesia</c> then <c>erlang:nodes()</c>
+ will be used for <c>Nodes</c>.</p>
+ <p>Default is <c>ets</c>. </p>
+ <p><c>Dir = default | string()</c>. Dir is the directory where the
+ files will be stored. If <c>default</c>, then <c>db_dir</c> will be
+ used.</p>
+ <p><c>Nodes = visible | connected | [node()]</c>.
+ <c>Nodes = visible</c> is translated to
+ <c>erlang:nodes(visible)</c>.
+ <c>Nodes = connected</c> is translated to
+ <c>erlang:nodes(connected)</c>.
+ If <c>Nodes = []</c> then the own node is assumed.</p>
+ <p><c>Action = clear | keep</c>. Default is <c>keep</c>.
+ <c>Action</c> is used to specify what shall be done if the
+ mnesia/dets table already exist.</p>
+ </item>
+
+ <tag><c><![CDATA[mib_server() = [mib_server_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>mib_server_opt() = {mibentry_override, mibentry_override()} | {trapentry_override, trapentry_override()} | {verbosity, verbosity()} | {cache, mibs_cache()}</c></p>
+ <p>Defines options specific for the SNMP agent mib server. </p>
+ <p>For defaults see the options in <c>mib_server_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mibentry_override() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If this value is false, then when loading a mib each mib-
+ entry is checked prior to installation of the mib.
+ The purpose of the check is to prevent that the same symbolic
+ mibentry name is used for different oid's.</p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[trapentry_override() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If this value is false, then when loading a mib each trap
+ is checked prior to installation of the mib.
+ The purpose of the check is to prevent that the same symbolic
+ trap name is used for different trap's.</p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mibs_cache() = bool() | mibs_cache_opts() <optional>]]></c></tag>
+ <item>
+ <p>Shall the agent utilize the mib server lookup cache or not.</p>
+ <p>Default is <c>true</c> (in which case the <c>mibs_cache_opts()</c>
+ default values apply).</p>
+ </item>
+
+ <tag><c><![CDATA[mibs_cache_opts() = [mibs_cache_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>mibs_cache_opt() = {autogc, mibs_cache_autogc()} | {gclimit, mibs_cache_gclimit()} | {age, mibs_cache_age()}</c></p>
+ <p>Defines options specific for the SNMP agent mib server cache. </p>
+ <p>For defaults see the options in <c>mibs_cache_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mibs_cache_autogc() = bool() <optional>]]></c></tag>
+ <item>
+ <p>Defines if the mib server shall perform cache gc automatically or
+ leave it to the user (see
+ <seealso marker="snmpa#gc_mibs_cache">gc_mibs_cache/0,1,2,3</seealso>). </p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mibs_cache_age() = integer() > 0 <optional>]]></c></tag>
+ <item>
+ <p>Defines how old the entries in the cache will be allowed before
+ they are GC'ed (assuming GC is performed). Each entry in the
+ cache is "touched" whenever it is accessed. </p>
+ <p>The age is defined in milliseconds. </p>
+ <p>Default is <c>10 timutes</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[mibs_cache_gclimit() = integer() > 0 | infinity <optional>]]></c></tag>
+ <item>
+ <p>When performing a GC, this is the max number of cache entries
+ that will be deleted from the cache. </p>
+ <p>The reason for having this limit is that if the cache is
+ large, the GC can potentially take a long time, during which
+ the agent is locked. </p>
+ <p>Default is <c>100</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[error_report_mod() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Defines an error report module, implementing the
+ <seealso marker="snmpa_error_report">snmpa_error_report</seealso>
+ behaviour. Two modules are provided with the toolkit:
+ <c>snmpa_error_logger</c> and <c>snmpa_error_io</c>.</p>
+ <p>Default is <c>snmpa_error_logger</c>.</p>
+ </item>
+
+ <tag><c>symbolic_store() = [symbolic_store_opt()]</c></tag>
+ <item>
+ <p><c>symbolic_store_opt() = {verbosity, verbosity()}</c></p>
+ <p>Defines options specific for the SNMP agent symbolic store. </p>
+ <p>For defaults see the options in <c>symbolic_store_opt()</c>.</p>
+ </item>
+
+ <tag><c>target_cache() = [target_cache_opt()]</c></tag>
+ <item>
+ <p><c>target_cache_opt() = {verbosity, verbosity()}</c></p>
+ <p>Defines options specific for the SNMP agent target cache. </p>
+ <p>For defaults see the options in <c>target_cache_opt()</c>.</p>
+ </item>
+ <tag><c><![CDATA[agent_config() = [agent_config_opt()] <mandatory>]]></c></tag>
+ <item>
+ <p><c>agent_config_opt() = {dir, agent_config_dir()} | {force_load, force_load()} | {verbosity, verbosity()}</c></p>
+ <p>Defines specific config related options for the SNMP agent. </p>
+ <p>For defaults see the options in <c>agent_config_opt()</c>.</p>
+ </item>
+ <tag><c><![CDATA[agent_config_dir = dir() <mandatory>]]></c></tag>
+ <item>
+ <p>Defines where the SNMP agent configuration files are stored.</p>
+ </item>
+
+ <tag><c><![CDATA[force_load() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If <c>true</c> the configuration files are re-read
+ during start-up, and the contents of the configuration
+ database ignored. Thus, if <c>true</c>, changes to
+ the configuration database are lost upon reboot of the
+ agent. </p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+ </taglist>
+
+ <p>Manager specific config options and types:</p>
+ <taglist>
+ <tag><c><![CDATA[server() = [server_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>server_opt() = {timeout, server_timeout()} | {verbosity, verbosity()}</c></p>
+ <p>Specifies the options for the manager server process.</p>
+ <p>Default is <c>silence</c>.</p>
+ </item>
+ <tag><c><![CDATA[server_timeout() = integer() <optional>]]></c></tag>
+ <item>
+ <p>Asynchroneous request cleanup time. For every requests,
+ some info is stored internally, in order to be able to
+ deliver the reply (when it arrives) to the proper destination.
+ If the reply arrives, this info will be deleted. But if
+ there is no reply (in time), the info has to be deleted
+ after the <em>best before</em> time has been passed.
+ This cleanup will be performed at regular intervals, defined
+ by the <c>server_timeout()</c> time.
+ The information will have an <em>best before</em> time,
+ defined by the <c>Expire</c> time given when calling the
+ request function (see
+ <seealso marker="snmpm#async_get">async_get</seealso>,
+ <seealso marker="snmpm#async_get_next">async_get_next</seealso> and
+ <seealso marker="snmpm#async_set">async_set</seealso>).</p>
+ <p>Time in milli-seconds.</p>
+ <p>Default is <c>30000</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_config() = [manager_config_opt()] <mandatory>]]></c></tag>
+ <item>
+ <p><c>manager_config_opt() = {dir, manager_config_dir()} | {db_dir, manager_db_dir()} | {db_init_error, db_init_error()} | {repair, manager_repair()} | {auto_save, manager_auto_save()} | {verbosity, verbosity()}</c></p>
+ <p>Defines specific config related options for the SNMP manager. </p>
+ <p>For defaults see the options in <c>manager_config_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_config_dir = dir() <mandatory>]]></c></tag>
+ <item>
+ <p>Defines where the SNMP manager configuration files are stored.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_db_dir = dir() <mandatory>]]></c></tag>
+ <item>
+ <p>Defines where the SNMP manager store persistent data.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_repair() = false | true | force <optional>]]></c></tag>
+ <item>
+ <p>Defines the repair option for the persistent database (if
+ and how the table is repaired when opened). </p>
+ <p>Default is <c>true</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_auto_save() = integer() | infinity <optional>]]></c></tag>
+ <item>
+ <p>The auto save interval. The table is flushed to disk
+ whenever not accessed for this amount of time.</p>
+ <p>Default is <c>5000</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_irb() = auto | user | {user, integer()} <optional>]]></c></tag>
+ <item>
+ <p>This option defines how the manager will handle the sending of
+ response (acknowledgment) to received inform-requests. </p>
+ <list type="bulleted">
+ <item>
+ <p><c>auto</c> - The manager will autonomously send response
+ (acknowledgment&gt; to inform-request messages.</p>
+ </item>
+ <item>
+ <p><c>{user, integer()}</c> - The manager will send response
+ (acknowledgment) to inform-request messages when the
+ <seealso marker="snmpm_user#handle_inform">handle_inform</seealso>
+ function completes. The integer is the time, in milli-seconds,
+ that the manager will consider the stored inform-request info
+ valid.</p>
+ </item>
+ <item>
+ <p><c>user</c> - Same as <c>{user, integer()}</c>, except that
+ the default time, 15 seconds (15000), is used.</p>
+ </item>
+ </list>
+ <p>See
+ <seealso marker="snmpm_network_interface">snmpm_network_interface</seealso>,
+ <seealso marker="snmpm_user">handle_inform</seealso> and
+ <seealso marker="snmp_manager_netif">definition of the manager net if</seealso> for more info.</p>
+ <p>Default is <c>auto</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_mibs() = [string()] <optional>]]></c></tag>
+ <item>
+ <p>Specifies a list of MIBs (including path) and defines which MIBs
+ are initially loaded into the SNMP manager. </p>
+ <p>Default is <c>[]</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_net_if() = [manager_net_if_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>manager_net_if_opt() = {module, manager_net_if_module()} |
+ {verbosity, verbosity()} |
+ {options, manager_net_if_options()}</c></p>
+ <p>Defines options specific for the SNMP manager network interface
+ entity. </p>
+ <p>For defaults see the options in <c>manager_net_if_opt()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_net_if_options() = [manager_net_if_option()] <optional>]]></c></tag>
+ <item>
+ <p><c>manager_net_if_option() = {bind_to, bind_to()} |
+ {sndbuf, sndbuf()} |
+ {recbuf, recbuf()} |
+ {no_reuse, no_reuse()} |
+ {filter, manager_net_if_filter_options()} </c></p>
+ <p>These options are actually specific to the used module.
+ The ones shown here are applicable to the default
+ <c>manager_net_if_module()</c>.</p>
+ <p>For defaults see the options in <c>manager_net_if_option()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_net_if_module() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Module which handles the network interface part for the
+ SNMP manager. Must implement the
+ <seealso marker="snmpm_network_interface">snmpm_network_interface</seealso> behaviour.</p>
+ <p>Default is <c>snmpm_net_if</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_net_if_filter_options() = [manager_net_if_filter_option()] <optional>]]></c></tag>
+ <item>
+ <p><c>manager_net_if_filter_option() = {module, manager_net_if_filter_module()}</c></p>
+ <p>These options are actually specific to the used module.
+ The ones shown here are applicable to the default
+ <c><![CDATA[manager_net_if_filter_module()]]></c>.</p>
+ <p>For defaults see the options in
+ <c>manager_net_if_filter_option()</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[manager_net_if_filter_module() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Module which handles the network interface filter part for the
+ SNMP manager. Must implement the
+ <seealso marker="snmpm_network_interface_filter">snmpm_network_interface_filter</seealso> behaviour.</p>
+ <p>Default is <c>snmpm_net_if_filter</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[def_user_module() = atom() <optional>]]></c></tag>
+ <item>
+ <p>The module implementing the default user. See the
+ <seealso marker="snmpm_user">snmpm_user</seealso> behaviour.</p>
+ <p>Default is <c>snmpm_user_default</c>.</p>
+ </item>
+
+ <tag><c><![CDATA[def_user_data() = term() <optional>]]></c></tag>
+ <item>
+ <p>Data for the default user. Passed to the user module when
+ calling the callback functions.</p>
+ <p>Default is <c>undefined</c>.</p>
+ </item>
+ </taglist>
+
+ <p>Common config types:</p>
+ <taglist>
+ <tag><c>restart_type() = permanent | transient | temporary</c></tag>
+ <item>
+ <p>See <seealso marker="stdlib:supervisor#child_spec">supervisor</seealso>
+ documentation for more info.</p>
+ <p>Default is <c>permanent</c> for the agent and <c>transient</c>
+ for the manager.</p>
+ </item>
+ <tag><c>db_init_error() = terminate | create</c></tag>
+ <item>
+ <p>Defines what to do if the agent or manager is unable to open an
+ existing database file. <c>terminate</c> means that the
+ agent/manager will terminate and <c>create</c> means that the
+ agent/manager will remove the faulty file(s) and create new ones.</p>
+ <p>Default is <c>terminate</c>.</p>
+ </item>
+ <tag><c><![CDATA[priority() = atom() <optional>]]></c></tag>
+ <item>
+ <p>Defines the Erlang priority for all SNMP processes.</p>
+ <p>Default is <c>normal</c>.</p>
+ </item>
+ <tag><c><![CDATA[versions() = [version()] <optional>]]></c></tag>
+ <item>
+ <p><c>version() = v1 | v2 | v3</c></p>
+ <p>Which SNMP versions shall be accepted/used.</p>
+ <p>Default is <c>[v1,v2,v3]</c>.</p>
+ </item>
+ <tag><c><![CDATA[verbosity() = silence | info | log | debug | trace <optional>]]></c></tag>
+ <item>
+ <p>Verbosity for a SNMP process. This specifies now much debug info
+ is printed.</p>
+ <p>Default is <c>silence</c>.</p>
+ </item>
+ <tag><c><![CDATA[bind_to() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If <c>true</c>, net_if binds to the IP address.
+ If <c>false</c>, net_if listens on any IP address on the host
+ where it is running. </p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+ <tag><c><![CDATA[no_reuse() = bool() <optional>]]></c></tag>
+ <item>
+ <p>If <c>true</c>, net_if does not specify that the IP
+ and port address should be reusable. If <c>false</c>,
+ the address is set to reusable. </p>
+ <p>Default is <c>false</c>.</p>
+ </item>
+ <tag><c><![CDATA[recbuf() = integer() <optional>]]></c></tag>
+ <item>
+ <p>Receive buffer size. </p>
+ <p>Default value is defined by <c>gen_udp</c>.</p>
+ </item>
+ <tag><c><![CDATA[sndbuf() = integer() <optional>]]></c></tag>
+ <item>
+ <p>Send buffer size. </p>
+ <p>Default value is defined by <c>gen_udp</c>.</p>
+ </item>
+ <tag><c><![CDATA[note_store() = [note_store_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>note_store_opt() = {timeout, note_store_timeout()} | {verbosity, verbosity()}</c></p>
+ <p>Specifies the start-up verbosity for the SNMP note store.</p>
+ <p>For defaults see the options in <c>note_store_opt()</c>.</p>
+ </item>
+ <tag><c><![CDATA[note_store_timeout() = integer() <optional>]]></c></tag>
+ <item>
+ <p>Note cleanup time. When storing a note in the note store,
+ each note is given lifetime. Every <c>timeout</c> the note_store
+ process performs a GC to remove the expired note's. Time in
+ milli-seconds.</p>
+ <p>Default is <c>30000</c>.</p>
+ </item>
+ <tag><c><![CDATA[audit_trail_log() = [audit_trail_log_opt()] <optional>]]></c></tag>
+ <item>
+ <p><c>audit_trail_log_opt() = {type, atl_type()} | {dir, atl_dir()} | {size, atl_size()} | {repair, atl_repair()}</c></p>
+ <p>If present, this option specifies the options for the
+ audit trail logging. The <c>disk_log</c> module is used
+ to maintain a wrap log. If present, the <c>dir</c> and
+ <c>size</c> options are mandatory.</p>
+ <p>If not present, audit trail logging is not used.</p>
+ </item>
+ <tag><c><![CDATA[atl_type() = read | write | read_write <optional>]]></c></tag>
+ <item>
+ <p>Specifies what type of an audit trail log should be used.
+ The effect of the type is actually different for the the agent
+ and the manager. </p>
+ <p>For the agent:</p>
+ <list type="bulleted">
+ <item>If <c>write</c> is specified, only set requests are logged. </item>
+ <item>If <c>read</c> is specified, only get requests are logged. </item>
+ <item>If <c>read_write</c>, all requests are logged. </item>
+ </list>
+ <p>For the manager:</p>
+ <list type="bulleted">
+ <item>If <c>write</c> is specified, only sent messages are logged. </item>
+ <item>If <c>read</c> is specified, only received messages are logged. </item>
+ <item>If <c>read_write</c>, both outgoing and incoming messages are
+ logged. </item>
+ </list>
+ <p>Default is <c>read_write</c>.</p>
+ </item>
+ <tag><c><![CDATA[atl_dir = dir() <mandatory>]]></c></tag>
+ <item>
+ <p>Specifies where the audit trail log should be stored.</p>
+ <p>If <c>audit_trail_log</c> specifies that logging should take
+ place, this parameter <em>must</em> be defined.</p>
+ </item>
+ <tag><c><![CDATA[atl_size() = {integer(), integer()} <mandatory>]]></c></tag>
+ <item>
+ <p>Specifies the size of the audit
+ trail log. This parameter is sent to <c>disk_log</c>. </p>
+ <p>If <c>audit_trail_log</c> specifies that logging should
+ take place, this parameter <em>must</em> be defined.</p>
+ </item>
+ <tag><c><![CDATA[atl_repair() = true | false | truncate | snmp_repair <optional>]]></c></tag>
+ <item>
+ <p>Specifies if and how the audit trail log shall be repaired
+ when opened. Unless this parameter has the value <c>snmp_repair</c>
+ it is sent to <c>disk_log</c>. If, on the other hand, the value is
+ <c>snmp_repair</c>, snmp attempts to handle certain faults on it's
+ own. And even if it cannot repair the file, it does not truncate it
+ directly, but instead <em>moves it aside</em> for later off-line
+ analysis.</p>
+ <p>Default is <c>true</c>.</p>
+ </item>
+ </taglist>
+ </section>
+
+ <section>
+ <title>See Also</title>
+ <p>application(3), disk_log(3)</p>
+ </section>
+
+</appref>
+