diff options
author | Micael Karlberg <[email protected]> | 2011-05-16 10:09:25 +0200 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2011-05-16 10:09:25 +0200 |
commit | 3e907e4468651206b8c6c97290e37a5a82102e2f (patch) | |
tree | b9a39fe5fc37c32313f7ae89f2f98a4a68ccfd40 /lib/snmp/src/manager/snmpm_net_if.erl | |
parent | b19a2c6648e65b5ad1b8a0351928856fad941f99 (diff) | |
parent | c2a1108ff4cfdb2a5763349e4f505bed49871cc8 (diff) | |
download | otp-3e907e4468651206b8c6c97290e37a5a82102e2f.tar.gz otp-3e907e4468651206b8c6c97290e37a5a82102e2f.tar.bz2 otp-3e907e4468651206b8c6c97290e37a5a82102e2f.zip |
OTP-9022: Fixed endode/decode of values of type Counter32.
OTP-9088: [agent] Added support for sending traps to IPv6 targets.
OTP-9119: [agent] To be able to handle multiple engine-id(s) when
sending trap(s), the function
snmp_community_mib:add_community/6 has been added.
OTP-9162: [manager] The API for snmp requests has been augmented to
allow the caller to override some configuration.
OTP-9174: [manager] The old API functions (for get and set
requests) are now officially deprecated.
OTP-9183: [agent] Pass extra info through the agent to the net-if
process when sending notifications.
OTP-9208: Added type specs for functions that do not return.
Kostis Sagonas
Merge branch 'bmk/snmp/snmp420_integration' into dev
Diffstat (limited to 'lib/snmp/src/manager/snmpm_net_if.erl')
-rw-r--r-- | lib/snmp/src/manager/snmpm_net_if.erl | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/snmp/src/manager/snmpm_net_if.erl b/lib/snmp/src/manager/snmpm_net_if.erl index 07156dacd9..3d248fff57 100644 --- a/lib/snmp/src/manager/snmpm_net_if.erl +++ b/lib/snmp/src/manager/snmpm_net_if.erl @@ -99,7 +99,7 @@ stop(Pid) -> call(Pid, stop). send_pdu(Pid, Pdu, Vsn, MsgData, Addr, Port) -> - send_pdu(Pid, Pdu, Vsn, MsgData, Addr, Port, undefined). + send_pdu(Pid, Pdu, Vsn, MsgData, Addr, Port, ?DEFAULT_EXTRA_INFO). send_pdu(Pid, Pdu, Vsn, MsgData, Addr, Port, ExtraInfo) when is_record(Pdu, pdu) -> @@ -380,13 +380,14 @@ handle_call(Req, From, State) -> %% {noreply, State, Timeout} | %% {stop, Reason, State} (terminate/2 is called) %%-------------------------------------------------------------------- -handle_cast({send_pdu, Pdu, Vsn, MsgData, Addr, Port, _ExtraInfo}, State) -> +handle_cast({send_pdu, Pdu, Vsn, MsgData, Addr, Port, ExtraInfo}, State) -> ?vlog("received send_pdu message with" "~n Pdu: ~p" "~n Vsn: ~p" "~n MsgData: ~p" "~n Addr: ~p" "~n Port: ~p", [Pdu, Vsn, MsgData, Addr, Port]), + maybe_process_extra_info(ExtraInfo), maybe_handle_send_pdu(Pdu, Vsn, MsgData, Addr, Port, State), {noreply, State}; @@ -999,6 +1000,19 @@ pdu_type_of(TrapPdu) when is_record(TrapPdu, trappdu) -> %% ------------------------------------------------------------------- +%% At this point this function is used during testing +maybe_process_extra_info(?DEFAULT_EXTRA_INFO) -> + ok; +maybe_process_extra_info({?SNMPM_EXTRA_INFO_TAG, Fun}) + when is_function(Fun, 0) -> + (catch Fun()), + ok; +maybe_process_extra_info(_ExtraInfo) -> + ok. + + +%% ------------------------------------------------------------------- + t() -> {A,B,C} = erlang:now(), A*1000000000+B*1000+(C div 1000). |