From: Thomas Graf Date: Wed, 20 Apr 2011 14:30:49 +0000 (+0200) Subject: Set tc->tc_link if link cache is available X-Git-Tag: libnl3_1~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c18730ddf69f70c79ebd77e6b0e173eadce96096;p=thirdparty%2Flibnl.git Set tc->tc_link if link cache is available When parsing tc objects, lookup link in link cache if such a cache is available. --- diff --git a/lib/route/tc.c b/lib/route/tc.c index 56aa410..0aa44f7 100644 --- a/lib/route/tc.c +++ b/lib/route/tc.c @@ -60,6 +60,7 @@ static struct nla_policy tc_stats2_policy[TCA_STATS_MAX+1] = { int rtnl_tc_msg_parse(struct nlmsghdr *n, struct rtnl_tc *tc) { + struct nl_cache *link_cache; struct rtnl_tc_ops *ops; struct nlattr *tb[TCA_MAX + 1]; char kind[TCKINDSIZ]; @@ -175,6 +176,13 @@ compat_xstats: return err; } + if ((link_cache = nl_cache_mngt_require("route/link"))) { + struct rtnl_link *link; + + if ((link = rtnl_link_get(link_cache, tc->tc_ifindex))) + rtnl_tc_set_link(tc, link); + } + return 0; }