Re: socket option IP_MSFILTER questions and observations
From: David Stevens <hidden>
Date: 2012-03-26 16:36:08
I'm trying to use source specific multicast by setting the IP_MSFILTER socket option. I noticed i need to join the group with IP_ADD_MEMBERSHIP
before setting the source filter. This is not the behavior i expected after reading RFC3678.
RFC3678 doesn't say that an IP_MSFILTER will join a group automatically. The model is that you join a group once and then dynamically set the source filters as they change over time.
A potential issue i'm thinking of with this approach: an IGMP report could be sent after joining a group but before the filter is set. Is there a way to prevent this?
Adding or changing the source filters triggers a new report
but you can use IP_ADD_SOURCE_MEMBERSHIP which does explicitly join
a group with a source filter. In the kernel, this is done with an
"any" join followed by setting a source filter which actually will result
in 2 reports too, if there are no other processes using that group.
+-DLS