Suppose I have a topology like < host1--switch1--switch2--switch3--controller>. So, the physical path between switch1 and the controller consist of switch2 and switch3. Does the control traffic from switch1 to the controller goes from switch2 and switch3? I mean the openflow traffics between switch1 and the controller go to switch2 at first and then go to switch3 until it reach to the controller. Am I right?
1 Answers
Openflow switches have seperate management ports to connect to the controller. If you use outofband connection (direct connection to controller via management port) switch communicates with controller directly. In a such case, for data flows, you can still use the topology you mentioned.
But, if there is no management connection between switch 1 and controller, then it comes to "inband" connection. In a such case, switch 1 sends openflow messages via data port, switch 2 encapsulates this message and send to the controller.
From OpenFlow documentation:
The specication of the networks used for the OpenFlow channels is outside the scope of the present specication. It may be a separate dedicated network, or the OpenFlow channel may use the network managed by the OpenFlow switch (in-band controller connection). The only requirement is that it should provide TCP/IP connectivity.
Dedicated network means outofband connection.
To learn some details about inband you can look this documentation: Important part is:
In this setup, control traffic sent by switch A will be seen by switch B, which will send it to the controller as part of an OFPT_PACKET_IN message. Switch A will then see the OFPT_PACKET_IN message's packet, re-encapsulate it in another OFPT_PACKET_IN, and send it to the controller. Switch B will then see that OFPT_PACKET_IN, and so on in an infinite loop.

- 2,387
- 2
- 13
- 26
-
So, you mean for in-band controller connection, the openflow traffic of switch1 goes to switch2 and then goes to switch3 until it reachs the controller. – Ali Oct 23 '17 at 13:34
-
Yes. [OVS design documentation](http://openvswitch.org/support/dist-docs-2.5/DESIGN.md.html) has more detail about the subject. – Yavuz Sert Oct 23 '17 at 14:06
-
Fantastic, Suppose my controller is a tool like flowvisor and our openflow switches use in-band controller to connect to flowvisor. Also I want to create two slices and their controllers connect to switch1. Is it possible for flowvisor to connect to the controllers connected to switch1 where switch1 itself is managed by flowvisor? – Ali Nov 04 '17 at 13:24