Details
-
Bug
-
Status: Resolved
-
High
-
Resolution: Done
-
Nitrogen-SR1, Fluorine
-
None
-
None
Description
I'm running ODL fluorine stable release (opendaylight-0.9.0.tar.gz) and facing this problem:
when a simulated switch (mininet) connects and disconnects very frequently, the openflowplugin enters in a loop and cannot recover the handshaking properly. This also affects the connection with some other switches.
I can reproduce the same issue in a network of real switches (Extreme/Edgecore switches).
When this problem happens, there is also a huge memory leak resulting in having the number of DeviceContextImpl instances growing indefinitely.
Steps to reproduce:
1) run opendaylight-0.9.0
2) feature:install features-openflowplugin
3) run mininet (sudo mn --topo linear,20 --switch ovsk,protocols=OpenFlow13 --mac --controller remote,port=6633,ip=127.0.0.1)
4) simulate a switch disconnection by running the command "./changectrl.sh 10000 0.1" (script in attachments)
5) wait 1-2 minutes, you should see odl trying indefinitely to regain the connection
6) stop the script, the memory leak is now growing (you can check the number of instances of DeviceContextImpl by running "jcmd <pid> GC.class_histogram | grep -e "org.opendaylight.openflowplugin.impl.device.DeviceContextImpl$")
In attachment also the karaf.log
Attachments
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 78571,2 | OPNFLWPLUG-1049 : Fix for switch handshaking loops indefinitely | stable/fluorine | openflowplugin | Status: ABANDONED | 0 | +1 |
| 78665,6 | OPNFLWPLUG-1049 : device connection hold time changes to introduce hold time between consecutive switch connections | master | openflowplugin | Status: ABANDONED | 0 | +1 |
| 78667,3 | OPNFLWPLUG-1049 : device connection hold time yang changes to introduce hold time between consecutive switch connections | master | controller | Status: ABANDONED | -2 | +1 |
| 81018,17 | OPNFLWPLUG-1049 : Device connection hold time to maintain delay between consecutive connections to the controller | master | openflowplugin | Status: MERGED | +2 | +1 |