<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:32:15 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[OPNFLWPLUG-355] Handshake Exception connecting an open flow switch in mininet</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-355</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;I start mininet like this:&lt;/p&gt;

&lt;p&gt;sudo mn --topo single,2 --mac --switch ovsk,protocols=OpenFlow13 --controller remote,ip=192.168.56.101&lt;/p&gt;


&lt;p&gt;This is the error I get in the SFC logs:&lt;/p&gt;

&lt;p&gt;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&lt;br/&gt;
2015-02-03 15:35:33,405 | INFO  | entLoopGroup-6-2 | ConnectionAdapterImpl            | 243 - org.opendaylight.openflowjava.openflow-protocol-impl - 0.6.0.SNAPSHOT | Hello received / branch&lt;br/&gt;
2015-02-03 15:35:34,032 | INFO  | OFHandshake-0-0  | ConnectionConductorImpl          | 245 - org.opendaylight.openflowplugin - 0.1.0.SNAPSHOT | OF handshake failed, doing cleanup.&lt;br/&gt;
2015-02-03 15:35:35,034 | WARN  | OFHandshake-0-0  | ErrorHandlerSimpleImpl           | 245 - org.opendaylight.openflowplugin - 0.1.0.SNAPSHOT | exception -&amp;gt; FIRST HELLO sending failed because of connection issue., session -&amp;gt; null&lt;br/&gt;
org.opendaylight.openflowplugin.ConnectionException: FIRST HELLO sending failed because of connection issue.&lt;br/&gt;
       at org.opendaylight.openflowplugin.openflow.md.core.HandshakeManagerImpl.sendHelloMessage(HandshakeManagerImpl.java:299)&lt;span class=&quot;error&quot;&gt;&amp;#91;245:org.opendaylight.openflowplugin:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
       at org.opendaylight.openflowplugin.openflow.md.core.HandshakeManagerImpl.shake(HandshakeManagerImpl.java:98)&lt;span class=&quot;error&quot;&gt;&amp;#91;245:org.opendaylight.openflowplugin:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
       at org.opendaylight.openflowplugin.openflow.md.core.HandshakeStepWrapper.run(HandshakeStepWrapper.java:47)&lt;span class=&quot;error&quot;&gt;&amp;#91;245:org.opendaylight.openflowplugin:0.1.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_09&amp;#93;&lt;/span&gt;&lt;br/&gt;
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_09&amp;#93;&lt;/span&gt;&lt;br/&gt;
       at java.lang.Thread.run(Thread.java:722)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.7.0_09&amp;#93;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;curl -i -H &quot;Content-Type: application/json&quot; -H &quot;Cache-Control: no-cache&quot; -X GET --user admin:admin &lt;a href=&quot;http://localhost:$&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:$&lt;/a&gt;{PORT}/restconf/operational/opendaylight-inventory:nodes/&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Brady&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: Other&lt;/p&gt;</environment>
        <key id="27623">OPNFLWPLUG-355</key>
            <summary>Handshake Exception connecting an open flow switch in mininet</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="michal.rehak">Michal Rehak</assignee>
                                    <reporter username="ebrjohn">Brady Johnson</reporter>
                        <labels>
                    </labels>
                <created>Tue, 3 Feb 2015 18:36:12 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:25 +0000</updated>
                            <resolved>Wed, 19 Oct 2016 02:33:53 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="56475" author="ebrjohn" created="Thu, 5 Feb 2015 19:22:18 +0000"  >&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;So I&apos;ll lower the priority/importance of the Bug.&lt;/p&gt;

&lt;p&gt;Brady&lt;/p&gt;</comment>
                            <comment id="56476" author="icarorvc@gmail.com" created="Tue, 5 May 2015 23:56:24 +0000"  >&lt;p&gt;Could you please give me more details about what you discovered?&lt;/p&gt;</comment>
                            <comment id="56477" author="mirehak@cisco.com" created="Wed, 6 May 2015 12:34:30 +0000"  >&lt;p&gt;Hi,&lt;br/&gt;
the disconnection occurs pretty often. According to my observations we have tcp packet with reset flag at the beginning of connection. It is sent by switch. And almost every time it occurs right after first helloMessage sent from controller to switch. &lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Anyway there should not be any side effects - all devices should be connected once the reconnection dance finishes.&lt;/p&gt;</comment>
                            <comment id="56478" author="ebrjohn" created="Thu, 7 May 2015 14:55:08 +0000"  >
&lt;p&gt;I havent seen this exception in a while, at least 2 weeks now.&lt;/p&gt;

&lt;p&gt;Brady&lt;/p&gt;</comment>
                            <comment id="56479" author="mirehak@cisco.com" created="Tue, 2 Jun 2015 11:48:26 +0000"  >&lt;p&gt;We have similar issue which manifests through this exception:&lt;br/&gt;
Exception in thread &quot;Thread-105&quot; java.util.concurrent.RejectedExecutionException: Task org.opendaylight.openflowplugin.openflow.md.core.HandshakeStepWrapper@60ee157a rejected from org.opendaylight.openflowplugin.openflow.md.core.ThreadPoolLoggingExecutor@2ec42e4d&lt;span class=&quot;error&quot;&gt;&amp;#91;Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0&amp;#93;&lt;/span&gt;&lt;br/&gt;
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)&lt;br/&gt;
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)&lt;br/&gt;
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)&lt;br/&gt;
at org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductorImpl.onConnectionReady(ConnectionConductorImpl.java:417)&lt;br/&gt;
at org.opendaylight.openflowjava.protocol.impl.connection.ConnectionAdapterImpl$3.run(ConnectionAdapterImpl.java:463)&lt;br/&gt;
at java.lang.Thread.run(Thread.java:745)&lt;/p&gt;

&lt;p&gt;Common reason is talking to device when connection down.&lt;/p&gt;</comment>
                            <comment id="56480" author="mirehak@cisco.com" created="Tue, 2 Jun 2015 12:27:16 +0000"  >&lt;p&gt;stable/lithium:&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/21648&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/21648&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="56481" author="mirehak@cisco.com" created="Fri, 5 Jun 2015 09:14:30 +0000"  >&lt;p&gt;merged&lt;/p&gt;</comment>
                            <comment id="56482" author="han.yunyun@zte.com.cn" created="Wed, 19 Oct 2016 02:33:53 +0000"  >&lt;p&gt;(In reply to michal rehak from comment #7)&lt;br/&gt;
&amp;gt; merged&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2668</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=2668]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10301"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i030n3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>