Lines Matching refs:mreq

803 		struct ip_mreqn mreq;  in do_ip_setsockopt()  local
817 if (copy_from_user(&mreq, optval, sizeof(mreq))) in do_ip_setsockopt()
820 memset(&mreq, 0, sizeof(mreq)); in do_ip_setsockopt()
822 if (copy_from_user(&mreq, optval, in do_ip_setsockopt()
826 if (copy_from_user(&mreq.imr_address, optval, in do_ip_setsockopt()
832 if (!mreq.imr_ifindex) { in do_ip_setsockopt()
833 if (mreq.imr_address.s_addr == htonl(INADDR_ANY)) { in do_ip_setsockopt()
839 dev = ip_dev_find(sock_net(sk), mreq.imr_address.s_addr); in do_ip_setsockopt()
841 mreq.imr_ifindex = dev->ifindex; in do_ip_setsockopt()
843 dev = dev_get_by_index(sock_net(sk), mreq.imr_ifindex); in do_ip_setsockopt()
853 mreq.imr_ifindex != sk->sk_bound_dev_if) in do_ip_setsockopt()
856 inet->mc_index = mreq.imr_ifindex; in do_ip_setsockopt()
857 inet->mc_addr = mreq.imr_address.s_addr; in do_ip_setsockopt()
865 struct ip_mreqn mreq; in do_ip_setsockopt() local
875 if (copy_from_user(&mreq, optval, sizeof(mreq))) in do_ip_setsockopt()
878 memset(&mreq, 0, sizeof(mreq)); in do_ip_setsockopt()
879 if (copy_from_user(&mreq, optval, sizeof(struct ip_mreq))) in do_ip_setsockopt()
884 err = ip_mc_join_group(sk, &mreq); in do_ip_setsockopt()
886 err = ip_mc_leave_group(sk, &mreq); in do_ip_setsockopt()
946 struct ip_mreqn mreq; in do_ip_setsockopt() local
948 mreq.imr_multiaddr.s_addr = mreqs.imr_multiaddr; in do_ip_setsockopt()
949 mreq.imr_address.s_addr = mreqs.imr_interface; in do_ip_setsockopt()
950 mreq.imr_ifindex = 0; in do_ip_setsockopt()
951 err = ip_mc_join_group(sk, &mreq); in do_ip_setsockopt()
968 struct ip_mreqn mreq; in do_ip_setsockopt() local
978 memset(&mreq, 0, sizeof(mreq)); in do_ip_setsockopt()
979 mreq.imr_multiaddr = psin->sin_addr; in do_ip_setsockopt()
980 mreq.imr_ifindex = greq.gr_interface; in do_ip_setsockopt()
983 err = ip_mc_join_group(sk, &mreq); in do_ip_setsockopt()
985 err = ip_mc_leave_group(sk, &mreq); in do_ip_setsockopt()
1022 struct ip_mreqn mreq; in do_ip_setsockopt() local
1025 mreq.imr_multiaddr = psin->sin_addr; in do_ip_setsockopt()
1026 mreq.imr_address.s_addr = 0; in do_ip_setsockopt()
1027 mreq.imr_ifindex = greqs.gsr_interface; in do_ip_setsockopt()
1028 err = ip_mc_join_group(sk, &mreq); in do_ip_setsockopt()
1031 greqs.gsr_interface = mreq.imr_ifindex; in do_ip_setsockopt()