[ovs-discuss] No buffer space available warning

Ben Pfaff blp at nicira.com
Mon Jun 11 17:11:28 UTC 2012


On Mon, Jun 11, 2012 at 06:14:17PM +0500, Junaid Khalid wrote:
> With the following are the platform specifications:
> 
>     OVS version: 1.4.0
>     traffic type: MTU size UDP packets @7000packets per second, generating
> 50,000 flows by changing UDP src Ports.
>     OS: Fedora release 12, Linux 2.6.31.5-127.fc12.i686.PAE
>     CPU: Intel Core i3 @ 2100 GHz
>     Controller: NOX, simple IP based switching application.
> 
> 
> If I generate 50,000 flows in two chunks, for example, first I generate
> traffic with src Port from 1 to 20,000 for few seconds then change the src
> Port range to 20,001 to 50,000, I get the following warnings:
> 
> Jun 11 16:41:06|00019|dpif|WARN|system at br0: recv failed (No buffer space
> available)
> Jun 11 16:41:19|00020|dpif|WARN|system at br0: recv failed (No buffer space
> available)
> Jun 11 16:41:22|00021|dpif|WARN|system at br0: recv failed (No buffer space
> available)
> Jun 11 16:41:24|00022|dpif|WARN|system at br0: recv failed (No buffer space
> available)
> 
> Following is the output of "ovs-dpctl show br0"
> 
> system at br0:
>  lookups: hit:491818 missed:603323 lost:116749
> flows: 28559
> 
> Moreover, if I generate 50,000 flows in one go, without any pause, then I
> do not get any error.
> 
> How to diagnose the problem? Has anyone else experienced such problem with
> reactive flow writing?

The problem is that packets are being dropped in the kernel-to-user
buffers.  You can try Open vSwitch from the "master" or "branch-1.7"
branches, which should handle this workload much better.

If your controller is receiving the first packet of every UDP flow,
I'm surprised that it can keep up.



More information about the discuss mailing list