This commit allows CPqD switches to properly connect to multiple OF controller instances.
Added multi-controller support to CPqD switch
As I understand it, the Stanford reference switch and CPqD switches implement the 1.0 failover behavior.
The CPqD switch should implement the 1.2+ semantics - but I don't believe it does.
Can you confirm - with supporting documentation - that the change you are suggesting will in fact implement the 1.2+ semantics, which allow the controller to change its role to equal, master, or slave?
Can you also confirm that this change will not break the 1.0 failover behavior, which is tested in examples/test/test_controlnet.py?
It seems to me that the right thing to do here is probably to fix the CPqD switch to have the correct 1.2+ behavior when it is operating in 1.3 mode, and to keep Mininet the same.
I'll do some tests and get back to you.
I'm closing this for now. If you want to reopen it, I'd suggest marking it explicitly as a hack/workaround that isn't strictly correct.
As I noted, it seems like the wrong approach. The right thing to do is to fix the CPqD switch to have it implement the correct semantics.
If you can't do that, then the hack probably belongs in a custom file, not in Mininet proper.