Lines Matching refs:nsdata

109 	struct ioam6_pernet_data *nsdata;  in ioam6_genl_addns()  local
120 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_addns()
122 mutex_lock(&nsdata->lock); in ioam6_genl_addns()
124 ns = rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_genl_addns()
151 err = rhashtable_lookup_insert_fast(&nsdata->namespaces, &ns->head, in ioam6_genl_addns()
157 mutex_unlock(&nsdata->lock); in ioam6_genl_addns()
163 struct ioam6_pernet_data *nsdata; in ioam6_genl_delns() local
173 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_delns()
175 mutex_lock(&nsdata->lock); in ioam6_genl_delns()
177 ns = rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_genl_delns()
184 lockdep_is_held(&nsdata->lock)); in ioam6_genl_delns()
186 err = rhashtable_remove_fast(&nsdata->namespaces, &ns->head, in ioam6_genl_delns()
197 mutex_unlock(&nsdata->lock); in ioam6_genl_delns()
248 struct ioam6_pernet_data *nsdata = ioam6_pernet(sock_net(cb->skb->sk)); in ioam6_genl_dumpns_start() local
259 rhashtable_walk_enter(&nsdata->namespaces, iter); in ioam6_genl_dumpns_start()
314 struct ioam6_pernet_data *nsdata; in ioam6_genl_addsc() local
323 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_addsc()
325 mutex_lock(&nsdata->lock); in ioam6_genl_addsc()
327 sc = rhashtable_lookup_fast(&nsdata->schemas, &id, rht_sc_params); in ioam6_genl_addsc()
347 err = rhashtable_lookup_insert_fast(&nsdata->schemas, &sc->head, in ioam6_genl_addsc()
353 mutex_unlock(&nsdata->lock); in ioam6_genl_addsc()
362 struct ioam6_pernet_data *nsdata; in ioam6_genl_delsc() local
372 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_delsc()
374 mutex_lock(&nsdata->lock); in ioam6_genl_delsc()
376 sc = rhashtable_lookup_fast(&nsdata->schemas, &id, rht_sc_params); in ioam6_genl_delsc()
382 ns = rcu_dereference_protected(sc->ns, lockdep_is_held(&nsdata->lock)); in ioam6_genl_delsc()
384 err = rhashtable_remove_fast(&nsdata->schemas, &sc->head, in ioam6_genl_delsc()
395 mutex_unlock(&nsdata->lock); in ioam6_genl_delsc()
434 struct ioam6_pernet_data *nsdata = ioam6_pernet(sock_net(cb->skb->sk)); in ioam6_genl_dumpsc_start() local
445 rhashtable_walk_enter(&nsdata->schemas, iter); in ioam6_genl_dumpsc_start()
502 struct ioam6_pernet_data *nsdata; in ioam6_genl_ns_set_schema() local
513 nsdata = ioam6_pernet(genl_info_net(info)); in ioam6_genl_ns_set_schema()
515 mutex_lock(&nsdata->lock); in ioam6_genl_ns_set_schema()
517 ns = rhashtable_lookup_fast(&nsdata->namespaces, &ns_id, rht_ns_params); in ioam6_genl_ns_set_schema()
527 sc = rhashtable_lookup_fast(&nsdata->schemas, &sc_id, in ioam6_genl_ns_set_schema()
536 lockdep_is_held(&nsdata->lock)); in ioam6_genl_ns_set_schema()
543 lockdep_is_held(&nsdata->lock)); in ioam6_genl_ns_set_schema()
552 mutex_unlock(&nsdata->lock); in ioam6_genl_ns_set_schema()
628 struct ioam6_pernet_data *nsdata = ioam6_pernet(net); in ioam6_namespace() local
630 return rhashtable_lookup_fast(&nsdata->namespaces, &id, rht_ns_params); in ioam6_namespace()
900 struct ioam6_pernet_data *nsdata; in ioam6_net_init() local
903 nsdata = kzalloc(sizeof(*nsdata), GFP_KERNEL); in ioam6_net_init()
904 if (!nsdata) in ioam6_net_init()
907 mutex_init(&nsdata->lock); in ioam6_net_init()
908 net->ipv6.ioam6_data = nsdata; in ioam6_net_init()
910 err = rhashtable_init(&nsdata->namespaces, &rht_ns_params); in ioam6_net_init()
914 err = rhashtable_init(&nsdata->schemas, &rht_sc_params); in ioam6_net_init()
921 rhashtable_destroy(&nsdata->namespaces); in ioam6_net_init()
923 kfree(nsdata); in ioam6_net_init()
930 struct ioam6_pernet_data *nsdata = ioam6_pernet(net); in ioam6_net_exit() local
932 rhashtable_free_and_destroy(&nsdata->namespaces, ioam6_free_ns, NULL); in ioam6_net_exit()
933 rhashtable_free_and_destroy(&nsdata->schemas, ioam6_free_sc, NULL); in ioam6_net_exit()
935 kfree(nsdata); in ioam6_net_exit()