Lines Matching refs:rtnl_nets

284 struct rtnl_nets {  struct
292 static void rtnl_nets_init(struct rtnl_nets *rtnl_nets) in rtnl_nets_init() argument
294 memset(rtnl_nets, 0, sizeof(*rtnl_nets)); in rtnl_nets_init()
297 static void rtnl_nets_destroy(struct rtnl_nets *rtnl_nets) in rtnl_nets_destroy() argument
301 for (i = 0; i < rtnl_nets->len; i++) { in rtnl_nets_destroy()
302 put_net(rtnl_nets->net[i]); in rtnl_nets_destroy()
303 rtnl_nets->net[i] = NULL; in rtnl_nets_destroy()
306 rtnl_nets->len = 0; in rtnl_nets_destroy()
317 static void rtnl_nets_add(struct rtnl_nets *rtnl_nets, struct net *net) in rtnl_nets_add() argument
321 DEBUG_NET_WARN_ON_ONCE(rtnl_nets->len == ARRAY_SIZE(rtnl_nets->net)); in rtnl_nets_add()
323 for (i = 0; i < rtnl_nets->len; i++) { in rtnl_nets_add()
324 switch (rtnl_net_cmp_locks(rtnl_nets->net[i], net)) { in rtnl_nets_add()
329 swap(rtnl_nets->net[i], net); in rtnl_nets_add()
333 rtnl_nets->net[i] = net; in rtnl_nets_add()
334 rtnl_nets->len++; in rtnl_nets_add()
337 static void rtnl_nets_lock(struct rtnl_nets *rtnl_nets) in rtnl_nets_lock() argument
343 for (i = 0; i < rtnl_nets->len; i++) in rtnl_nets_lock()
344 __rtnl_net_lock(rtnl_nets->net[i]); in rtnl_nets_lock()
347 static void rtnl_nets_unlock(struct rtnl_nets *rtnl_nets) in rtnl_nets_unlock() argument
351 for (i = 0; i < rtnl_nets->len; i++) in rtnl_nets_unlock()
352 __rtnl_net_unlock(rtnl_nets->net[i]); in rtnl_nets_unlock()
3433 struct rtnl_nets rtnl_nets; in rtnl_setlink() local
3452 rtnl_nets_init(&rtnl_nets); in rtnl_setlink()
3453 rtnl_nets_add(&rtnl_nets, get_net(net)); in rtnl_setlink()
3454 rtnl_nets_add(&rtnl_nets, tgt_net); in rtnl_setlink()
3456 rtnl_nets_lock(&rtnl_nets); in rtnl_setlink()
3470 rtnl_nets_unlock(&rtnl_nets); in rtnl_setlink()
3471 rtnl_nets_destroy(&rtnl_nets); in rtnl_setlink()
3961 struct rtnl_nets rtnl_nets; in rtnl_newlink() local
4003 rtnl_nets_init(&rtnl_nets); in rtnl_newlink()
4034 rtnl_nets_add(&rtnl_nets, peer_net); in rtnl_newlink()
4044 rtnl_nets_add(&rtnl_nets, tgt_net); in rtnl_newlink()
4056 rtnl_nets_add(&rtnl_nets, link_net); in rtnl_newlink()
4064 rtnl_nets_lock(&rtnl_nets); in rtnl_newlink()
4066 rtnl_nets_unlock(&rtnl_nets); in rtnl_newlink()
4069 rtnl_nets_destroy(&rtnl_nets); in rtnl_newlink()