From: Thomas Graf Date: Fri, 21 Oct 2011 09:31:58 +0000 (+0200) Subject: link: Ignore bridging notifications in link cache manager X-Git-Tag: libnl3_2_2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f20c57e378cf76b68b7bf83613032a75bf832fd;p=thirdparty%2Flibnl.git link: Ignore bridging notifications in link cache manager RTM_DELLINK and RTM_NEWLINK bridging notifications should not delete/add entries to a link cache. --- diff --git a/lib/route/link.c b/lib/route/link.c index 00beb08..b252f39 100644 --- a/lib/route/link.c +++ b/lib/route/link.c @@ -528,6 +528,19 @@ errout: return err; } +static int link_event_filter(struct nl_cache *cache, struct nl_object *obj) +{ + struct rtnl_link *link = (struct rtnl_link *) obj; + + /* + * Ignore bridging messages when keeping the cache manager up to date. + */ + if (link->l_family == AF_BRIDGE) + return NL_SKIP; + + return NL_OK; +} + static int link_request_update(struct nl_cache *cache, struct nl_sock *sk) { int family = cache->c_iarg1; @@ -2186,6 +2199,7 @@ static struct nl_cache_ops rtnl_link_ops = { .co_groups = link_groups, .co_request_update = link_request_update, .co_msg_parser = link_msg_parser, + .co_event_filter = link_event_filter, .co_obj_ops = &link_obj_ops, };