Hi all,
I developed a Ryu app whose task it is to create an internal graph of the
network, to draw the graph, to calculate the shortest paths between the
hosts and to insert flow entries accordingly.
After I start mininet I shoot up the Ryu controller which should at first
build the internal graph by capturing the EventSwitchEnter/Leave and
EventLinkAdd/Delete events send from the ryu.topology.switches app.
Unfortunately, after all switches are registered at the controller and all
links are added, the switches are unregistered again one after another.
According to the code in switches.py this is caused by EventOFPStateChange
events send from the switches, whereas the datapath state is
DEAD_DISPATCHER.
After all switches are unregistered the process repeats and they are
registered again !
This process repeats several times, eventually reaching a "stable" state
after a while where every switch stays registered. After that, everthing
works fine.
But it takes awfully long to get there and I have no idea why this happens.
I thought the reason might be some echo request/response timeout.
When I sniffer the packets send between the switches and the controller
with Wireshark the echo response messages of the controller look quite
sparse.
Is it possible that my app takes to much computation time so that the
controller is not able to send the echo responses in time?
Therefore, I tried to change the maximum reconnect timeout of the switches
(I am using OVSSwitches) which is set to 1000 ms on default (node.py).
self.addSwitch('s1', protocols='OpenFlow13', reconnectms=60000)
But this does not seem to have any effect.
Does anyone have an idea what could cause this strange behaviour?
Regards,
Emmanuel
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel