[L2SWITCH-31] Loop Remover only works 1 time after controller starts Created: 23/Jan/15  Updated: 19/Oct/17  Resolved: 22/Jun/15

Status: Resolved
Project: l2switch
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Luis Gomez Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: PC


External issue ID: 2629

 Description   

Loop remover only works first time you bring mininet after controller starts, second and sucesive times does not work.

To reproduce:

1) Start controller

2) Start mininet in ring or regular topology like linear

3) Check port inventory and see loopremover working:

<node-connector>
<id>openflow:1:2</id>
<status xmlns="urn:opendaylight:l2switch:loopremover">forwarding</status>

4) Stop mininet

5) Start mininet again (same topology used in 2)

6) Check port inventory, now there is no loopremover in any port

7) In case of ring topology this will cause packet loop

BR/Luis



 Comments   
Comment by Luis Gomez [ 27/Jan/15 ]

I will add the comment that in the case of a ring topology, when the loop remover is not present and a host sends a ping, this produces a packet storm not just in the data plane but also on the control plane (l2switch flood flows send traffic to controller). This produces all kind of issues in controller like high CPU, dummy switches after stopping mininet, no host discovery, etc... Only workaround I have seen is to restart controller.

BR/Luis

Comment by Evan Zeller [ 14/Apr/15 ]

See: https://git.opendaylight.org/gerrit/#/c/18218/

In addition to the loss of StpStatus on NodeConnectors it seems this bug has scale impacts as well.

Before:
sudo mn --topo tree,7 (127 nodes)
Failed pings & "DOMRpcRouter-listener-0" java.lang.IllegalArgumentException: Route Identifiers must be supplied" in logs.

After:
sudo mn --topo tree,7 (127 nodes)
16256/16256 success pingall

sudo mn --topo tree,8 (255 nodes)
100% success pingall

at 511 nodes (--topo tree,9) the exception "DOMRpcRouter-listener-0" java.lang.IllegalArgumentException: Route Identifiers must be supplied" reappears and some pings begin to fail.

Comment by Luis Gomez [ 15/Apr/15 ]

And you made these perf tests using master code? there are some issues with openflow topology mgr that impacts the l2switch as you can see in the CI test:

https://jenkins.opendaylight.org/releng/view/CSIT-1node/job/l2switch-csit-1node-cds-switch-only-master/

Generated at Wed Feb 07 20:05:44 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.