On Fri, Apr 1, 2011 at 12:28 PM, Benedikt Böhm <bb@xnull.de> wrote:
> On Fri, Apr 1, 2011 at 11:13 AM, Furgerot Julien
> <julien.furgerot@gmail.com> wrote:
>> If I have understood correctly, binding a socket to listen on a multicast
>> address requires a 'nodev' network interface configured like this :
>> /etc/vservers/VM/interfaces/XX/ :
>
> you can give this patch a try:
>
> --- a/include/linux/vs_inet.h 2010-09-02 14:29:18.000000000 +0200
> +++ b/include/linux/vs_inet.h 2010-10-14 10:03:54.879553071 +0200
> @@ -244,7 +244,7 @@
> } else if (saddr == IPI_LOOPBACK) {
> if (nx_info_flags(nxi, NXF_LBACK_REMAP, 0))
> baddr = nxi->v4_lback.s_addr;
> - } else { /* normal address bind */
> + } else if (!ipv4_is_multicast(saddr)) { /* normal address bind */
> if (!v4_addr_in_nx_info(nxi, saddr, NXA_MASK_BIND))
> return -EADDRNOTAVAIL;
> }
>
>
> it is used in production for ganglia monitoring at one of my clients
> and didn't cause any problems so far
i forgot to mention, that you don't need to configure the multicast
addresses in /etc/vservers/foo/interfaces anymore. vservers can just
join every multicast channel they desire ...
Received on Fri Apr 1 11:38:47 2011