Lines Matching refs:nsdata

107 	struct ioam6_pernet_data *nsdata;  in ioam6_genl_addns()  local
118 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_addns()
120 mutex_lock(&nsdata->lock); in ioam6_genl_addns()
122 ns = rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_genl_addns()
149 err = rhashtable_lookup_insert_fast(&nsdata->namespaces, &ns->head, in ioam6_genl_addns()
155 mutex_unlock(&nsdata->lock); in ioam6_genl_addns()
161 struct ioam6_pernet_data *nsdata; in ioam6_genl_delns() local
171 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_delns()
173 mutex_lock(&nsdata->lock); in ioam6_genl_delns()
175 ns = rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_genl_delns()
182 lockdep_is_held(&nsdata->lock)); in ioam6_genl_delns()
184 err = rhashtable_remove_fast(&nsdata->namespaces, &ns->head, in ioam6_genl_delns()
195 mutex_unlock(&nsdata->lock); in ioam6_genl_delns()
246 struct ioam6_pernet_data *nsdata = ioam6_pernet(sock_net(cb->skb->sk)); in ioam6_genl_dumpns_start() local
257 rhashtable_walk_enter(&nsdata->namespaces, iter); in ioam6_genl_dumpns_start()
312 struct ioam6_pernet_data *nsdata; in ioam6_genl_addsc() local
321 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_addsc()
323 mutex_lock(&nsdata->lock); in ioam6_genl_addsc()
325 sc = rhashtable_lookup_fast(&nsdata->schemas, &id, rht_sc_params); in ioam6_genl_addsc()
345 err = rhashtable_lookup_insert_fast(&nsdata->schemas, &sc->head, in ioam6_genl_addsc()
351 mutex_unlock(&nsdata->lock); in ioam6_genl_addsc()
360 struct ioam6_pernet_data *nsdata; in ioam6_genl_delsc() local
370 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_delsc()
372 mutex_lock(&nsdata->lock); in ioam6_genl_delsc()
374 sc = rhashtable_lookup_fast(&nsdata->schemas, &id, rht_sc_params); in ioam6_genl_delsc()
380 ns = rcu_dereference_protected(sc->ns, lockdep_is_held(&nsdata->lock)); in ioam6_genl_delsc()
382 err = rhashtable_remove_fast(&nsdata->schemas, &sc->head, in ioam6_genl_delsc()
393 mutex_unlock(&nsdata->lock); in ioam6_genl_delsc()
432 struct ioam6_pernet_data *nsdata = ioam6_pernet(sock_net(cb->skb->sk)); in ioam6_genl_dumpsc_start() local
443 rhashtable_walk_enter(&nsdata->schemas, iter); in ioam6_genl_dumpsc_start()
500 struct ioam6_pernet_data *nsdata; in ioam6_genl_ns_set_schema() local
511 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_ns_set_schema()
513 mutex_lock(&nsdata->lock); in ioam6_genl_ns_set_schema()
515 ns = rhashtable_lookup_fast(&nsdata->namespaces, &ns_id, rht_ns_params); in ioam6_genl_ns_set_schema()
525 sc = rhashtable_lookup_fast(&nsdata->schemas, &sc_id, in ioam6_genl_ns_set_schema()
534 lockdep_is_held(&nsdata->lock)); in ioam6_genl_ns_set_schema()
541 lockdep_is_held(&nsdata->lock)); in ioam6_genl_ns_set_schema()
550 mutex_unlock(&nsdata->lock); in ioam6_genl_ns_set_schema()
625 struct ioam6_pernet_data *nsdata = ioam6_pernet(net); in ioam6_namespace() local
627 return rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_namespace()
886 struct ioam6_pernet_data *nsdata; in ioam6_net_init() local
889 nsdata = kzalloc(sizeof(*nsdata), GFP_KERNEL); in ioam6_net_init()
890 if (!nsdata) in ioam6_net_init()
893 mutex_init(&nsdata->lock); in ioam6_net_init()
894 net->ipv6.ioam6_data = nsdata; in ioam6_net_init()
896 err = rhashtable_init(&nsdata->namespaces, &rht_ns_params); in ioam6_net_init()
900 err = rhashtable_init(&nsdata->schemas, &rht_sc_params); in ioam6_net_init()
907 rhashtable_destroy(&nsdata->namespaces); in ioam6_net_init()
909 kfree(nsdata); in ioam6_net_init()
916 struct ioam6_pernet_data *nsdata = ioam6_pernet(net); in ioam6_net_exit() local
918 rhashtable_free_and_destroy(&nsdata->namespaces, ioam6_free_ns, NULL); in ioam6_net_exit()
919 rhashtable_free_and_destroy(&nsdata->schemas, ioam6_free_sc, NULL); in ioam6_net_exit()
921 kfree(nsdata); in ioam6_net_exit()