Day 67: Syncing between master and slave controllers Part 1

Few assumptions stated in my previous posts have been wrongly assumed.
The assumptions were:
  • The flows installed in the switches are periodically refreshed or re-installed
  • The flows in the switch are retained in the switch as long as it is connected to the controller
After experimenting with the switches, trying to analyze if any timeouts exist on the flows, if the switch configurations are set properly, I realized the following:
  • The flows once installed in the switch remain in it until the switch is turned off
  • The flows remain in the switch even when the controller port is not connected to any controller
So, why did I wrongly make the former assumptions?

It so happens that my Zodiac FX switches (not all of them, few of them) automatically switch off and back on sometimes. And out of these, only few times the switches retain all flows, few other times they lose out on few or all flows. This appears as an error on my controller

DPSET: Multiple connections from <switch-dpid>

This was the reason my flows were not active all the time and lead to my flase assumptions. I've tried to replace the USB cables and ethernet cables that might be responsible for this kind of behaviour. Although the frequency of the error has reduced, it still persists. When I checked online for more info, I must say I was a little relieved as this problem is faced by many people and there exists no definitive fix at this point of time. For now, I shall just treat it as a hardware anomaly and continue with my further experimentation by eliminating all false assumptions I had previously made.

Since my old assumptions do not hold, I need to address one thing:

I had previously decided not to have any syncing feature between controller assuming that whenever a controller takes over, it will install few flows of its own.

In the next post, I shall be addressing the same.

Refer to previous and next posts here.

Author: Shravanya
Co-author: Swati

Comments

Popular posts from this blog

Day 12: Master Slave SDN Controller Architecture

Day 50: Tcpreplay and tcpliveplay approach

Day 10: Mininet Simulation of a basic distributed SDN controller architeture