diff options
author | Micael Karlberg <[email protected]> | 2012-02-23 11:07:55 +0100 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2012-02-23 11:07:55 +0100 |
commit | 60cd62388da64e3efc0143529be0a72436fc801e (patch) | |
tree | ae55c0d0c22fff9740cf1829b4d784eea86e0b4a /lib/snmp/doc | |
parent | 045810f873df73a09b105d051eed244be2edf7ee (diff) | |
parent | 14a757d5444719c33e9fbca8d97114d58229291f (diff) | |
download | otp-60cd62388da64e3efc0143529be0a72436fc801e.tar.gz otp-60cd62388da64e3efc0143529be0a72436fc801e.tar.bz2 otp-60cd62388da64e3efc0143529be0a72436fc801e.zip |
Merge branch 'bmk/snmp/manager/threaded_net_if/OTP-9876' into bmk/snmp/snmp422_integration/r15
Conflicts:
lib/snmp/doc/src/notes.xml
lib/snmp/src/app/snmp.appup.src
lib/snmp/test/snmp_agent_test.erl
lib/snmp/vsn.mk
Diffstat (limited to 'lib/snmp/doc')
-rw-r--r-- | lib/snmp/doc/src/notes.xml | 118 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmp.xml | 28 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmp_app.xml | 12 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmp_config.xml | 12 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmp_manager_netif.xml | 43 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmpa.xml | 32 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmpm.xml | 34 | ||||
-rw-r--r-- | lib/snmp/doc/src/snmpm_network_interface_filter.xml | 9 |
8 files changed, 221 insertions, 67 deletions
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml index 704ff0a20f..f93eb3a128 100644 --- a/lib/snmp/doc/src/notes.xml +++ b/lib/snmp/doc/src/notes.xml @@ -34,6 +34,68 @@ <section> + <title>SNMP Development Toolkit 4.22</title> + <p>Version 4.22 supports code replacement in runtime from/to + version 4.21.7 4.21.6 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1 and 4.21. </p> + + <section> + <title>Improvements and new features</title> +<!-- + <p>-</p> +--> + + <list type="bulleted"> + <item> + <p>Added the <c>log_to_io</c> audit-trail-log converter function + to the api modules of both the + <seealso marker="snmpm#log_to_io">manager</seealso> + and + <seealso marker="snmpa#log_to_io">agent</seealso>. </p> + <p>Own Id: OTP-9940</p> + </item> + + <item> + <p>[manager] Introduced a new transport module, + <c>snmpm_net_if_mt</c>, + which handles all incomming and outgoing + traffic in newly created processes. The message/request is + processed and then the process exits. </p> + <p>Own Id: OTP-9876</p> + </item> + + </list> + + </section> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <p>-</p> + + <!-- + <list type="bulleted"> + <item> + <p>[agent] Simultaneous + <seealso marker="snmpa#backup">snmpa:backup/1,2</seealso> + calls can interfere. + The master agent did not check if a backup was already in + progress when a backup request was accepted. </p> + <p>Own Id: OTP-9884</p> + <p>Aux Id: Seq 11995</p> + </item> + + </list> + --> + </section> + + <section> + <title>Incompatibilities</title> + <p>-</p> + </section> + + </section> <!-- 4.22 --> + + + <section> <title>SNMP Development Toolkit 4.21.7</title> <p>Version 4.21.7 supports code replacement in runtime from/to version 4.21.6, 4.21.5, 4.21.4, 4.21.3, 4.21.2, 4.21.1, 4.21, 4.20.1 and @@ -47,14 +109,14 @@ <list type="bulleted"> <item> <p>[agent] DoS attack using GET-BULK with large value of - MaxRepetitions. - A preventive method has been implementing by simply - limit the number of varbinds that can be included in - a Get-BULK response message. This is specified by the - new config option, - <seealso marker="snmp_app#agent_gb_max_vbs">gb_max_vbs</seealso>. - </p> - <p>Own Id: OTP-9700</p> + MaxRepetitions. + A preventive method has been implementing by simply + limit the number of varbinds that can be included in + a Get-BULK response message. This is specified by the + new config option, + <seealso marker="snmp_app#agent_gb_max_vbs">gb_max_vbs</seealso>. + </p> + <p>Own Id: OTP-9700</p> </item> </list> @@ -63,7 +125,7 @@ </section> <section> - <title>Reported Fixed Bugs and Malfunctions</title> + <title>Fixed Bugs and Malfunctions</title> <!-- <p>-</p> --> @@ -71,10 +133,10 @@ <list type="bulleted"> <item> <p>[agent] Simultaneous - <seealso marker="snmpa#backup">snmpa:backup/1,2</seealso> - calls can interfere. - The master agent did not check if a backup was already in - progress when a backup request was accepted. </p> + <seealso marker="snmpa#backup">snmpa:backup/1,2</seealso> + calls can interfere. + The master agent did not check if a backup was already in + progress when a backup request was accepted. </p> <p>Own Id: OTP-9884</p> <p>Aux Id: Seq 11995</p> </item> @@ -106,14 +168,14 @@ <list type="bulleted"> <item> <p>[agent] DoS attack using GET-BULK with large value of - MaxRepetitions. - A preventive method has been implementing by simply - limit the number of varbinds that can be included in - a Get-BULK response message. This is specified by the - new config option, - <seealso marker="snmp_app#agent_gb_max_vbs">gb_max_vbs</seealso>. - </p> - <p>Own Id: OTP-9700</p> + MaxRepetitions. + A preventive method has been implementing by simply + limit the number of varbinds that can be included in + a Get-BULK response message. This is specified by the + new config option, + <seealso marker="snmp_app#agent_gb_max_vbs">gb_max_vbs</seealso>. + </p> + <p>Own Id: OTP-9700</p> </item> </list> @@ -121,7 +183,7 @@ </section> <section> - <title>Reported Fixed Bugs and Malfunctions</title> + <title>Fixed Bugs and Malfunctions</title> <!-- <p>-</p> --> @@ -129,12 +191,12 @@ <list type="bulleted"> <item> <p>[agent] Mib server cache gclimit update function incorrectly calls - age update function. - The gclimit update function, - <seealso marker="snmpa#update_mibs_cache_gclimit">update_mibs_cache_gclimit/1</seealso>, - <em>incorrectly</em> called the age update function, - <seealso marker="snmpa#update_mibs_cache_age">update_mibs_cache_age/2</seealso>. </p> - <p>Johan Claesson</p> + age update function. + The gclimit update function, + <seealso marker="snmpa#update_mibs_cache_gclimit">update_mibs_cache_gclimit/1</seealso>, + <em>incorrectly</em> called the age update function, + <seealso marker="snmpa#update_mibs_cache_age">update_mibs_cache_age/2</seealso>. </p> + <p>Johan Claesson</p> <p>Own Id: OTP-9868</p> </item> diff --git a/lib/snmp/doc/src/snmp.xml b/lib/snmp/doc/src/snmp.xml index af0833f005..3e6610891f 100644 --- a/lib/snmp/doc/src/snmp.xml +++ b/lib/snmp/doc/src/snmp.xml @@ -1,10 +1,10 @@ -<?xml version="1.0" encoding="latin1" ?> +<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE erlref SYSTEM "erlref.dtd"> <erlref> <header> <copyright> - <year>1996</year><year>2009</year> + <year>1996</year><year>2012</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -391,6 +391,30 @@ version of the protocol data unit. There is a new line between <c>Vsn</c> and <c>PDU</c>.</p> + <marker id="log_to_io"></marker> + </desc> + </func> + + <func> + <name>log_to_io(LogDir, Mibs, LogName, LogFile) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start, Stop) -> ok | {error, Reason}</name> + <fsummary>Convert an Audit Trail Log to text format</fsummary> + <type> + <v>LogDir = string()</v> + <v>Mibs = [MibName]</v> + <v>MibName = string()</v> + <v>LogName = string()</v> + <v>LogFile = string()</v> + <v>Start = Stop = null | datetime() | {local_time,datetime()} | {universal_time,datetime()} </v> + <v>Reason = term()</v> + </type> + <desc> + <p>Converts an Audit Trail Log to a readable format and + prints it on stdio. See + <seealso marker="snmp#log_to_txt">log_to_txt</seealso> + above for more info.</p> + <marker id="change_log_size"></marker> </desc> </func> diff --git a/lib/snmp/doc/src/snmp_app.xml b/lib/snmp/doc/src/snmp_app.xml index f6abe783b3..d11eaa2771 100644 --- a/lib/snmp/doc/src/snmp_app.xml +++ b/lib/snmp/doc/src/snmp_app.xml @@ -35,8 +35,8 @@ <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> + application in OTP. The SNMP application provides the following + services:</p> <list type="bulleted"> <item> <p>a multilingual extensible SNMP agent</p> @@ -589,16 +589,16 @@ {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> + 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> <marker id="manager_ni_module"></marker> <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 + <p>The module which handles the network interface part for the + SNMP manager. It must implement the <seealso marker="snmpm_network_interface">snmpm_network_interface</seealso> behaviour.</p> <p>Default is <c>snmpm_net_if</c>.</p> </item> diff --git a/lib/snmp/doc/src/snmp_config.xml b/lib/snmp/doc/src/snmp_config.xml index 0a49b7a62e..b756f3da7d 100644 --- a/lib/snmp/doc/src/snmp_config.xml +++ b/lib/snmp/doc/src/snmp_config.xml @@ -586,18 +586,18 @@ {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> + 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> <marker id="manager_ni_module"></marker> <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> + <p>The module which handles the network interface part for the + SNMP manager. It must implement the + <seealso marker="snmpm_network_interface">snmpm_network_interface</seealso> behaviour. </p> + <p>Default is <c>snmpm_net_if</c>. </p> </item> <marker id="manager_ni_filter_opts"></marker> diff --git a/lib/snmp/doc/src/snmp_manager_netif.xml b/lib/snmp/doc/src/snmp_manager_netif.xml index 2738ca76c1..169e20d10b 100644 --- a/lib/snmp/doc/src/snmp_manager_netif.xml +++ b/lib/snmp/doc/src/snmp_manager_netif.xml @@ -1,10 +1,10 @@ -<?xml version="1.0" encoding="latin1" ?> +<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE chapter SYSTEM "chapter.dtd"> <chapter> <header> <copyright> - <year>2004</year><year>2009</year> + <year>2004</year><year>2012</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -35,31 +35,34 @@ <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> + 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> + ways. For example, the Net if process can apply some kind of + encrypting/decrypting scheme on the bytes. </p> + + <p>The snmp application provides two different modules, + <c>snmpm_net_if</c> (the default) and <c>snmpm_net_if_mt</c>, + both uses the UDP as the transport protocol. The difference + between the two modules is that the latter is "multi-threaded", + i.e. for each message/request a new process is created that + process the message/request and then exits. </p> + + <p>It is also possible to write your own Net if process, + this section describes how to write a Net if processdo that.</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> + <seealso marker="snmpm_network_interface">network interface behaviour</seealso>. </p> </section> <section> diff --git a/lib/snmp/doc/src/snmpa.xml b/lib/snmp/doc/src/snmpa.xml index 2322af28cc..86fde03205 100644 --- a/lib/snmp/doc/src/snmpa.xml +++ b/lib/snmp/doc/src/snmpa.xml @@ -501,6 +501,7 @@ notification_delivery_info() = #snmpa_notification_delivery_info{} </func> <func> + <name>log_to_txt(LogDir)</name> <name>log_to_txt(LogDir, Mibs)</name> <name>log_to_txt(LogDir, Mibs, OutFile) -> ok | {error, Reason}</name> <name>log_to_txt(LogDir, Mibs, OutFile, LogName) -> ok | {error, Reason}</name> @@ -528,6 +529,37 @@ notification_delivery_info() = #snmpa_notification_delivery_info{} See <seealso marker="snmp#log_to_txt">snmp:log_to_txt</seealso> for more info.</p> + <marker id="log_to_io"></marker> + </desc> + </func> + + <func> + <name>log_to_io(LogDir) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start, Stop) -> ok | {error, Reason}</name> + <fsummary>Convert an Audit Trail Log to text format</fsummary> + <type> + <v>LogDir = string()</v> + <v>Mibs = [MibName]</v> + <v>MibName = string()</v> + <v>LogName = string()</v> + <v>LogFile = string()</v> + <v>Start = Stop = null | datetime() | {local_time,datetime()} | {universal_time,datetime()} </v> + <v>Reason = disk_log_open_error() | file_open_error() | term()</v> + <v>disk_log_open_error() = {LogName, term()}</v> + <v>file_open_error() = {OutFile, term()}</v> + </type> + <desc> + <p>Converts an Audit Trail Log to a readable format and + prints it on stdio. + <c>LogName</c> defaults to "snmpa_log". + <c>LogFile</c> defaults to "snmpa.log". + See <seealso marker="snmp#log_to_io">snmp:log_to_io</seealso> + for more info.</p> + <marker id="change_log_size"></marker> </desc> </func> diff --git a/lib/snmp/doc/src/snmpm.xml b/lib/snmp/doc/src/snmpm.xml index c36a1b2a24..9bbb6cdbdb 100644 --- a/lib/snmp/doc/src/snmpm.xml +++ b/lib/snmp/doc/src/snmpm.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>2004</year><year>2011</year> + <year>2004</year><year>2012</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -1237,6 +1237,38 @@ priv_key = [integer()] (length is 16 if priv = usmDESPrivProtocol | usmAesCfb1 See <seealso marker="snmp#log_to_txt">snmp:log_to_txt</seealso> for more info.</p> + <marker id="log_to_io"></marker> + </desc> + </func> + + <func> + <name>log_to_io(LogDir) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start) -> ok | {error, Reason}</name> + <name>log_to_io(LogDir, Mibs, LogName, LogFile, Start, Stop) -> ok | {error, Reason}</name> + <fsummary>Convert an Audit Trail Log to text format</fsummary> + <type> + <v>LogDir = string()</v> + <v>Mibs = [MibName]</v> + <v>MibName = string()</v> + <v>LogName = string()</v> + <v>LogFile = string()</v> + <v>Start = Stop = null | datetime() | {local_time,datetime()} | {universal_time,datetime()} </v> + <v>Reason = disk_log_open_error() | file_open_error() | term()</v> + <v>disk_log_open_error() = {LogName, term()}</v> + <v>file_open_error() = {OutFile, term()}</v> + </type> + <desc> + <p>Converts an Audit Trail Log to a readable format and + prints it on stdio. + <c>LogName</c> defaults to "snmpm_log". + <c>LogFile</c> defaults to "snmpm.log". + See <seealso marker="snmp#log_to_io">snmp:log_to_io</seealso> + for more info.</p> + <marker id="change_log_size"></marker> </desc> </func> diff --git a/lib/snmp/doc/src/snmpm_network_interface_filter.xml b/lib/snmp/doc/src/snmpm_network_interface_filter.xml index ea1e183848..5f80cec94e 100644 --- a/lib/snmp/doc/src/snmpm_network_interface_filter.xml +++ b/lib/snmp/doc/src/snmpm_network_interface_filter.xml @@ -1,10 +1,10 @@ -<?xml version="1.0" encoding="latin1" ?> +<?xml version="1.0" encoding="iso-8859-1" ?> <!DOCTYPE erlref SYSTEM "erlref.dtd"> <erlref> <header> <copyright> - <year>2007</year><year>2009</year> + <year>2007</year><year>2012</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -72,9 +72,10 @@ </list> <p>Note that the network interface filter is something which is used by the network interface implementation provided by the application - (<c>snmpm_net_if</c>). The default filter accepts all messages.</p> + (<c>snmpm_net_if</c> and <c>snmpm_net_if_mt</c>). + The default filter accepts all messages.</p> <p>A network interface filter can e.g. be used during testing or for load - regulation. </p> + regulation. </p> </description> <section> |