---- On Mon, 07 Dec 2015 09:49:34 +0000 Henning Rogge<[email protected]> wrote 
---- 
 > On Mon, Dec 7, 2015 at 10:21 AM, Juliusz Chroboczek 
 > <[email protected]> wrote: 
 > >> netlink_read: recvmsg(): No buffer space available 
 > > 
 > > I've seen that.  I have no idea what causes that, but babeld should 
 > > recover cleanly (by closing and reopening the netlink socket). 
 >  
 > I had them in OLSRv2 too... in my case it was the case that the buffer 
 > for receiving netlink messages from the kernel became full, I had too 
 > many netlink message "in flight". 
 >  
 > I solved it by having a rate limitation, sending a block of netlink 
 > messages, then waiting for the ACKs before sending the next. 

Hello.

Not sure if this helps, but I remember a long time ago Quagga would hit 
rtnetlink (?) buffer boundary quite often installing and uninstalling BGP full 
view routes. To be honest, right now I am not sure it wasn't the FreeBSD 
routing socket interface in that case, but the point is the problem went away 
after raising the socket buffer size to a few megabytes from then-default 64KB 
or similar.

As a side note, ENOBUFS set by recvmsg() looks a bit strange because in this 
case the caller is pulling _from_ the buffer. ENOBUFS would be much more 
expected after sendmsg(). I have not used the sockets interface for a while, 
but the man page reminds that the receiver should see MSG_TRUNC raised on the 
message itself in this case.

-- 
    Denis Ovsienko


_______________________________________________
Babel-users mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/babel-users

Reply via email to