On Fri, 16 Apr 2010, Bruce Simpson wrote:
On 04/16/10 09:23, Alexander Leidinger wrote:
IP multicast group membership is always scoped to physical links [1]. The
4.4BSD API originally used the "primary IP address" to identify each link.
Unfortunately this is not a persistent identifier, especially so in the
use-case which had problems.
Is/was this the reason why multicast does not work in jails?
The above point is totally unrelated to jail.
I think the problem with jail is the fact that to receive multicast, sockets
normally need to be bound to INADDR_ANY. Obviously, jail changes socket
behaviour in interesting ways.
This may require refactoring udp_input() considerably. We use the 4.4BSD
legacy LIST_FOREACH() loop to deliver, rather than using a fan-in map (which
is the Windows/Solaris approach).
Linux also has 4.4BSD semantics, but can work around this by examining the
SO_BINDTODEVICE option in the same path.
SO_BINDTODEVICE would not be enough of a check unless the interface
could be dedicated to a jail which classic jails did and do not
support. Virtual network stacks will be the solution for this.
--
Bjoern A. Zeeb It will not break if you know what you are doing.
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"