Set tc->tc_link if link cache is available

When parsing tc objects, lookup link in link cache if such a
cache is available.
This commit is contained in:
Thomas Graf 2011-04-20 16:30:49 +02:00
parent fac4885608
commit c18730ddf6

View file

@ -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;
}