Lines Matching refs:link
177 struct rtnl_link *link, *old; in rtnl_register_internal() local
198 link = kmemdup(old, sizeof(*old), GFP_KERNEL); in rtnl_register_internal()
199 if (!link) in rtnl_register_internal()
202 link = kzalloc(sizeof(*link), GFP_KERNEL); in rtnl_register_internal()
203 if (!link) in rtnl_register_internal()
207 WARN_ON(link->owner && link->owner != owner); in rtnl_register_internal()
208 link->owner = owner; in rtnl_register_internal()
210 WARN_ON(doit && link->doit && link->doit != doit); in rtnl_register_internal()
212 link->doit = doit; in rtnl_register_internal()
213 WARN_ON(dumpit && link->dumpit && link->dumpit != dumpit); in rtnl_register_internal()
215 link->dumpit = dumpit; in rtnl_register_internal()
217 link->flags |= flags; in rtnl_register_internal()
220 rcu_assign_pointer(tab[msgindex], link); in rtnl_register_internal()
289 struct rtnl_link **tab, *link; in rtnl_unregister() local
302 link = tab[msgindex]; in rtnl_unregister()
306 kfree_rcu(link, rcu); in rtnl_unregister()
321 struct rtnl_link **tab, *link; in rtnl_unregister_all() local
334 link = tab[msgindex]; in rtnl_unregister_all()
335 if (!link) in rtnl_unregister_all()
339 kfree_rcu(link, rcu); in rtnl_unregister_all()
3483 struct rtnl_link *link; in rtnl_dump_all() local
3496 link = tab[type]; in rtnl_dump_all()
3497 if (!link) in rtnl_dump_all()
3500 dumpit = link->dumpit; in rtnl_dump_all()
5195 struct rtnl_link *link; in rtnetlink_rcv_msg() local
5226 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
5227 if (!link || !link->dumpit) { in rtnetlink_rcv_msg()
5229 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
5230 if (!link || !link->dumpit) in rtnetlink_rcv_msg()
5233 owner = link->owner; in rtnetlink_rcv_msg()
5234 dumpit = link->dumpit; in rtnetlink_rcv_msg()
5262 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
5263 if (!link || !link->doit) { in rtnetlink_rcv_msg()
5265 link = rtnl_get_link(PF_UNSPEC, type); in rtnetlink_rcv_msg()
5266 if (!link || !link->doit) in rtnetlink_rcv_msg()
5270 owner = link->owner; in rtnetlink_rcv_msg()
5276 flags = link->flags; in rtnetlink_rcv_msg()
5278 doit = link->doit; in rtnetlink_rcv_msg()
5288 link = rtnl_get_link(family, type); in rtnetlink_rcv_msg()
5289 if (link && link->doit) in rtnetlink_rcv_msg()
5290 err = link->doit(skb, nlh, extack); in rtnetlink_rcv_msg()