0

I know each ovs has flow tables and these tables set or modify by the controller. My question is:

Can an ovs save any data without interference of the controller?

In the other words, can an ovs create a table in itself and change it with each new packet?

Mehdi Saman Booy
  • 2,760
  • 5
  • 26
  • 32

1 Answers1

0

In theory: Yes.

However, as any controller you will find thinks it's the boss of the network, it will remove anything the switch puts in flow tables on its own. I.e., as soon as the controller connects to the switch, tables are flushed.

If you are looking to implement something like this, just imitate the process of the OpenFlow protocol implementation. A packet arrives, switch does not know what to do, asks controller, controller tells switch what to do.

Where you start in this chain is up to you. You could, for example, introduce a new action which triggers an upcall. Or you implement this with an autonomous thread running in the bridge. Or you build an application on top of each switch which receives commands from somewhere and modifies flow-tables with the ovs-* binaries. Or you look into what switches do when they are not connected to a controller.

In practice, Open vSwitch already does this, as it applies the flow-mods it receives from a controller. All you need to figure out is where these flow-mods should come from. But to help you with that, additional information about your scenario is needed.

Brotsalat
  • 63
  • 5
  • Thanks for your reply. One important point for me is not change openvswitch structure in order to implement it in real. Think I have a real network topology with switches and a controller. Is there any way to save a table in each switch without connecting a "service host" to it? – Mehdi Saman Booy Nov 10 '16 at 07:41
  • Would the snoop or monitor command [Docs](http://openvswitch.org/support/dist-docs/ovs-ofctl.8.txt) help? You could write a script that first adds a flow table entry, use monitor to check for changes, and use that feedback to react. – Brotsalat Nov 17 '16 at 12:18