]> granicus.if.org Git - libnl/commit
Bug Fix: Add new fill socket to cache manager
authorroopa <roopa@cumulusnetworks.com>
Mon, 19 Nov 2012 06:14:23 +0000 (22:14 -0800)
committerThomas Graf <tgraf@redhat.com>
Mon, 19 Nov 2012 09:15:04 +0000 (10:15 +0100)
commit4d94ed5f6bd3492965882f080120fed9de7131a5
tree545ee44da633d867247108841e91f3e22caa80c0
parent00132b46968fff7975eb8d20a307c626dfefe2f1
Bug Fix: Add new fill socket to cache manager

This patch adds a new socket to cache manager to request fill's on.
cache manager today uses cm_sock to request dump from
the kernel. It also listens to netlink async events on the same sock.
The problem with this 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

This is usually reproducible when there is heavy netlink async event
traffic during nl_cache_mngr_add.

This patch adds a new cm_sync_sock to use for fill during cache manager
add cache.

The other option is to provide an api to set the cm_sync_sock. But since
this is a bug fix its probably better to fix the cache manager add api
like this patch does. Please suggest otherwise.

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Reviewed-by: Nolan Leake <nolan@cumulusnetworks.com>
Reviewed-by: Shrijeet Mukherjee <shm@cumulusnetworks.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
include/netlink-types.h
lib/cache_mngr.c