---- 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