Lines Matching defs:imr

1827 static struct in_device *ip_mc_find_dev(struct net *net, struct ip_mreqn *imr)
1832 if (imr->imr_ifindex) {
1833 idev = inetdev_by_index(net, imr->imr_ifindex);
1836 if (imr->imr_address.s_addr) {
1837 dev = __ip_dev_find(net, imr->imr_address.s_addr, false);
1844 imr->imr_multiaddr.s_addr,
1852 imr->imr_ifindex = dev->ifindex;
2172 static int __ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr,
2175 __be32 addr = imr->imr_multiaddr.s_addr;
2189 in_dev = ip_mc_find_dev(net, imr);
2197 ifindex = imr->imr_ifindex;
2211 memcpy(&iml->multi, imr, sizeof(*imr));
2224 int ip_mc_join_group(struct sock *sk, struct ip_mreqn *imr)
2226 return __ip_mc_join_group(sk, imr, MCAST_EXCLUDE);
2232 int ip_mc_join_group_ssm(struct sock *sk, struct ip_mreqn *imr,
2235 return __ip_mc_join_group(sk, imr, mode);
2258 int ip_mc_leave_group(struct sock *sk, struct ip_mreqn *imr)
2265 __be32 group = imr->imr_multiaddr.s_addr;
2271 in_dev = ip_mc_find_dev(net, imr);
2272 if (!imr->imr_ifindex && !imr->imr_address.s_addr && !in_dev) {
2276 ifindex = imr->imr_ifindex;
2285 } else if (imr->imr_address.s_addr && imr->imr_address.s_addr !=
2310 struct ip_mreqn imr;
2325 imr.imr_multiaddr.s_addr = mreqs->imr_multiaddr;
2326 imr.imr_address.s_addr = mreqs->imr_interface;
2327 imr.imr_ifindex = ifindex;
2328 in_dev = ip_mc_find_dev(net, &imr);
2338 imr.imr_multiaddr.s_addr) &&
2339 (pmc->multi.imr_ifindex == imr.imr_ifindex))
2439 err = ip_mc_leave_group(sk, &imr);
2446 struct ip_mreqn imr;
2463 imr.imr_multiaddr.s_addr = msf->imsf_multiaddr;
2464 imr.imr_address.s_addr = msf->imsf_interface;
2465 imr.imr_ifindex = ifindex;
2466 in_dev = ip_mc_find_dev(net, &imr);
2481 pmc->multi.imr_ifindex == imr.imr_ifindex)
2526 err = ip_mc_leave_group(sk, &imr);
2534 struct ip_mreqn imr;
2547 imr.imr_multiaddr.s_addr = msf->imsf_multiaddr;
2548 imr.imr_address.s_addr = msf->imsf_interface;
2549 imr.imr_ifindex = 0;
2550 in_dev = ip_mc_find_dev(net, &imr);
2560 pmc->multi.imr_ifindex == imr.imr_ifindex)