HEADS UP: Source-specific multicast code committed to tree
Bruce M Simpson
bms at incunabulum.net
Tue Jun 12 18:09:08 UTC 2007
Julian Elischer wrote:
>> * Strict socket membership is now the default; the legacy 4.4BSD
>> behaviour of delivering a multicast datagram to all sockets matching
>> the 4-tuple has been removed.
> this seems a but counterintuitive
This particular change only affects UDP.
Strictly speaking, multicast datagrams should only be delivered locally
to sockets which are members of the multicast group. Source multicast
makes this definition stricter - multicast datagrams should only be
delivered if the source is permitted to deliver to the destination.
In the absence of IGMPv3/MLDv2 support from upstream routers, it is
possible for datagrams from blocked sources to reach the end host. For
the time being FreeBSD merely enforces these semantics by dropping such
datagrams. When IGMPv3/MLDv2 support is added, the source filter list is
relayed to upstream multicast routers whenever it changes, and they
SHOULD NOT deliver datagrams blocked by source filters to the end host.
Other implementations have done this for many years and it's time
FreeBSD followed suit. A sysctl to enable the strict behaviour has been
in place for a few years now. It is preferred by design in a source
multicast environment.
regards,
BMS
More information about the freebsd-current
mailing list