Lines Matching refs:id
82 static int net_assign_generic(struct net *net, unsigned int id, void *data) in net_assign_generic() argument
86 BUG_ON(id < MIN_PERNET_OPS_ID); in net_assign_generic()
90 if (old_ng->s.len > id) { in net_assign_generic()
91 old_ng->ptr[id] = data; in net_assign_generic()
112 ng->ptr[id] = data; in net_assign_generic()
125 if (ops->id) { in ops_init()
130 err = net_assign_generic(net, *ops->id, data); in ops_init()
140 if (ops->id) { in ops_init()
143 ng->ptr[*ops->id] = NULL; in ops_init()
212 if (ops->id) { in ops_free_list()
214 kfree(net_generic(net, *ops->id)); in ops_free_list()
287 static int net_eq_idr(int id, void *net, void *peer) in net_eq_idr() argument
290 return id ? : NET_ID_ZERO; in net_eq_idr()
297 int id = idr_for_each(&net->netns_ids, net_eq_idr, peer); in __peernet2id() local
300 if (id == NET_ID_ZERO) in __peernet2id()
302 if (id > 0) in __peernet2id()
303 return id; in __peernet2id()
308 static void rtnl_net_notifyid(struct net *net, int cmd, int id, u32 portid,
315 int id; in peernet2id_alloc() local
321 id = __peernet2id(net, peer); in peernet2id_alloc()
322 if (id >= 0) { in peernet2id_alloc()
324 return id; in peernet2id_alloc()
337 id = alloc_netid(net, peer, -1); in peernet2id_alloc()
341 if (id < 0) in peernet2id_alloc()
344 rtnl_net_notifyid(net, RTM_NEWNSID, id, 0, NULL, gfp); in peernet2id_alloc()
346 return id; in peernet2id_alloc()
353 int id; in peernet2id() local
356 id = __peernet2id(net, peer); in peernet2id()
359 return id; in peernet2id()
371 struct net *get_net_ns_by_id(const struct net *net, int id) in get_net_ns_by_id() argument
375 if (id < 0) in get_net_ns_by_id()
379 peer = idr_find(&net->netns_ids, id); in get_net_ns_by_id()
625 int id; in unhash_nsid() local
628 id = __peernet2id(tmp, net); in unhash_nsid()
629 if (id >= 0) in unhash_nsid()
630 idr_remove(&tmp->netns_ids, id); in unhash_nsid()
632 if (id >= 0) in unhash_nsid()
633 rtnl_net_notifyid(tmp, RTM_DELNSID, id, 0, NULL, in unhash_nsid()
1035 int id = nla_get_s32(tb[NETNSA_TARGET_NSID]); in rtnl_net_getid() local
1037 target = rtnl_get_net_ns_capable(NETLINK_CB(skb).sk, id); in rtnl_net_getid()
1082 static int rtnl_net_dumpid_one(int id, void *peer, void *data) in rtnl_net_dumpid_one() argument
1090 net_cb->fillargs.nsid = id; in rtnl_net_dumpid_one()
1177 static void rtnl_net_notifyid(struct net *net, int cmd, int id, u32 portid, in rtnl_net_notifyid() argument
1184 .nsid = id, in rtnl_net_notifyid()
1309 if (ops->init || ops->id) { in __register_pernet_operations()
1376 if (WARN_ON(!!ops->id ^ !!ops->size)) in register_pernet_operations()
1379 if (ops->id) { in register_pernet_operations()
1384 *ops->id = error; in register_pernet_operations()
1389 WRITE_ONCE(max_gen_ptrs, max(max_gen_ptrs, *ops->id + 1)); in register_pernet_operations()
1394 if (ops->id) in register_pernet_operations()
1395 ida_free(&net_generic_ids, *ops->id); in register_pernet_operations()
1405 if (ops->id) in unregister_pernet_operations()
1406 ida_free(&net_generic_ids, *ops->id); in unregister_pernet_operations()