From 84f2859757a7fbf3d1280648f995e0a7d0e0754b Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Wed, 18 Jul 2012 12:52:57 +0200 Subject: Add error reason ehostunreach when trying with IPv4 If a IPv6 (inet6) connect fails, we try to connect with IPv4 (inet) again. Added error reason ehostunreach for which it is ok to try again (with IPv4). --- lib/inets/test/inets_test_lib.erl | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/lib/inets/test/inets_test_lib.erl b/lib/inets/test/inets_test_lib.erl index 7f4b0ec8d8..4ec8a6002f 100644 --- a/lib/inets/test/inets_test_lib.erl +++ b/lib/inets/test/inets_test_lib.erl @@ -536,25 +536,15 @@ connect(ip_comm, Host, Port, Opts, Type) -> tsp("connect success"), {ok, Socket}; - {error, nxdomain} when Type =:= inet6 -> - tsp("connect error nxdomain when" - "~n Opts: ~p", [Opts]), - connect(ip_comm, Host, Port, Opts -- [inet6], inet); - {error, eafnosupport} when Type =:= inet6 -> - tsp("connect error eafnosupport when" - "~n Opts: ~p", [Opts]), - connect(ip_comm, Host, Port, Opts -- [inet6], inet); - {error, econnreset} when Type =:= inet6 -> - tsp("connect error econnreset when" - "~n Opts: ~p", [Opts]), - connect(ip_comm, Host, Port, Opts -- [inet6], inet); - {error, enetunreach} when Type =:= inet6 -> - tsp("connect error eafnosupport when" - "~n Opts: ~p", [Opts]), - connect(ip_comm, Host, Port, Opts -- [inet6], inet); - {error, econnrefused} when Type =:= inet6 -> - tsp("connect error econnrefused when" - "~n Opts: ~p", [Opts]), + {error, Reason} when ((Type =:= inet6) andalso + ((Reason =:= nxdomain) orelse + (Reason =:= eafnosupport) orelse + (Reason =:= econnreset) orelse + (Reason =:= enetunreach) orelse + (Reason =:= econnrefused) orelse + (Reason =:= ehostunreach))) -> + tsp("connect error ~w when" + "~n Opts: ~p", [Reason, Opts]), connect(ip_comm, Host, Port, Opts -- [inet6], inet); Error -> -- cgit v1.2.3 From 3d639df53de38e398a208f4f57cc9a7969733c63 Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Fri, 20 Jul 2012 10:14:09 +0200 Subject: Improved debug printouts --- lib/inets/test/inets_test_lib.erl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/inets/test/inets_test_lib.erl b/lib/inets/test/inets_test_lib.erl index 4ec8a6002f..ef6529025f 100644 --- a/lib/inets/test/inets_test_lib.erl +++ b/lib/inets/test/inets_test_lib.erl @@ -543,12 +543,14 @@ connect(ip_comm, Host, Port, Opts, Type) -> (Reason =:= enetunreach) orelse (Reason =:= econnrefused) orelse (Reason =:= ehostunreach))) -> - tsp("connect error ~w when" - "~n Opts: ~p", [Reason, Opts]), + tsp("connect(ip_comm) -> Connect error: " + "~n Reason: ~p" + "~n Type: ~p" + "~n Opts: ~p", [Reason, Type, Opts]), connect(ip_comm, Host, Port, Opts -- [inet6], inet); Error -> - tsp("connect(ip_conn) -> Fatal connect error: " + tsp("connect(ip_comm) -> Fatal connect error: " "~n Error: ~p" "~nwhen" "~n Host: ~p" -- cgit v1.2.3 From 3f61f4daccc11658e838771b696c205fccac709e Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Tue, 24 Jul 2012 12:57:20 +0200 Subject: Add connect timeout --- lib/inets/test/inets_test_lib.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/inets/test/inets_test_lib.erl b/lib/inets/test/inets_test_lib.erl index ef6529025f..e7c44391c7 100644 --- a/lib/inets/test/inets_test_lib.erl +++ b/lib/inets/test/inets_test_lib.erl @@ -531,7 +531,7 @@ connect(ip_comm, Host, Port, Opts, Type) -> "~n Opts: ~p" "~n Type: ~p", [Host, Port, Opts, Type]), - case gen_tcp:connect(Host, Port, Opts) of + case gen_tcp:connect(Host, Port, Opts, timer:seconds(10)) of {ok, Socket} -> tsp("connect success"), {ok, Socket}; -- cgit v1.2.3 From 5031e2277c1b1af83bde2d3990d2fc4ab3f119c5 Mon Sep 17 00:00:00 2001 From: Micael Karlberg Date: Wed, 25 Jul 2012 08:46:36 +0200 Subject: Did not handle timeout reason when IPv6 --- lib/inets/test/inets_test_lib.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/inets/test/inets_test_lib.erl b/lib/inets/test/inets_test_lib.erl index e7c44391c7..0f8671b682 100644 --- a/lib/inets/test/inets_test_lib.erl +++ b/lib/inets/test/inets_test_lib.erl @@ -537,7 +537,8 @@ connect(ip_comm, Host, Port, Opts, Type) -> {ok, Socket}; {error, Reason} when ((Type =:= inet6) andalso - ((Reason =:= nxdomain) orelse + ((Reason =:= timeout) orelse + (Reason =:= nxdomain) orelse (Reason =:= eafnosupport) orelse (Reason =:= econnreset) orelse (Reason =:= enetunreach) orelse -- cgit v1.2.3