On Tue, Jan 16, 2001 at 06:38:28PM +0100, Gleb Natapov wrote:
> Hello,
>
> Recently I noticed that when I simultaneously do 'up' to many network
> interfaces
> (many is ~15) netlink drops part of the messages about interface state change
> and thus
> my userspace tools don't know that some interfaces are in up state now. The
> error that
> I get from netlink socket is "No buffer space available".
>
> After looking at the code I saw that the only way I can get such error from
> netlink
> is if sk->rmem_allock is bigger than sk->rcvbuf. I can enlarge sk->rcvbuf,
> but for each
> interface I receive six messages and each of this messages is smaller then
> 200 bytes.
> the default size of sk->rcvbuf is 65535 bytes, so why messages about 15
> interfaces can't
> fit in default buffer size?
Because the sk_buff header size is accounted too.
sk_buffs are not lightweight.
-Andi
|