[OPNFLWPLUG-355] Handshake Exception connecting an open flow switch in mininet Created: 03/Feb/15 Updated: 27/Sep/21 Resolved: 19/Oct/16 |
|
| Status: | Resolved |
| Project: | OpenFlowPlugin |
| Component/s: | General |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Brady Johnson | Assignee: | Michal Rehak |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| External issue ID: | 2668 |
| Priority: | Normal |
| Description |
|
Hello, Im using the openflowplugin version 0.1.0-SNAPSHOT in the SFC ODL project, and see a strange exception and error when an open flow switch started in mininet tries to connect. I start mininet like this: sudo mn --topo single,2 --mac --switch ovsk,protocols=OpenFlow13 --controller remote,ip=192.168.56.101 This is the error I get in the SFC logs: 2015-02-03 15:35:33,030 | WARN | entLoopGroup-6-1 | SessionManagerOFImpl | 245 - org.opendaylight.openflowplugin - 0.1.0.SNAPSHOT | context for invalidation not found When I send this REST message with curl, I get a (huge) response, so it appears that it connects, but when I try to program flows, nothing appears in the switch. curl -i -H "Content-Type: application/json" -H "Cache-Control: no-cache" -X GET --user admin:admin http://localhost:${PORT}/restconf/operational/opendaylight-inventory:nodes/ The HW Im using is the Ubuntu VM provided by ODL running in VirtualBox, where I execute mininet, and SFC running in a separate Ubuntu 14.04 VirtualBox VM. Brady |
| Comments |
| Comment by Brady Johnson [ 05/Feb/15 ] |
|
I figured out why the flows were not being sent to the Open Flow switch, and it had nothing to do with the handshaking exception. So I'll lower the priority/importance of the Bug. Brady |
| Comment by Icaro Camelo [ 05/May/15 ] |
|
Could you please give me more details about what you discovered? |
| Comment by Michal Rehak [ 06/May/15 ] |
|
Hi, So if there is topology of 3 nodes then only the first node disconnects and reconnects immediately. Consequence of this is that there is new socket opened and new handshake process started. And of course the old handshake process must be stopped and cleaned and here the exception is raised. I am not sure why do we have this behavior - It occurs by floodlight controller too. I guess that the first hello message from controller is sent prematurely when the socket is not ready on switch side.. But so requires the OF-specification - to send helloMessage upon connection established. Anyway there should not be any side effects - all devices should be connected once the reconnection dance finishes. |
| Comment by Brady Johnson [ 07/May/15 ] |
|
I havent seen this exception in a while, at least 2 weeks now. Brady |
| Comment by Michal Rehak [ 02/Jun/15 ] |
|
We have similar issue which manifests through this exception: Common reason is talking to device when connection down. |
| Comment by Michal Rehak [ 02/Jun/15 ] |
|
stable/lithium: |
| Comment by Michal Rehak [ 05/Jun/15 ] |
|
merged |
| Comment by yunyunhan [ 19/Oct/16 ] |
|
(In reply to michal rehak from comment #7) I think that this modification only reduces the probability of RejectedExecutionException, but does not solve the fundamental problem.Firstly, RejectedExecutionException still appeared when I used redist/beryllium-sr3 version. Secondly, this modification would lead to new IllegalStateException. |