summaryrefslogtreecommitdiff
path: root/lib/snmp/src/agent/snmpa_net_if.erl
diff options
context:
space:
mode:
authorMicael Karlberg <bmk@erlang.org>2020-09-21 23:04:15 +0200
committerMicael Karlberg <bmk@erlang.org>2020-11-05 15:29:32 +0100
commitfc68b3a3923c419530fc27093df6c80258786587 (patch)
treeb51d64220be0f09363bc11809cc144b7d906117a /lib/snmp/src/agent/snmpa_net_if.erl
parentd957e05f3d3e8c951b6ed5e4e0c42ce925a79620 (diff)
downloaderlang-fc68b3a3923c419530fc27093df6c80258786587.tar.gz
[snmp|agent] Transport options processing
Improved/fixed the transport options processing. Also, improve verbosity printouts from MPD. OTP-16649
Diffstat (limited to 'lib/snmp/src/agent/snmpa_net_if.erl')
-rw-r--r--lib/snmp/src/agent/snmpa_net_if.erl19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/snmp/src/agent/snmpa_net_if.erl b/lib/snmp/src/agent/snmpa_net_if.erl
index c47a33aee7..c50ba285af 100644
--- a/lib/snmp/src/agent/snmpa_net_if.erl
+++ b/lib/snmp/src/agent/snmpa_net_if.erl
@@ -468,16 +468,24 @@ gen_udp_range_open(Min, Max, Opts) ->
?vtrace("gen_udp_range_open -> entry with"
"~n Min: ~w"
"~n Max: ~w", [Min, Max]),
- case gen_udp:open(Min, Opts) of
+ try gen_udp:open(Min, Opts) of
{ok, Socket} ->
?vtrace("gen_udp_range_open(~w,~w) -> created: "
"~n ~p", [Min, Max, Socket]),
{Socket, Min};
{error, eaddrinuse} ->
- ?vtrace("gen_udp_range_open(~w,~w) -> eaddrinuse"),
+ ?vdebug("gen_udp_range_open(~w,~w) -> eaddrinuse"),
gen_udp_range_open(Min+1, Max, Opts);
{error, Reason} ->
+ ?vdebug("gen_udp_range_open(~w,~w) -> ~w", [Reason]),
throw({udp_open, {open, Reason}})
+ catch
+ C:E:S ->
+ ?vinfo("gen_udp_range_open(~w,~w) -> failed open socket: "
+ "~n C: ~p"
+ "~n E: ~p"
+ "~n S: ~p", [Min, Max, C, E, S]),
+ erlang:raise(C, E, S)
end.
gen_udp_ranges_open([], _Opts) ->
@@ -1945,6 +1953,13 @@ get_counters([Counter|Counters], Acc) ->
%% This extracts the socket options from what is specified for
%% the transport, or if not, from the "global" socket options.
socket_opts(Domain, {IpAddr, PortInfo}, SocketOpts, DefaultOpts) ->
+ ?vtrace("socket_opts -> entry with"
+ "~n Domain: ~p"
+ "~n IpAddr: ~p"
+ "~n PortInfo: ~p"
+ "~n SpocketOpts: ~p"
+ "~n DefaultOpts: ~p",
+ [Domain, IpAddr, PortInfo, SocketOpts, DefaultOpts]),
Opts =
[binary |
case snmp_conf:tdomain_to_family(Domain) of