aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/snmp/doc/src/notes.xml6
-rw-r--r--lib/snmp/src/agent/snmpa_local_db.erl2
-rw-r--r--lib/snmp/src/app/snmp.appup.src18
3 files changed, 23 insertions, 3 deletions
diff --git a/lib/snmp/doc/src/notes.xml b/lib/snmp/doc/src/notes.xml
index 9f668bf28a..21c417f0c1 100644
--- a/lib/snmp/doc/src/notes.xml
+++ b/lib/snmp/doc/src/notes.xml
@@ -83,6 +83,12 @@
<p>Stefan Zegenhagen</p>
</item>
+ <item>
+ <p>[agent] The counter increment function in the local-db was
+ incorrect. It did not handle counter wrap correctly. </p>
+ <p>Own Id: OTP-11192</p>
+ </item>
+
</list>
</section>
diff --git a/lib/snmp/src/agent/snmpa_local_db.erl b/lib/snmp/src/agent/snmpa_local_db.erl
index 2c0cad807a..5198c6ec4e 100644
--- a/lib/snmp/src/agent/snmpa_local_db.erl
+++ b/lib/snmp/src/agent/snmpa_local_db.erl
@@ -583,7 +583,7 @@ handle_cast({variable_inc, Name, Db, N}, State) ->
{value, Val} -> Val;
_ -> 0
end,
- insert(Db, Name, M+N rem 4294967296, State),
+ insert(Db, Name, (M+N) rem 4294967296, State),
{noreply, State};
handle_cast({verbosity,Verbosity}, State) ->
diff --git a/lib/snmp/src/app/snmp.appup.src b/lib/snmp/src/app/snmp.appup.src
index 106fed749d..16b626111b 100644
--- a/lib/snmp/src/app/snmp.appup.src
+++ b/lib/snmp/src/app/snmp.appup.src
@@ -17,15 +17,24 @@
%% %CopyrightEnd%
%%
+
{"%VSN%",
%% ----- U p g r a d e -------------------------------------------------------
+%% Instruction examples:
+%% {restart_application, snmp}
+%% {load_module, snmp_pdus, soft_purge, soft_purge, []}
+%% {update, snmpa_local_db, soft, soft_purge, soft_purge, []}
+%% {add_module, snmpm_net_if_mt}
+
[
{"4.24",
[
{load_module, snmp_conf, soft_purge, soft_purge, []},
- {load_module, snmp_view_based_acm_mib, soft_purge, soft_purge, [snmp_conf]}
+ {load_module, snmp_view_based_acm_mib, soft_purge, soft_purge,
+ [snmp_conf]},
+ {update, snmpa_local_db, soft, soft_purge, soft_purge, []}
]
},
{"4.23.1", [{restart_application, snmp}]},
@@ -34,11 +43,16 @@
%% ------D o w n g r a d e ---------------------------------------------------
+%% Instruction examples:
+%% {remove, {snmpm_net_if_mt, soft_purge, soft_purge}}
+
[
{"4.24",
[
{load_module, snmp_conf, soft_purge, soft_purge, []},
- {load_module, snmp_view_based_acm_mib, soft_purge, soft_purge, [snmp_conf]}
+ {load_module, snmp_view_based_acm_mib, soft_purge, soft_purge,
+ [snmp_conf]},
+ {update, snmpa_local_db, soft, soft_purge, soft_purge, []}
]
},
{"4.23.1", [{restart_application, snmp}]},