"Bhaskara Peela" <bpeela@xxxxxxxxxxxx> wrote on 09/19/2006 12:17:22 PM: > Hi, > > Thank you for your quick reply. It works with IP_ADD_MEMBERSHIP. But, I > don't understand why we need IP_ADD_MEMBERSHIP before IP_MSFILTER as we > can do everything with IP_MSFILTER. I feel IP_MSFILTER is more > versatile than other basic API. This API modifies filters; it doesn't join the group for you. It's not unreasonable to have it automatically join, but that effectively ignores some potential error conditions (like trying to leave a group you for which you are not a member, as your code was doing). Of course, if you want to, your code can always join and ignore the error when you're already a member. The kernel interface separates join and filter modification operations. > As you mentioned it does not work with nsrcs=0 but, works with any > non-zero value of nsrcs include and exclude filters. Is there any > documentation which gives brief description of usage of this API > sequence. If I use nsrcs=0 option I still get "Cannot assign requested > address". I am using 2.6.9 kernel. I will try with the 2.6.16 kernel > and see what happens? 2.6.9 is more than a year old, and there has been a lot of work in this area since then. > BTW, do you know the status of setipv4sourcefilter()/setsourcefilter() > API? They are not there in latest release? These are provided by glibc, not the kernel. If you get a recent version of glibc, they should be there. The Linux kernel interface for full-state multicast source filtering is IP_MSFILTER, which the glibc implementation of setipv4sourcefilter()/setsourcefilter() uses. - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html