Lines Matching +refs:link +refs:stats +refs:attrs

217 	struct rtnl_link *link, *old;  in rtnl_register_internal()  local
238 link = kmemdup(old, sizeof(*old), GFP_KERNEL); in rtnl_register_internal()
239 if (!link) in rtnl_register_internal()
242 link = kzalloc(sizeof(*link), GFP_KERNEL); in rtnl_register_internal()
243 if (!link) in rtnl_register_internal()
247 WARN_ON(link->owner && link->owner != owner); in rtnl_register_internal()
248 link->owner = owner; in rtnl_register_internal()
250 WARN_ON(doit && link->doit && link->doit != doit); in rtnl_register_internal()
252 link->doit = doit; in rtnl_register_internal()
253 WARN_ON(dumpit && link->dumpit && link->dumpit != dumpit); in rtnl_register_internal()
255 link->dumpit = dumpit; in rtnl_register_internal()
259 link->flags |= flags; in rtnl_register_internal()
262 rcu_assign_pointer(tab[msgindex], link); in rtnl_register_internal()
332 struct rtnl_link *link; in rtnl_unregister() local
345 link = rcu_replace_pointer_rtnl(tab[msgindex], NULL); in rtnl_unregister()
348 kfree_rcu(link, rcu); in rtnl_unregister()
364 struct rtnl_link *link; in rtnl_unregister_all() local
376 link = rcu_replace_pointer_rtnl(tab[msgindex], NULL); in rtnl_unregister_all()
377 kfree_rcu(link, rcu); in rtnl_unregister_all()
2307 const struct nlattr *attrs; in rtnl_nla_parse_ifinfomsg() local
2311 attrs = nla_data(nla_peer) + sizeof(struct ifinfomsg); in rtnl_nla_parse_ifinfomsg()
2320 return nla_parse_deprecated(tb, IFLA_MAX, attrs, len, ifla_policy, in rtnl_nla_parse_ifinfomsg()
4026 struct rtnl_link *link; in rtnl_dump_all() local
4039 link = rcu_dereference_rtnl(tab[type]); in rtnl_dump_all()
4040 if (!link) in rtnl_dump_all()
4043 dumpit = link->dumpit; in rtnl_dump_all()
5389 struct rtnl_hw_stats64 *stats, in rtnl_offload_xstats_get_stats() argument
5402 err = netdev_offload_xstats_get(dev, type, stats, &used, extack); in rtnl_offload_xstats_get_stats()
6515 struct rtnl_link *link; in rtnetlink_rcv_msg() local
6546 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
6547 if (!link || !link->dumpit) { in rtnetlink_rcv_msg()
6549 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
6550 if (!link || !link->dumpit) in rtnetlink_rcv_msg()
6553 owner = link->owner; in rtnetlink_rcv_msg()
6554 dumpit = link->dumpit; in rtnetlink_rcv_msg()
6582 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
6583 if (!link || !link->doit) { in rtnetlink_rcv_msg()
6585 link = rtnl_get_link(PF_UNSPEC, type); in rtnetlink_rcv_msg()
6586 if (!link || !link->doit) in rtnetlink_rcv_msg()
6590 owner = link->owner; in rtnetlink_rcv_msg()
6596 flags = link->flags; in rtnetlink_rcv_msg()
6605 doit = link->doit; in rtnetlink_rcv_msg()
6615 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
6616 if (link && link->doit) in rtnetlink_rcv_msg()
6617 err = link->doit(skb, nlh, extack); in rtnetlink_rcv_msg()