Lines Matching refs:mc_hash
1380 struct ip_mc_list __rcu **mc_hash; in ip_mc_hash_add() local
1383 mc_hash = rtnl_dereference(in_dev->mc_hash); in ip_mc_hash_add()
1384 if (mc_hash) { in ip_mc_hash_add()
1386 im->next_hash = mc_hash[hash]; in ip_mc_hash_add()
1387 rcu_assign_pointer(mc_hash[hash], im); in ip_mc_hash_add()
1395 mc_hash = kzalloc(sizeof(struct ip_mc_list *) << MC_HASH_SZ_LOG, in ip_mc_hash_add()
1397 if (!mc_hash) in ip_mc_hash_add()
1402 im->next_hash = mc_hash[hash]; in ip_mc_hash_add()
1403 RCU_INIT_POINTER(mc_hash[hash], im); in ip_mc_hash_add()
1406 rcu_assign_pointer(in_dev->mc_hash, mc_hash); in ip_mc_hash_add()
1412 struct ip_mc_list __rcu **mc_hash = rtnl_dereference(in_dev->mc_hash); in ip_mc_hash_remove() local
1415 if (!mc_hash) in ip_mc_hash_remove()
1417 mc_hash += ip_mc_hash(im); in ip_mc_hash_remove()
1418 while ((aux = rtnl_dereference(*mc_hash)) != im) in ip_mc_hash_remove()
1419 mc_hash = &aux->next_hash; in ip_mc_hash_remove()
1420 *mc_hash = im->next_hash; in ip_mc_hash_remove()
2702 struct ip_mc_list __rcu **mc_hash; in ip_check_mc_rcu() local
2706 mc_hash = rcu_dereference(in_dev->mc_hash); in ip_check_mc_rcu()
2707 if (mc_hash) { in ip_check_mc_rcu()
2710 for (im = rcu_dereference(mc_hash[hash]); in ip_check_mc_rcu()