The cache layer uses the message type array stored in the cache
ops to lookup which cache a message belongs to. Update to the
the message array with the resolved generic netlink id to make
it compatible with the caching API.
Allows to use nl_cache_refill() and others for generic netlink
based caches with dynamic generic netlink ids.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
family = genl_ctrl_search_by_name(ctrl, ops->o_name);
if (family != NULL) {
ops->o_id = genl_family_get_id(family);
+
+ if (ops->o_cache_ops)
+ ops->o_cache_ops->co_msgtypes[0].mt_id = ops->o_id;
+
genl_family_put(family);
return 0;