Lines Matching refs:imr
1507 static struct in_device *ip_mc_find_dev(struct net *net, struct ip_mreqn *imr) in ip_mc_find_dev() argument
1512 if (imr->imr_ifindex) { in ip_mc_find_dev()
1513 idev = inetdev_by_index(net, imr->imr_ifindex); in ip_mc_find_dev()
1516 if (imr->imr_address.s_addr) { in ip_mc_find_dev()
1517 dev = __ip_dev_find(net, imr->imr_address.s_addr, false); in ip_mc_find_dev()
1524 imr->imr_multiaddr.s_addr, in ip_mc_find_dev()
1532 imr->imr_ifindex = dev->ifindex; in ip_mc_find_dev()
1856 int ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr) in ip_mc_join_group() argument
1858 __be32 addr = imr->imr_multiaddr.s_addr; in ip_mc_join_group()
1872 in_dev = ip_mc_find_dev(net, imr); in ip_mc_join_group()
1880 ifindex = imr->imr_ifindex; in ip_mc_join_group()
1894 memcpy(&iml->multi, imr, sizeof(*imr)); in ip_mc_join_group()
1926 int ip_mc_leave_group(struct sock *sk, struct ip_mreqn *imr) in ip_mc_leave_group() argument
1933 __be32 group = imr->imr_multiaddr.s_addr; in ip_mc_leave_group()
1939 in_dev = ip_mc_find_dev(net, imr); in ip_mc_leave_group()
1944 ifindex = imr->imr_ifindex; in ip_mc_leave_group()
1953 } else if (imr->imr_address.s_addr && imr->imr_address.s_addr != in ip_mc_leave_group()
1977 struct ip_mreqn imr; in ip_mc_source() local
1992 imr.imr_multiaddr.s_addr = mreqs->imr_multiaddr; in ip_mc_source()
1993 imr.imr_address.s_addr = mreqs->imr_interface; in ip_mc_source()
1994 imr.imr_ifindex = ifindex; in ip_mc_source()
1995 in_dev = ip_mc_find_dev(net, &imr); in ip_mc_source()
2005 imr.imr_multiaddr.s_addr) && in ip_mc_source()
2006 (pmc->multi.imr_ifindex == imr.imr_ifindex)) in ip_mc_source()
2105 err = ip_mc_leave_group(sk, &imr); in ip_mc_source()
2112 struct ip_mreqn imr; in ip_mc_msfilter() local
2129 imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; in ip_mc_msfilter()
2130 imr.imr_address.s_addr = msf->imsf_interface; in ip_mc_msfilter()
2131 imr.imr_ifindex = ifindex; in ip_mc_msfilter()
2132 in_dev = ip_mc_find_dev(net, &imr); in ip_mc_msfilter()
2147 pmc->multi.imr_ifindex == imr.imr_ifindex) in ip_mc_msfilter()
2190 err = ip_mc_leave_group(sk, &imr); in ip_mc_msfilter()
2198 struct ip_mreqn imr; in ip_mc_msfget() local
2211 imr.imr_multiaddr.s_addr = msf->imsf_multiaddr; in ip_mc_msfget()
2212 imr.imr_address.s_addr = msf->imsf_interface; in ip_mc_msfget()
2213 imr.imr_ifindex = 0; in ip_mc_msfget()
2214 in_dev = ip_mc_find_dev(net, &imr); in ip_mc_msfget()
2224 pmc->multi.imr_ifindex == imr.imr_ifindex) in ip_mc_msfget()