ip_sockglue.c (d8c97a9451068dd9f7b838a240bb6db894133a5e) ip_sockglue.c (20380731bc2897f2952ae055420972ded4cd786e)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * The IP to API glue.
7 *
8 * Version: $Id: ip_sockglue.c,v 1.62 2002/02/01 22:01:04 davem Exp $

--- 600 unchanged lines hidden (view full) ---

609 if (optname == IP_ADD_MEMBERSHIP)
610 err = ip_mc_join_group(sk, &mreq);
611 else
612 err = ip_mc_leave_group(sk, &mreq);
613 break;
614 }
615 case IP_MSFILTER:
616 {
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * The IP to API glue.
7 *
8 * Version: $Id: ip_sockglue.c,v 1.62 2002/02/01 22:01:04 davem Exp $

--- 600 unchanged lines hidden (view full) ---

609 if (optname == IP_ADD_MEMBERSHIP)
610 err = ip_mc_join_group(sk, &mreq);
611 else
612 err = ip_mc_leave_group(sk, &mreq);
613 break;
614 }
615 case IP_MSFILTER:
616 {
617 extern int sysctl_optmem_max;
618 extern int sysctl_igmp_max_msf;
619 struct ip_msfilter *msf;
620
621 if (optlen < IP_MSFILTER_SIZE(0))
622 goto e_inval;
623 if (optlen > sysctl_optmem_max) {
624 err = -ENOBUFS;
625 break;

--- 138 unchanged lines hidden (view full) ---

764 add = 0;
765 }
766 err = ip_mc_source(add, omode, sk, &mreqs,
767 greqs.gsr_interface);
768 break;
769 }
770 case MCAST_MSFILTER:
771 {
617 extern int sysctl_igmp_max_msf;
618 struct ip_msfilter *msf;
619
620 if (optlen < IP_MSFILTER_SIZE(0))
621 goto e_inval;
622 if (optlen > sysctl_optmem_max) {
623 err = -ENOBUFS;
624 break;

--- 138 unchanged lines hidden (view full) ---

763 add = 0;
764 }
765 err = ip_mc_source(add, omode, sk, &mreqs,
766 greqs.gsr_interface);
767 break;
768 }
769 case MCAST_MSFILTER:
770 {
772 extern int sysctl_optmem_max;
773 extern int sysctl_igmp_max_msf;
774 struct sockaddr_in *psin;
775 struct ip_msfilter *msf = NULL;
776 struct group_filter *gsf = NULL;
777 int msize, i, ifindex;
778
779 if (optlen < GROUP_FILTER_SIZE(0))
780 goto e_inval;

--- 314 unchanged lines hidden ---
771 extern int sysctl_igmp_max_msf;
772 struct sockaddr_in *psin;
773 struct ip_msfilter *msf = NULL;
774 struct group_filter *gsf = NULL;
775 int msize, i, ifindex;
776
777 if (optlen < GROUP_FILTER_SIZE(0))
778 goto e_inval;

--- 314 unchanged lines hidden ---