Lines Matching defs:rtnl_nets

284 struct rtnl_nets {
292 static void rtnl_nets_init(struct rtnl_nets *rtnl_nets)
294 memset(rtnl_nets, 0, sizeof(*rtnl_nets));
297 static void rtnl_nets_destroy(struct rtnl_nets *rtnl_nets)
301 for (i = 0; i < rtnl_nets->len; i++) {
302 put_net(rtnl_nets->net[i]);
303 rtnl_nets->net[i] = NULL;
306 rtnl_nets->len = 0;
312 * @rtnl_nets: rtnl_nets pointer passed to ->get_peer_net().
317 static void rtnl_nets_add(struct rtnl_nets *rtnl_nets, struct net *net)
321 DEBUG_NET_WARN_ON_ONCE(rtnl_nets->len == ARRAY_SIZE(rtnl_nets->net));
323 for (i = 0; i < rtnl_nets->len; i++) {
324 switch (rtnl_net_cmp_locks(rtnl_nets->net[i], net)) {
329 swap(rtnl_nets->net[i], net);
333 rtnl_nets->net[i] = net;
334 rtnl_nets->len++;
337 static void rtnl_nets_lock(struct rtnl_nets *rtnl_nets)
343 for (i = 0; i < rtnl_nets->len; i++)
344 __rtnl_net_lock(rtnl_nets->net[i]);
347 static void rtnl_nets_unlock(struct rtnl_nets *rtnl_nets)
351 for (i = 0; i < rtnl_nets->len; i++)
352 __rtnl_net_unlock(rtnl_nets->net[i]);
3432 struct rtnl_nets rtnl_nets;
3451 rtnl_nets_init(&rtnl_nets);
3452 rtnl_nets_add(&rtnl_nets, get_net(net));
3453 rtnl_nets_add(&rtnl_nets, tgt_net);
3455 rtnl_nets_lock(&rtnl_nets);
3469 rtnl_nets_unlock(&rtnl_nets);
3470 rtnl_nets_destroy(&rtnl_nets);
3961 struct rtnl_nets rtnl_nets;
4003 rtnl_nets_init(&rtnl_nets);
4034 rtnl_nets_add(&rtnl_nets, peer_net);
4044 rtnl_nets_add(&rtnl_nets, tgt_net);
4056 rtnl_nets_add(&rtnl_nets, link_net);
4064 rtnl_nets_lock(&rtnl_nets);
4066 rtnl_nets_unlock(&rtnl_nets);
4069 rtnl_nets_destroy(&rtnl_nets);