You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The simplest answer is to connect the switches to multiple controllers concurrently (if you use mininet, this is a mininet configuration issue). By doing this, all controllers have the EQUAL role, and you can use any of them to issue commands. To the best of my knowledge, the Ryu framework does not support coordination among the Ryu instances or load balancing. You need to write custom code for that.
If you need to elect a master controller and have the others as backups, then you should write the code for the election coordination from scratch. Taking the example of Zookeeper, each Ryu controller instance can run a dedicated RyuApp to communicate with Zookeeper and enter in an election procedure. The instance that wins the election process promotes itself to master. The rest of the controllers should monitor the status of the master controller and if the latter fails, then a new election procedure should start.
This is a starting example (https://github.com/coscin/coscin-app-ryu) if you want to go for the master/slave approach. Although, this project has several drawbacks, including that it does not scale for multiple switches and implements a manual heartbeat mechanism rather than leveraging the internal mechanism of Ryu to monitor the connection status of a switch.
Can Ryu support Multi-controller or not??
how to create multi-controller network in mininet and how to run Ryu app in each controller??
The text was updated successfully, but these errors were encountered: