Problem with cache manager complaining about not supported msg during cache fill

Thomas Graf tgraf at suug.ch
Thu Nov 15 09:42:05 EST 2012


On 11/15/12 at 06:30am, Roopa Prabhu wrote:
> Hi,
> 
> We have seen a problem with nl_cache_mngr_add doing a fill cache on
> the manager socket (cm_sock). The problem is that when libnl is
> waiting to process the response to get dump request sent to the
> kernel during fill, it may receive an async event, resulting in
> libnl complaining about unexpected msg (I think it is
> NLE_MSGTYPE_NOSUPPORT).
> 
> The simplest fix that works is using a new non-async socket
> (possibly passed in by the user) for the manager to use for fill
> instead of using the netlink event notification socket. This is
> usually reproducible when
> there is heavy netlink async event traffic during nl_cache_mngr_add.

Good point. I think using a separate socket for refills make sense.
Although we might find a way to handle events while a dump is in
progress I don't see how we can ever get that to work reliably. We
might as well just use two sockets.

Happy to see a patch for this.



More information about the libnl mailing list