Lines Matching refs:iml

2166 	struct ip_mc_socklist *iml, *i;  in __ip_mc_join_group()  local
2197 iml = sock_kmalloc(sk, sizeof(*iml), GFP_KERNEL); in __ip_mc_join_group()
2198 if (!iml) in __ip_mc_join_group()
2201 memcpy(&iml->multi, imr, sizeof(*imr)); in __ip_mc_join_group()
2202 iml->next_rcu = inet->mc_list; in __ip_mc_join_group()
2203 iml->sflist = NULL; in __ip_mc_join_group()
2204 iml->sfmode = mode; in __ip_mc_join_group()
2205 rcu_assign_pointer(inet->mc_list, iml); in __ip_mc_join_group()
2228 static int ip_mc_leave_src(struct sock *sk, struct ip_mc_socklist *iml, in ip_mc_leave_src() argument
2231 struct ip_sf_socklist *psf = rtnl_dereference(iml->sflist); in ip_mc_leave_src()
2236 return ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr, in ip_mc_leave_src()
2237 iml->sfmode, 0, NULL, 0); in ip_mc_leave_src()
2239 err = ip_mc_del_src(in_dev, &iml->multi.imr_multiaddr.s_addr, in ip_mc_leave_src()
2240 iml->sfmode, psf->sl_count, psf->sl_addr, 0); in ip_mc_leave_src()
2241 RCU_INIT_POINTER(iml->sflist, NULL); in ip_mc_leave_src()
2251 struct ip_mc_socklist *iml; in ip_mc_leave_group() local
2268 (iml = rtnl_dereference(*imlp)) != NULL; in ip_mc_leave_group()
2269 imlp = &iml->next_rcu) { in ip_mc_leave_group()
2270 if (iml->multi.imr_multiaddr.s_addr != group) in ip_mc_leave_group()
2273 if (iml->multi.imr_ifindex != ifindex) in ip_mc_leave_group()
2276 iml->multi.imr_address.s_addr) in ip_mc_leave_group()
2279 (void) ip_mc_leave_src(sk, iml, in_dev); in ip_mc_leave_group()
2281 *imlp = iml->next_rcu; in ip_mc_leave_group()
2287 atomic_sub(sizeof(*iml), &sk->sk_omem_alloc); in ip_mc_leave_group()
2288 kfree_rcu(iml, rcu); in ip_mc_leave_group()
2676 struct ip_mc_socklist *iml; in ip_mc_drop_socket() local
2683 while ((iml = rtnl_dereference(inet->mc_list)) != NULL) { in ip_mc_drop_socket()
2686 inet->mc_list = iml->next_rcu; in ip_mc_drop_socket()
2687 in_dev = inetdev_by_index(net, iml->multi.imr_ifindex); in ip_mc_drop_socket()
2688 (void) ip_mc_leave_src(sk, iml, in_dev); in ip_mc_drop_socket()
2690 ip_mc_dec_group(in_dev, iml->multi.imr_multiaddr.s_addr); in ip_mc_drop_socket()
2692 atomic_sub(sizeof(*iml), &sk->sk_omem_alloc); in ip_mc_drop_socket()
2693 kfree_rcu(iml, rcu); in ip_mc_drop_socket()