<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:05:43 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>[L2SWITCH-24] Loop detection fails with parallel links</title>
                <link>https://jira.opendaylight.org/browse/L2SWITCH-24</link>
                <project id="10134" key="L2SWITCH">l2switch</project>
                    <description>&lt;p&gt;It seems that STP implementation does not take into account if two switches are connected with multiple links.&lt;/p&gt;


&lt;p&gt;The problem appears if I have a looping topology AND some switches are connected with more than one link,&lt;br/&gt;
For example:&lt;/p&gt;

&lt;p&gt;3 switches s1, s2, s3&lt;br/&gt;
2 hosts h1 &amp;lt;-&lt;del&gt;&amp;gt; s1 and h2 &amp;lt;&lt;/del&gt;-&amp;gt; s2&lt;br/&gt;
s1 &amp;lt;-&lt;del&gt;&amp;gt; s2 &amp;lt;&lt;/del&gt;&lt;del&gt;&amp;gt; s3 &amp;lt;&lt;/del&gt;-&amp;gt; s1&lt;br/&gt;
and additionally s1 &amp;lt;--&amp;gt; s2 &lt;br/&gt;
(that is, s1 &amp;lt;==&amp;gt; s2, connected with 2 links)&lt;/p&gt;

&lt;p&gt;Attached a close-to-minimal mininet script (don&apos;t forget to change controller ip inside...)&lt;/p&gt;


&lt;p&gt;mininet&amp;gt; net show&lt;br/&gt;
&amp;gt; h1 h1-eth0:s1-eth3&lt;br/&gt;
&amp;gt; h2 h2-eth0:s2-eth3&lt;br/&gt;
&amp;gt; s1 lo:  s1-eth1:s2-eth1 s1-eth2:s3-eth2 s1-eth3:h1-eth0 s1-eth4:s2-eth4&lt;br/&gt;
&amp;gt; s2 lo:  s2-eth1:s1-eth1 s2-eth2:s3-eth1 s2-eth3:h2-eth0 s2-eth4:s1-eth4&lt;br/&gt;
&amp;gt; s3 lo:  s3-eth1:s2-eth2 s3-eth2:s1-eth2&lt;br/&gt;
&amp;gt; opendaylight&lt;/p&gt;


&lt;p&gt;mininet&amp;gt; pingall&lt;br/&gt;
&amp;gt; *** Ping: testing ping reachability&lt;br/&gt;
&amp;gt; h1 -&amp;gt; h2&lt;br/&gt;
&amp;gt; h2 -&amp;gt; h1&lt;br/&gt;
&amp;gt; *** Results: 0% dropped (2/2 received)&lt;br/&gt;
mininet&amp;gt; h1 ping h2&lt;br/&gt;
&amp;gt; PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=7.78 ms&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=8.37 ms (DUP!)&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=14.7 ms (DUP!)&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=14.7 ms (DUP!)&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=21.4 ms (DUP!)&lt;br/&gt;
&amp;gt; 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=21.5 ms (DUP!)&lt;/p&gt;

&lt;p&gt;Note! I was not able to constantly reproduce it.&lt;br/&gt;
Successful case (loops are still there) would be:&lt;/p&gt;

&lt;p&gt;$ sudo ovs-ofctl -O OpenFlow13 dump-flows s1&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=28.454s, table=0, n_packets=6, n_bytes=420, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000000, duration=22.614s, table=0, n_packets=280, n_bytes=27356, priority=2,in_port=3 actions=output:2,output:1,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000002, duration=22.613s, table=0, n_packets=1197860, n_bytes=57779596, priority=2,in_port=1 actions=output:3,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000001, duration=22.614s, table=0, n_packets=410894, n_bytes=28474348, priority=2,in_port=2 actions=output:3,output:1&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=28.475s, table=0, n_packets=18, n_bytes=1134, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;/p&gt;

&lt;p&gt;$ sudo ovs-ofctl -O OpenFlow13 dump-flows s2&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2a00000000000041, duration=13.870s, table=0, n_packets=1034824, n_bytes=44213400, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=ee:4e:fa:16:0d:a9,dl_dst=ae:a3:8c:5e:e8:45 actions=output:1&lt;br/&gt;
&amp;gt;  cookie=0x2a00000000000040, duration=13.870s, table=0, n_packets=22936, n_bytes=2247728, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=ae:a3:8c:5e:e8:45,dl_dst=ee:4e:fa:16:0d:a9 actions=output:3&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000004, duration=29.836s, table=0, n_packets=5, n_bytes=350, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000004, duration=23.975s, table=0, n_packets=357, n_bytes=24822, priority=2,in_port=3 actions=output:1,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000003, duration=23.977s, table=0, n_packets=408566, n_bytes=27959148, priority=2,in_port=1 actions=output:3,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=23.975s, table=0, n_packets=216758, n_bytes=15181740, priority=2,in_port=2 actions=output:1,output:3&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000000, duration=29.867s, table=0, n_packets=18, n_bytes=1134, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;/p&gt;

&lt;p&gt;$ sudo ovs-ofctl -O OpenFlow13 dump-flows s3&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000003, duration=31.751s, table=0, n_packets=2, n_bytes=140, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000006, duration=25.890s, table=0, n_packets=438109, n_bytes=30252390, priority=2,in_port=1 actions=output:2&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000007, duration=25.889s, table=0, n_packets=1373825, n_bytes=65172254, priority=2,in_port=2 actions=output:1&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000004, duration=31.751s, table=0, n_packets=12, n_bytes=756, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;/p&gt;



&lt;p&gt;Unsucessfull (in sense of a bug proof, i.e. no duplicates) :&lt;/p&gt;

&lt;p&gt;$ sudo ovs-ofctl -O OpenFlow13 dump-flows s1&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2a000000000006b6, duration=4.390s, table=0, n_packets=71152, n_bytes=6972896, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=5e:f5:de:16:32:31,dl_dst=16:a4:ef:d6:bf:56 actions=output:1&lt;br/&gt;
&amp;gt;  cookie=0x2a000000000006b7, duration=4.325s, table=0, n_packets=360962, n_bytes=15210692, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=16:a4:ef:d6:bf:56,dl_dst=5e:f5:de:16:32:31 actions=output:3&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000003, duration=21.695s, table=0, n_packets=9, n_bytes=574, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000000, duration=15.308s, table=0, n_packets=2, n_bytes=140, priority=2,in_port=3 actions=output:2,output:1,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000002, duration=15.300s, table=0, n_packets=185850, n_bytes=7805924, priority=2,in_port=1 actions=output:3,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000001, duration=15.308s, table=0, n_packets=185166, n_bytes=7777084, priority=2,in_port=2 actions=output:3,output:1&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000003, duration=21.713s, table=0, n_packets=12, n_bytes=756, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;/p&gt;

&lt;p&gt;$ sudo ovs-ofctl -O OpenFlow13 dump-flows s2&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2a00000000001344, duration=5.707s, table=0, n_packets=11634, n_bytes=1140132, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=5e:f5:de:16:32:31,dl_dst=16:a4:ef:d6:bf:56 actions=output:3&lt;br/&gt;
&amp;gt;  cookie=0x2a00000000001345, duration=5.707s, table=0, n_packets=416636, n_bytes=17503696, idle_timeout=1800, hard_timeout=3600, priority=10,dl_src=16:a4:ef:d6:bf:56,dl_dst=5e:f5:de:16:32:31 actions=output:1&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000000, duration=22.837s, table=0, n_packets=11, n_bytes=686, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000004, duration=16.438s, table=0, n_packets=1713, n_bytes=96418, priority=2,in_port=3 actions=output:1,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000003, duration=16.440s, table=0, n_packets=264048, n_bytes=13849696, priority=2,in_port=1 actions=output:3,output:2,CONTROLLER:65535&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=16.438s, table=0, n_packets=225386, n_bytes=10031476, priority=2,in_port=2 actions=output:1,output:3&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000004, duration=22.850s, table=0, n_packets=13, n_bytes=819, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;br/&gt;
$ sudo ovs-ofctl -O OpenFlow13 dump-flows s3&lt;br/&gt;
&amp;gt; OFPST_FLOW reply (OF1.3) (xid=0x2):&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=24.258s, table=0, n_packets=4, n_bytes=280, priority=0 actions=drop&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000006, duration=17.863s, table=0, n_packets=321565, n_bytes=16938362, priority=2,in_port=1 actions=output:2&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000007, duration=17.863s, table=0, n_packets=269279, n_bytes=11874982, priority=2,in_port=2 actions=output:1&lt;br/&gt;
&amp;gt;  cookie=0x2b00000000000005, duration=24.279s, table=0, n_packets=9, n_bytes=567, priority=100,dl_type=0x88cc actions=CONTROLLER:65535&lt;/p&gt;



&lt;p&gt;Software used:&lt;/p&gt;

&lt;p&gt;Open vSwitch 2.3.0 (compiled from sources)&lt;br/&gt;
Mininet 2.1.0+ (from git)&lt;br/&gt;
opendaylight integration, commit bbc3ccecba9e8be646e618d26e0836c727015de1  (27 sept), karaf&lt;br/&gt;
    feature installed: odl-l2switch-switch-ui&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="21537">L2SWITCH-24</key>
            <summary>Loop detection fails with parallel links</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="tigran.avanesov@uni.lu">Tigran Avanesov</reporter>
                        <labels>
                    </labels>
                <created>Wed, 1 Oct 2014 17:29:06 +0000</created>
                <updated>Thu, 19 Oct 2017 21:28:21 +0000</updated>
                                            <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="40289" author="tigran.avanesov@uni.lu" created="Wed, 1 Oct 2014 17:29:06 +0000"  >&lt;p&gt;Attachment stp-bug.py has been added with description: mininet python script to build topology on which l2switch does not kill loops (in some cases)&lt;/p&gt;</comment>
                            <comment id="40290" author="vishpat@gmail.com" created="Wed, 19 Nov 2014 20:55:45 +0000"  >&lt;p&gt;Attachment topo.py has been added with description: mininet topology with a loop&lt;/p&gt;</comment>
                            <comment id="40287" author="vishpat@gmail.com" created="Wed, 19 Nov 2014 20:56:36 +0000"  >&lt;p&gt;I am hitting a similar problem when there is loop in the network. Have attached  mininet topology file that helps recreating the problem.&lt;/p&gt;</comment>
                            <comment id="40288" author="sai.marapareddy@gmail.com" created="Wed, 13 Apr 2016 20:22:05 +0000"  >&lt;p&gt;Add test with two parrallel links  ad checkout the result, if it re-occurs we can proritize this.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12743" name="stp-bug.py" size="1701" author="tigran.avanesov@uni.lu" created="Wed, 1 Oct 2014 17:29:06 +0000"/>
                            <attachment id="12744" name="topo.py" size="695" author="vishpat@gmail.com" created="Wed, 19 Nov 2014 20:55:45 +0000"/>
                    </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>2129</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=2129]]></customfieldvalue>

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

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

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