From dbfadf5cf15f013dcc605ff2a72d2959310ce864 Mon Sep 17 00:00:00 2001 From: Eishun Kondoh Date: Fri, 1 Jun 2018 12:22:48 +0900 Subject: [PATCH] tres/secure_channel: Improved HELLO handler --- bin/enum_gen | Bin 1423641 -> 1423622 bytes lib/openflow/hello.ex | 5 +++-- lib/tres/secure_channel.ex | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bin/enum_gen b/bin/enum_gen index cc53b5706b9f9bcd59d23f2274be9838f13c6d8d..46f05e614d3fc1eb7cf6e7ae43194ad301ec2f1d 100755 GIT binary patch delta 31348 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 delta 31531 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 diff --git a/lib/openflow/hello.ex b/lib/openflow/hello.ex index 463e32e..aa3da17 100644 --- a/lib/openflow/hello.ex +++ b/lib/openflow/hello.ex @@ -23,8 +23,9 @@ defmodule Openflow.Hello do def supported_version?(%Hello{elements: []}), do: false def supported_version?(%Hello{elements: elements}) do - versionbitmaps = for {:versionbitmap, versions} <- elements, do: versions - Enum.any?(versionbitmaps, fn versions -> 4 in versions end) + elements + |> Enum.reduce([], fn({:versionbitmap, versions}, acc) -> acc ++ versions end) + |> Enum.any?(fn(version) -> version == 4 end) end def read(binary), do: %Hello{elements: decode([], binary)} diff --git a/lib/tres/secure_channel.ex b/lib/tres/secure_channel.ex index 91f11be..8d7911b 100644 --- a/lib/tres/secure_channel.ex +++ b/lib/tres/secure_channel.ex @@ -16,7 +16,7 @@ defmodule Tres.SecureChannel do @supported_version 4 - @hello_handshake_timeout 1000 + @hello_handshake_timeout 3000 @features_handshake_timeout 1000 @ping_timeout 5000 # @transaction_timeout 5000 @@ -402,10 +402,10 @@ defmodule Tres.SecureChannel do end defp handle_hello_handshake_1(hello, state_data) do - maybe_cancel_timer(state_data.timer_ref) State.set_transaction_id(state_data.xid, hello.xid) if Openflow.Hello.supported_version?(hello) do + :ok = maybe_cancel_timer(state_data.timer_ref) {:next_state, :CONNECTING, %{state_data | timer_ref: nil}} else close_connection(:failed_version_negotiation, state_data)