[ovs-discuss] Question about openvswitch kernel module

Ben Pfaff blp at nicira.com
Fri Oct 28 23:35:06 UTC 2011

On Sat, Oct 29, 2011 at 01:25:01AM +0200, Voravit T. wrote:
> I would like to do some experiment with Open vSwitch kernel module.
> I follow instruction as per INSTALL.Linux to compile and start the
> switch with two ports and add one flow entry that forwards from one port
> to the other.
> When I use ovs-ofctl dump-flows I can see the flow entry that I add but
> when I use ovs-dpctl dump-flows it gives no output (please see second
> section in the attached file).

Flow entries are installed in the kernel flow table (that ovs-dpctl
dump-flows prints) only when packets arrive.

> I am wondering if this is normal or it could be some strange behaviour
> due to the way I have compiled the source code.
> By the way, is there a test tool that allows me to manage the Open
> vSwitch kernel module directly without running the database server and
> the ovs-vswicthd daemon?


> In addition, I noticed that there are 255 tables in my system with only
> the first table (0:classifier) is in used. Is there some way to remove
> the tables that I don't use?

The additional tables add an insignificant cost.  There is currently
no way to turn them off.

> I also noticed that there is a different flow table structure in Open
> vSwitch kernel module, using a kind of an array structure (flex_array).
> The old OpenFlow reference kernel module implementation uses a
> combination of two lookup tables; one hash and one linear.
> Does anyone know if there is any performance comparison between these
> types of lookup structures?

The newer organization should be faster in common usage.

More information about the discuss mailing list