[ovs-discuss] Openvswitch performance problem

Jose Luis Franco Arza jlfarza15 at gmail.com
Tue May 31 17:03:42 UTC 2011

I am using the kernel version of OpenVswitch following the instructions
explained in the installation file. First of all installing the module, then
adding the datapath, the interfaces and finally executing the ovs-openflowd
command with the datapath and the ip of the nox controller to stablish the
When I tried to test the OpenVswitch I just stopped the nox controller
process and I installed the following entry in the flow table:

sudo ovs-ofctl add-flow dp1 "in_port=1 nw_src=* nw_dst=* idle_timeout=500
May 27 21:46:27|00191|ofp_util|INFO|normalization changed ofp_match,
May 27 21:46:27|00192|ofp_util|INFO| pre: wildcards=  0x3820fe  in_port=
1  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0
dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=
0  nw_dst=         0  tp_src=    0  tp_dst=    0
May 27 21:46:27|00193|ofp_util|INFO|post: wildcards=  0x3ffffe  in_port=
1  dl_src=00:00:00:00:00:00  dl_dst=00:00:00:00:00:00  dl_vlan=    0
dl_vlan_pcp=  0  dl_type=     0  nw_tos=   0  nw_proto=   0  nw_src=
0  nw_dst=         0  tp_src=    0  tp_dst=    0

Every packet comming from port one would go out by the port 2. After that I
started the pktgen program to generate the traffic and I did several
experiments changing the packet rate and the results obtained were the ones
of the graphics I attached.
The only difference could be the line I commented in the connmgr.c file, but
I also tried few experiments without it commented and the results were the
You told that you were able to forward around 200,000 flows/sec through the
OpenVSwitch, didn't you?Were you changing also the udp port per packet or
another field?though that shouldn't have any repercussion, no?

Thank you for your help,


2011/5/31 Ben Pfaff <blp at nicira.com>

> On Sat, May 28, 2011 at 06:50:25PM +0200, Jose Luis Franco Arza wrote:
> > I have been doing a small research about how many flows per second could
> > handle the NOX controller and the surprise was that the bottleneck was in
> > the OpenVSwitch.
> > When trying to install 20000 flows (modifying the UDP port number per
> packet
> > sent) after reaching the rate of 2000 packets per second then the
> > ovs-openflowd wasn't able to handel all the income packets and it started
> to
> > appear packet lost.
> Are you using the kernel or userspace version of the switch?  If you
> are using the userspace version, perhaps it would behave this poorly.
> The userspace version is just for quick-and-dirty ports and simple
> testing.  It is not a production switch.  I have not tested its
> performance.
> The kernel version of the switch should perform much better than
> this.  If I recall correctly, my own test results from last year
> were closer to 200,000 unique flow setups per second.  If you are
> using the kernel version of the switch and only get 2,000 per second,
> then something is seriously wrong.
> What is in your OpenFlow flow table?  How many flows, and what
> wildcards do they have?
> > So, I decided to try withot the existance of the NOX controller
> installing a
> > unique flow that would forward every packet in through the output port
> using
> > the wildcards. And the results said that the openvswitch is not able to
> > handle more than 2000 flows/sec.
> That doesn't make sense.
> P.S. You aren't running both ovs-openflowd and ovs-vswitchd, are you?
> Sometimes people make that mistake.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20110531/170730d2/attachment.html>

More information about the discuss mailing list