On Mon, 27 Jul 2015 07:15:37 +0000
Guru Chaitanya Perakam <[email protected]> wrote:
> Hi,
>
> Issue:
> =====
> When an Openflow client closes the connection with Ryu Manager by sending a
> FIN, only ACK is sent in response.
>
> FIN/ACK is not received by Openflow client. The TCP connection on Ryu Manager
> is moved to CLOSE-WAIT state.
>
> This causes our switch (Openflow client) to wait in FIN-WAIT-2 state and then
> sends a Reset to Ryu Manager after some timeout.
> Again when the switch uses the same source port for reconnection, the
> connection fails.
>
> PFA packet dissections text file "ryn-find-issue.txt" with this mail.
Thanks for the detailed report!
The following patch fixes the issue?
diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py
index 225c21f..577c6da 100644
--- a/ryu/controller/controller.py
+++ b/ryu/controller/controller.py
@@ -165,6 +165,7 @@ class Datapath(ofproto_protocol.ProtocolDesc):
ret = self.socket.recv(required_len)
if len(ret) == 0:
self.is_active = False
+ self.socket.close()
break
buf += ret
while len(buf) >= required_len:
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel