svn commit: r206452 - head/sys/netinet
Bjoern A. Zeeb
bz at FreeBSD.org
Fri Apr 16 10:40:09 UTC 2010
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.
More information about the svn-src-head
mailing list