netdev
[Top] [All Lists]

Re: netlink drops messages.

To: Andi Kleen <ak@xxxxxx>
Subject: Re: netlink drops messages.
From: Gleb Natapov <gleb@xxxxxxxxxxx>
Date: Wed, 17 Jan 2001 10:05:07 +0200
Cc: kuznet@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20010116210345.A8319@fred.local>; from ak@muc.de on Tue, Jan 16, 2001 at 09:03:45PM +0100
References: <20010116193553.B5122@nbase.co.il> <20010116210345.A8319@fred.local>
Sender: owner-netdev@xxxxxxxxxxx
On Tue, Jan 16, 2001 at 09:03:45PM +0100, Andi Kleen wrote:
> 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.
>

Here is how NLMSG_GOODSIZE is defined:
#define NLMSG_GOODSIZE (PAGE_SIZE - ((sizeof(struct sk_buff)+0xF)&~0xF))
So sk_buff header is not an issue here.
 
--
                        Gleb.

<Prev in Thread] Current Thread [Next in Thread>