Lines Matching refs:id
56 static int net_assign_generic(struct net *net, int id, void *data) in net_assign_generic() argument
61 BUG_ON(id == 0); in net_assign_generic()
66 if (old_ng->len >= id) in net_assign_generic()
89 ng->ptr[id - 1] = data; in net_assign_generic()
98 if (ops->id && ops->size) { in ops_init()
103 err = net_assign_generic(net, *ops->id, data); in ops_init()
122 if (ops->id && ops->size) { in ops_free()
123 int id = *ops->id; in ops_free() local
124 kfree(net_generic(net, id)); in ops_free()
144 if (ops->size && ops->id) { in ops_free_list()
169 static int net_eq_idr(int id, void *net, void *peer) in net_eq_idr() argument
172 return id ? : NET_ID_ZERO; in net_eq_idr()
182 int id = idr_for_each(&net->netns_ids, net_eq_idr, peer); in __peernet2id_alloc() local
188 if (id == NET_ID_ZERO) in __peernet2id_alloc()
190 if (id > 0) in __peernet2id_alloc()
191 return id; in __peernet2id_alloc()
194 id = alloc_netid(net, peer, -1); in __peernet2id_alloc()
196 return id >= 0 ? id : NETNSA_NSID_NOT_ASSIGNED; in __peernet2id_alloc()
210 static void rtnl_net_notifyid(struct net *net, int cmd, int id);
218 int id; in peernet2id_alloc() local
222 id = __peernet2id_alloc(net, peer, &alloc); in peernet2id_alloc()
224 if (alloc && id >= 0) in peernet2id_alloc()
225 rtnl_net_notifyid(net, RTM_NEWNSID, id); in peernet2id_alloc()
226 return id; in peernet2id_alloc()
234 int id; in peernet2id() local
237 id = __peernet2id(net, peer); in peernet2id()
239 return id; in peernet2id()
250 struct net *get_net_ns_by_id(struct net *net, int id) in get_net_ns_by_id() argument
255 if (id < 0) in get_net_ns_by_id()
260 peer = idr_find(&net->netns_ids, id); in get_net_ns_by_id()
405 int id; in cleanup_net() local
408 id = __peernet2id(tmp, net); in cleanup_net()
409 if (id >= 0) in cleanup_net()
410 idr_remove(&tmp->netns_ids, id); in cleanup_net()
412 if (id >= 0) in cleanup_net()
413 rtnl_net_notifyid(tmp, RTM_DELNSID, id); in cleanup_net()
621 int err, id; in rtnl_net_getid() local
643 id = peernet2id(net, peer); in rtnl_net_getid()
645 RTM_NEWNSID, net, id); in rtnl_net_getid()
667 static int rtnl_net_dumpid_one(int id, void *peer, void *data) in rtnl_net_dumpid_one() argument
677 RTM_NEWNSID, net_cb->net, id); in rtnl_net_dumpid_one()
706 static void rtnl_net_notifyid(struct net *net, int cmd, int id) in rtnl_net_notifyid() argument
715 err = rtnl_net_fill(msg, 0, 0, 0, cmd, net, id); in rtnl_net_notifyid()
779 if (ops->init || (ops->id && ops->size)) { in __register_pernet_operations()
834 if (ops->id) { in register_pernet_operations()
836 error = ida_get_new_above(&net_generic_ids, 1, ops->id); in register_pernet_operations()
844 max_gen_ptrs = max_t(unsigned int, max_gen_ptrs, *ops->id); in register_pernet_operations()
849 if (ops->id) in register_pernet_operations()
850 ida_remove(&net_generic_ids, *ops->id); in register_pernet_operations()
861 if (ops->id) in unregister_pernet_operations()
862 ida_remove(&net_generic_ids, *ops->id); in unregister_pernet_operations()