How to bundle requests?

Thomas Graf tgraf at infradead.org
Fri Oct 28 06:37:13 EDT 2011


On Fri, Oct 28, 2011 at 11:34:42AM +0100, Tilman Baumann wrote:
> On 28/10/11 11:29, Thomas Graf wrote:
> >On Wed, Oct 26, 2011 at 05:46:09PM +0100, Tilman Baumann wrote:
> >>Is that the same as calling recv() twice on the socket?
> >
> >You have to continue calling recvmsg() until you receive either an
> >error/ack, a complete message without NLM_F_MULTI or a NLMSG_DONE
> >message. This sequence has to be repeated for each request sent.
> >
> >I am not sure if anybody ever used the message bundling feature. There
> >may be bugs involved in the kernel. If you use the libnl API for
> >receiving, feel free to set the environment variable NLCB=debug and
> >send me the output and I will be more likely to help.
> 
> Yea, I'm beginning to understand that libnl has some helper
> functions around the socket handling wich are perhaps easier to deal
> with.
> I think I will take the time to rebuild my code to use those instead
> of send() and recv() directly.

http://www.infradead.org/~tgr/libnl/doc/core.html#core_recv

If anything is unclear tell me about it and I will try to improve the
documentation.



More information about the libnl mailing list