summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorroopa <roopa@cumulusnetworks.com>2012-11-19 06:14:23 (GMT)
committerThomas Graf <tgraf@redhat.com>2012-11-19 09:15:04 (GMT)
commit4d94ed5f6bd3492965882f080120fed9de7131a5 (patch)
tree545ee44da633d867247108841e91f3e22caa80c0 /include
parent00132b46968fff7975eb8d20a307c626dfefe2f1 (diff)
downloadlibnl-4d94ed5f6bd3492965882f080120fed9de7131a5.zip
libnl-4d94ed5f6bd3492965882f080120fed9de7131a5.tar.gz
libnl-4d94ed5f6bd3492965882f080120fed9de7131a5.tar.bz2
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>
Diffstat (limited to 'include')
-rw-r--r--include/netlink-types.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/netlink-types.h b/include/netlink-types.h
index 2bb4f0a..057ea2b 100644
--- a/include/netlink-types.h
+++ b/include/netlink-types.h
@@ -98,6 +98,7 @@ struct nl_cache_mngr
int cm_flags;
int cm_nassocs;
struct nl_sock * cm_sock;
+ struct nl_sock * cm_sync_sock;
struct nl_cache_assoc * cm_assocs;
};