<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:31:52 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-215] LLDP packet flood and wrong topology discovery in OpenFlow13 for topologies with redundant edges</title>
                <link>https://jira.opendaylight.org/browse/OPNFLWPLUG-215</link>
                <project id="10155" key="OPNFLWPLUG">OpenFlowPlugin</project>
                    <description>&lt;p&gt;&lt;b&gt;General Info:&lt;/b&gt;&lt;br/&gt;
mininet version: 2.1.0&lt;br/&gt;
ovs_version: &quot;2.0.0&quot;&lt;br/&gt;
controller: distributions-virtualization-0.2.0-20140709.101228-22-osgipackage.zip&lt;br/&gt;
Related to: &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-618&quot; title=&quot;Wrong topology discovery with OpenFlow13&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-618&quot;&gt;&lt;del&gt;CONTROLLER-618&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;#############################################################################&lt;br/&gt;
&lt;b&gt;Issues:&lt;/b&gt;&lt;br/&gt;
1- LLDP packets flood &lt;br/&gt;
2- wrong topology discovery&lt;br/&gt;
3- high CPU usage on controller and OVS nodes&lt;br/&gt;
4- Exceptions in controller (related?)&lt;br/&gt;
5- No flow rules in OVS&lt;/p&gt;

&lt;p&gt;#############################################################################&lt;br/&gt;
&lt;b&gt;Steps to reproduce&lt;/b&gt;&lt;br/&gt;
mininet$ wget &lt;a href=&quot;https://raw.githubusercontent.com/aryantaheri/miniexp/master/topo/core.py&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://raw.githubusercontent.com/aryantaheri/miniexp/master/topo/core.py&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;mininet$ sudo mn --custom ./core.py --topo core1  --controller=remote,ip=192.168.10.10 --switch ovsk,protocols=OpenFlow13&lt;/p&gt;

&lt;p&gt;controller$ ./run.sh -virt ovsdb -of13&lt;/p&gt;

&lt;p&gt;#############################################################################&lt;br/&gt;
&lt;b&gt;Result:&lt;/b&gt;&lt;br/&gt;
see wrong-topo2.png in attachments&lt;/p&gt;

&lt;p&gt;osgi&amp;gt; printNodeEdges&lt;br/&gt;
...&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
...&lt;/p&gt;

&lt;p&gt;Exception:&lt;br/&gt;
2014-07-10 13:51:13.715 CEST &lt;span class=&quot;error&quot;&gt;&amp;#91;FlowCapableTopologyExporter-flow:1&amp;#93;&lt;/span&gt; ERROR o.o.m.c.t.manager.OperationProcessor - Topology export transaction DOM-122167 failed&lt;br/&gt;
org.opendaylight.controller.md.sal.common.api.data.OptimisticLockFailedException: Optimistic lock failed.&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:321) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:311) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:293) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:61) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl.canCommit(InMemoryDOMDataStore.java:311) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataCommitCoordinatorImpl$CommitCoordinationTask.canCommitAll(DOMDataCommitCoordinatorImpl.java:345) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataCommitCoordinatorImpl$CommitCoordinationTask.canCommitBlocking(DOMDataCommitCoordinatorImpl.java:187) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataCommitCoordinatorImpl$CommitCoordinationTask.call(DOMDataCommitCoordinatorImpl.java:164) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataCommitCoordinatorImpl$CommitCoordinationTask.call(DOMDataCommitCoordinatorImpl.java:144) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at java.lang.Thread.run(Thread.java:745) &lt;span class=&quot;error&quot;&gt;&amp;#91;na:1.7.0_60&amp;#93;&lt;/span&gt;&lt;br/&gt;
Caused by: org.opendaylight.yangtools.yang.data.api.schema.tree.ConflictingModificationAppliedException: Node was deleted by other transaction.&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkConflicting(SchemaAwareApplyOperation.java:80) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:167) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkMergeApplicable(NormalizedNodeContainerModificationStrategy.java:186) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:137) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkChildPreconditions(NormalizedNodeContainerModificationStrategy.java:178) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.NormalizedNodeContainerModificationStrategy.checkSubtreeModificationApplicable(NormalizedNodeContainerModificationStrategy.java:168) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.SchemaAwareApplyOperation.checkApplicable(SchemaAwareApplyOperation.java:131) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.yangtools.yang.data.impl.schema.tree.InMemoryDataTree.validate(InMemoryDataTree.java:86) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
        at org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore$ThreePhaseCommitImpl$1.call(InMemoryDOMDataStore.java:315) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;na:na&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;mininet$ sudo ovs-appctl bridge/dump-flows s3&lt;br/&gt;
duration=22s, priority=180005, n_packets=0, n_bytes=0, priority=180005,arp,arp_tpa=192.168.10.10,arp_op=2,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180000, n_packets=0, n_bytes=0, priority=180000,udp,in_port=LOCAL,dl_src=aa:38:ca:cd:81:4d,tp_src=68,tp_dst=67,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180008, n_packets=0, n_bytes=0, priority=180008,tcp,nw_src=192.168.10.10,tp_src=6633,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180006, n_packets=0, n_bytes=0, priority=180006,arp,arp_spa=192.168.10.10,arp_op=1,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180007, n_packets=0, n_bytes=0, priority=180007,tcp,nw_dst=192.168.10.10,tp_dst=6633,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180002, n_packets=0, n_bytes=0, priority=180002,arp,dl_src=aa:38:ca:cd:81:4d,arp_op=1,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180004, n_packets=0, n_bytes=0, priority=180004,arp,dl_src=52:54:00:93:9a:b3,arp_op=1,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180003, n_packets=0, n_bytes=0, priority=180003,arp,dl_dst=52:54:00:93:9a:b3,arp_op=2,actions=NORMAL&lt;br/&gt;
duration=22s, priority=180001, n_packets=0, n_bytes=0, priority=180001,arp,dl_dst=aa:38:ca:cd:81:4d,arp_op=2,actions=NORMAL&lt;br/&gt;
table_id=254, duration=22s, priority=0, n_packets=0, n_bytes=0, priority=0,reg0=0x3,actions=drop&lt;br/&gt;
table_id=254, duration=22s, priority=0, n_packets=31, n_bytes=2295, priority=0,reg0=0x1,actions=controller(reason=no_match)&lt;br/&gt;
table_id=254, duration=22s, priority=0, n_packets=0, n_bytes=0, priority=0,reg0=0x2,actions=drop&lt;/p&gt;


&lt;p&gt;mininet$ sudo tcpdump -i s2-eth1&lt;br/&gt;
05:00:07.153632 LLDP, length 49: openflow:3&lt;br/&gt;
05:00:07.154639 LLDP, length 49: openflow:1&lt;br/&gt;
05:00:07.154921 LLDP, length 49: openflow:1&lt;br/&gt;
05:00:07.157869 LLDP, length 49: openflow:2&lt;br/&gt;
05:00:07.158061 LLDP, length 49: openflow:2&lt;br/&gt;
05:00:07.158219 LLDP, length 49: openflow:1&lt;br/&gt;
05:00:07.160828 LLDP, length 49: openflow:2&lt;br/&gt;
05:00:07.161023 LLDP, length 49: openflow:4&lt;br/&gt;
05:00:07.161876 LLDP, length 49: openflow:2&lt;br/&gt;
05:00:07.162123 LLDP, length 49: openflow:4&lt;br/&gt;
05:00:07.162260 LLDP, length 49: openflow:4&lt;br/&gt;
05:00:07.163506 LLDP, length 49: openflow:4&lt;br/&gt;
05:00:07.164788 LLDP, length 49: openflow:4&lt;br/&gt;
...&lt;/p&gt;

&lt;p&gt;#############################################################################&lt;br/&gt;
&lt;b&gt;Expected Results:&lt;/b&gt;&lt;br/&gt;
see right-topo2.png&lt;/p&gt;

&lt;p&gt;mininet&amp;gt; net&lt;br/&gt;
s1 lo:  s1-eth1:s3-eth3 s1-eth2:s4-eth3&lt;br/&gt;
s2 lo:  s2-eth1:s4-eth1 s2-eth2:s3-eth1&lt;br/&gt;
s3 lo:  s3-eth1:s2-eth2 s3-eth2:s4-eth2 s3-eth3:s1-eth1&lt;br/&gt;
s4 lo:  s4-eth1:s2-eth1 s4-eth2:s3-eth2 s4-eth3:s1-eth2&lt;br/&gt;
c0&lt;/p&gt;

&lt;p&gt;osgi&amp;gt; printNodeEdges&lt;br/&gt;
        Node                                         Edge&lt;br/&gt;
OF|00:00:00:00:00:00:00:02             (OF|1@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:02             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:02             (OF|2@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:02             (OF|1@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|1@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|3@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|2@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|2@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:03             (OF|1@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:01             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:01             (OF|1@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:01             (OF|3@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:01             (OF|2@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:02-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|3@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:01)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:01-&amp;gt;OF|3@OF|00:00:00:00:00:00:00:04)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:03)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|1@OF|00:00:00:00:00:00:00:04-&amp;gt;OF|1@OF|00:00:00:00:00:00:00:02)&lt;br/&gt;
OF|00:00:00:00:00:00:00:04             (OF|2@OF|00:00:00:00:00:00:00:03-&amp;gt;OF|2@OF|00:00:00:00:00:00:00:04)&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="27483">OPNFLWPLUG-215</key>
            <summary>LLDP packet flood and wrong topology discovery in OpenFlow13 for topologies with redundant edges</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="-1">Unassigned</assignee>
                                    <reporter username="aryan@ux.uis.no">Aryan</reporter>
                        <labels>
                    </labels>
                <created>Thu, 10 Jul 2014 12:10:03 +0000</created>
                <updated>Mon, 27 Sep 2021 09:01:15 +0000</updated>
                            <resolved>Tue, 5 May 2015 07:15:33 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="55858" author="aryan@ux.uis.no" created="Thu, 10 Jul 2014 12:10:03 +0000"  >&lt;p&gt;Attachment ropos2.tar has been added with description: right and wrong topologies&lt;/p&gt;</comment>
                            <comment id="55856" author="carolsand@gmail.com" created="Mon, 4 May 2015 19:28:35 +0000"  >&lt;p&gt;This bug is part of the project to Move all ADSAL associated component bugs to ADSAL.&lt;/p&gt;</comment>
                            <comment id="55857" author="tony.tkacik@gmail.com" created="Tue, 5 May 2015 06:56:19 +0000"  >&lt;p&gt;Please check if this is still correct&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13896" name="ropos2.tar" size="296960" author="aryan@ux.uis.no" created="Thu, 10 Jul 2014 12:10:03 +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>1350</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=1350]]></customfieldvalue>

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

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