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 19:18:12 +0200
Cc: kuznet@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <20010117171438.B5589@fred.local>; from ak@muc.de on Wed, Jan 17, 2001 at 05:14:38PM +0100
References: <20010116200600.C5122@nbase.co.il> <200101161828.VAA31502@ms2.inr.ac.ru> <20010117101720.F5122@nbase.co.il> <20010117120652.A1830@fred.local> <20010117133932.B16180@nbase.co.il> <20010117141900.A3308@fred.local> <20010117155035.C16180@nbase.co.il> <20010117171438.B5589@fred.local>
Sender: owner-netdev@xxxxxxxxxxx
On Wed, Jan 17, 2001 at 05:14:38PM +0100, Andi Kleen wrote:
> On Wed, Jan 17, 2001 at 02:51:48PM +0100, Gleb Natapov wrote:
> > 
> > You are trying to say that if I'll connect to my router via 9600 serial 
> > line and run 'ip monitor'
> > there the routing daemon will not be able to feed routes to the kernel 
> > quicker than ip monitor will
> > be able to read them and send output via slow serial line?! Somehow 9600 
> > serial line become a
> > bottleneck! Are you sure about that, or I misunderstood you?
> 
> You misunderstood me. The kernel side doesn't do any flow control, it just 
> drops messages when the 
> buffers fill up. The user side does flow control by blocking or EAGAIN, e.g. 
> you submitting new
> routes.
>
What user side? There are to sides: W - feeds routes to the kernel, R - read 
netlink updates from the kernel.

Who does flow control and how? 

W knows nothing about R it simple adds routes to the kernel with the speed 
kernel can process them.
R tries its best to read messages from kernel, but if it doesn't do this fast 
enough it will get ENOBUFS.

The only one who can synchronize between W and R is kernel, but I hope kernel 
doesn't do this.
--
                        Gleb.

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