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()
151 int id);
154 int min = 0, max = 0, id; in alloc_netid() local
163 id = idr_alloc(&net->netns_ids, peer, min, max, GFP_KERNEL); in alloc_netid()
164 if (id >= 0) in alloc_netid()
165 rtnl_net_notifyid(net, peer, RTM_NEWNSID, id); in alloc_netid()
167 return id; in alloc_netid()
176 static int net_eq_idr(int id, void *net, void *peer) in net_eq_idr() argument
179 return id ? : NET_ID_ZERO; in net_eq_idr()
185 int id = idr_for_each(&net->netns_ids, net_eq_idr, peer); in __peernet2id() local
190 if (id == NET_ID_ZERO) in __peernet2id()
192 if (id > 0) in __peernet2id()
193 return id; in __peernet2id()
207 int id; in peernet2id() local
209 id = __peernet2id(net, peer, alloc); in peernet2id()
210 return id >= 0 ? id : NETNSA_NSID_NOT_ASSIGNED; in peernet2id()
214 struct net *get_net_ns_by_id(struct net *net, int id) in get_net_ns_by_id() argument
218 if (id < 0) in get_net_ns_by_id()
222 peer = idr_find(&net->netns_ids, id); in get_net_ns_by_id()
365 int id = __peernet2id(tmp, net, false); in cleanup_net() local
367 if (id >= 0) { in cleanup_net()
368 rtnl_net_notifyid(tmp, net, RTM_DELNSID, id); in cleanup_net()
369 idr_remove(&tmp->netns_ids, id); in cleanup_net()
546 int id; in rtnl_net_fill() local
558 id = nsid; in rtnl_net_fill()
560 id = __peernet2id(net, peer, false); in rtnl_net_fill()
561 if (id < 0) in rtnl_net_fill()
562 id = NETNSA_NSID_NOT_ASSIGNED; in rtnl_net_fill()
564 if (nla_put_s32(skb, NETNSA_NSID, id)) in rtnl_net_fill()
626 static int rtnl_net_dumpid_one(int id, void *peer, void *data) in rtnl_net_dumpid_one() argument
636 RTM_NEWNSID, net_cb->net, peer, id); in rtnl_net_dumpid_one()
665 int id) in rtnl_net_notifyid() argument
674 err = rtnl_net_fill(msg, 0, 0, 0, cmd, net, peer, id); in rtnl_net_notifyid()
738 if (ops->init || (ops->id && ops->size)) { in __register_pernet_operations()
793 if (ops->id) { in register_pernet_operations()
795 error = ida_get_new_above(&net_generic_ids, 1, ops->id); in register_pernet_operations()
803 max_gen_ptrs = max_t(unsigned int, max_gen_ptrs, *ops->id); in register_pernet_operations()
808 if (ops->id) in register_pernet_operations()
809 ida_remove(&net_generic_ids, *ops->id); in register_pernet_operations()
820 if (ops->id) in unregister_pernet_operations()
821 ida_remove(&net_generic_ids, *ops->id); in unregister_pernet_operations()