[Bridge] Ulog : recvfrom no space available => how do I calculate a good value ?

Jean-Michel Hautbois jhautbois at gmail.com
Thu Jan 7 02:16:46 PST 2010


Hi everyone !

2010/1/4 Jean-Michel Hautbois <jhautbois at gmail.com>:
> 2010/1/4 Saikiran Madugula <hummerbliss at gmail.com>:
>> Jean-Michel Hautbois wrote:
>>> Hi there !
>>>
>>> I keep trying to use the ulog/netlink system to receive only the
>>> packets I'm interested by and bridging everything else...
>>> I have a problem using this, because of a too small buffer ?
>>>
>>> I am using the recvfrom as the example given on the website, and I am
>>> getting a "no space buffer available" when I have packets  about
>>> 2Mbits/sec...
>> Probably the netlink receive buffer is being overrun, try increasing the netlink
>> receive buffer size (see ipulog_create_handle() being called in
>> libipulog/ulog_test.c for example).
>
> I have a buffer length of 65536 for the socket... It already seems
> high for such a low bandwidth...
> Or am I misunderstanding something ?

I have changed the values in net.core.rmem_max and
net.core.rmem_default to 2097152.
It seems to be better, but when I increase the bandwidth, I have this
error "no buffer space avalaible" again...

Is there any way to have a high performance capture with ebtables+ulog ?
Something like zero-copy mechanism for example...

Thanks in advance !
Best Regards.
JM


More information about the Bridge mailing list