[ovs-discuss] ovs memory requirements / limits

Ben Pfaff blp at nicira.com
Tue May 17 22:32:20 UTC 2011

On Tue, May 17, 2011 at 02:56:02PM -0700, Madhusudan Challa wrote:
> I am trying to understand ovf memory requirements and flow limits for the
> vswitchd daemon and the ovs kernel module. Specifically :
> 1. memory taken in userspace and kernel per flow control rule.

Each OpenFlow rule takes a few hundred bytes in userspace.

Each active flow takes a few hundred bytes in the kernel.  The more
active flows, the faster userspace expires them due to inactivity, so
it's quite hard to use up much memory that way.

> 2. limits on # of flows control rules.

We have tested that hundreds of thousands of OpenFlow rules work OK,
as long as you have memory for them.

> 3. any additional memory taken by datapath when packet arrives.

If a packet has to be queued to userspace, then the packet itself
takes up memory until ovs-vswitchd reads it out.  There is some
overhead for bookkeeping too.

Forwarded packets not queued to userspace only take up memory long
enough to be queued to their destination network devices.

> 4. # of packets that could be buffered in user space pending reply from
> controller.

Up to 256 packets per configured controller at any given time.

More information about the discuss mailing list