diff options
author | Micael Karlberg <[email protected]> | 2011-03-02 13:49:11 +0100 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2011-03-02 13:49:11 +0100 |
commit | 455ff4bc78f94c997d43a46fd2619b7d683c10c5 (patch) | |
tree | 376e4c476c1a50facdbd1ff59e0f6633bc06b2d3 /lib/snmp/src/agent/snmp_user_based_sm_mib.erl | |
parent | 6daf9097abb20ae9fef69f60eb1b994aeaac0baf (diff) | |
parent | cf7f5f99f46708db185d927d0c7681fc4f6f3a0e (diff) | |
download | otp-455ff4bc78f94c997d43a46fd2619b7d683c10c5.tar.gz otp-455ff4bc78f94c997d43a46fd2619b7d683c10c5.tar.bz2 otp-455ff4bc78f94c997d43a46fd2619b7d683c10c5.zip |
Merge branch 'bmk/snmp/snmp419_integration/OTP-9068' into dev
* [compiler] Added support for textual convention AGENT-CAPABILITIES
and full support for textual convention MODULE-COMPLIANCE:
OTP-8966
* [agent] Added a "complete" set of (snmp) table and variable
print functions:
OTP-8977
* [agent] For is_set_ok and set operations on the table
vacmAccessTable, all values of the vacmAccessSecurityModel
column was incorrectly translated into any:
OTP-8980
* [agent] Reconfigure of SNMP-VIEW-BASED-ACM-MIB could after
a change in the vacm config file (vacm.conf):
OTP-8981
* [compiler] Added a MIB compiler (frontend) escript, snmpc:
OTP-9004
Diffstat (limited to 'lib/snmp/src/agent/snmp_user_based_sm_mib.erl')
-rw-r--r-- | lib/snmp/src/agent/snmp_user_based_sm_mib.erl | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/snmp/src/agent/snmp_user_based_sm_mib.erl b/lib/snmp/src/agent/snmp_user_based_sm_mib.erl index f40bb1a5b9..69cebc858b 100644 --- a/lib/snmp/src/agent/snmp_user_based_sm_mib.erl +++ b/lib/snmp/src/agent/snmp_user_based_sm_mib.erl @@ -26,6 +26,12 @@ table_next/2, is_engine_id_known/1, get_user/2, get_user_from_security_name/2, mk_key_change/3, mk_key_change/5, extract_new_key/3, mk_random/1]). +-export([usmStatsUnsupportedSecLevels/1, + usmStatsNotInTimeWindows/1, + usmStatsUnknownUserNames/1, + usmStatsUnknownEngineIDs/1, + usmStatsWrongDigests/1, + usmStatsDecryptionErrors/1]). -export([add_user/1, add_user/13, delete_user/1]). %% Internal @@ -303,6 +309,54 @@ gc_tabs() -> %%----------------------------------------------------------------- %% Counter functions %%----------------------------------------------------------------- + +usmStatsUnsupportedSecLevels(print) -> + VarAndValue = [{usmStatsUnsupportedSecLevels, + usmStatsUnsupportedSecLevels(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsUnsupportedSecLevels(get) -> + get_counter(usmStatsUnsupportedSecLevels). + +usmStatsNotInTimeWindows(print) -> + VarAndValue = [{usmStatsNotInTimeWindows, usmStatsNotInTimeWindows(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsNotInTimeWindows(get) -> + get_counter(usmStatsNotInTimeWindows). + +usmStatsUnknownUserNames(print) -> + VarAndValue = [{usmStatsUnknownUserNames, usmStatsUnknownUserNames(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsUnknownUserNames(get) -> + get_counter(usmStatsUnknownUserNames). + +usmStatsUnknownEngineIDs(print) -> + VarAndValue = [{usmStatsUnknownEngineIDs, usmStatsUnknownEngineIDs(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsUnknownEngineIDs(get) -> + get_counter(usmStatsUnknownEngineIDs). + +usmStatsWrongDigests(print) -> + VarAndValue = [{usmStatsWrongDigests, usmStatsWrongDigests(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsWrongDigests(get) -> + get_counter(usmStatsWrongDigests). + +usmStatsDecryptionErrors(print) -> + VarAndValue = [{usmStatsDecryptionErrors, usmStatsDecryptionErrors(get)}], + snmpa_mib_lib:print_variables(VarAndValue); +usmStatsDecryptionErrors(get) -> + get_counter(usmStatsDecryptionErrors). + + +get_counter(Name) -> + case (catch ets:lookup(snmp_agent_table, Name)) of + [{_, Val}] -> + {value, Val}; + _ -> + genErr + end. + + init_vars() -> lists:map(fun maybe_create_var/1, vars()). maybe_create_var(Var) -> @@ -323,6 +377,7 @@ vars() -> usmStatsDecryptionErrors ]. + %%----------------------------------------------------------------- %% API functions %%----------------------------------------------------------------- @@ -374,6 +429,11 @@ get_user_from_security_name(EngineID, SecName) -> %%----------------------------------------------------------------- %% Instrumentation Functions %%----------------------------------------------------------------- + +usmUserSpinLock(print) -> + VarAndValue = [{usmUserSpinLock, usmUserSpinLock(get)}], + snmpa_mib_lib:print_variables(VarAndValue); + usmUserSpinLock(new) -> snmp_generic:variable_func(new, {usmUserSpinLock, volatile}), {A1,A2,A3} = erlang:now(), |