From 7f20c57e378cf76b68b7bf83613032a75bf832fd Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Fri, 21 Oct 2011 11:31:58 +0200 Subject: [PATCH] link: Ignore bridging notifications in link cache manager RTM_DELLINK and RTM_NEWLINK bridging notifications should not delete/add entries to a link cache. --- lib/route/link.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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, }; -- 2.40.0