From: Björn Steinbrink (bjoern.steinbrink_at_isp4p.net)
Date: Mon 01 Nov 2004 - 02:07:50 GMT
On Sat, 30 Oct 2004 10:15:41 -0400
Benoit des Ligneris <benoit.des.ligneris_at_gmail.com> wrote:
> Hello,
>
> Some additional info :
>
> > > If I add the multicast address in the vserver.conf file
> > > (IPROOT="192.168.4.5 239.2.11.71") then I obtain the following :
> > > gmond -d2
> > > pthread_attr_init
> > > creating cluster hash for 1024 nodes
> > > hash_create size = 1024
> > > hash->size is 1031
> > > gmond initialized cluster hash
> > > Using interface eth0
> > > mcast listening on 239.2.11.71 8649
> > > XML listening on port 8649
> > > listening thread(s) have been started
> > > listening thread(s) have been started
> > > cleanup thread has been started
> > > gmond could not connect to multicast channel: Invalid argument
> >
> > hmm, well, maybe some details via strace?
>
[snip]
> ) = 1
> socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 8
> setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
> setsockopt(8, SOL_IP, IP_MULTICAST_IF, [0], 4) = 0
> setsockopt(8, SOL_IP, IP_MULTICAST_TTL, "\1", 1) = 0
> connect(8, {sa_family=AF_INET, sin_port=htons(8649),
> sin_addr=inet_addr("239.2.11.71")}, 16) = -1 EINVAL (Invalid argument)
> close(8) = 0
[snip]
Seeing that you use the old config style i assume that you use a 2.4
kernel, as i tested this stuff on a 2.6 kernel it may not apply, but
let's give it a try...
The -EINVAL is the result of trying to issue connect() on a socket with
a multicast source address, this is not allowed (i don't know why, yet).
The problems seems to be, that the tools create the multicast address as
a regular address, afaict multicast addresses are normally either
dynamically created or via 'ip maddr' instead of 'ip addr'. Although i
was unable to get a "connected multicast socket" to send messages that
are received on the localhost (couldn't test with remote yet) i guess
i'm just doing it the wrong way somehow (as ganglia should be right,
right? ;).
So what i suggest is that you modify your vserver config so that the
multicast address is assumed to be already there and is not created by
the tools. IIRC it should be:
...
IPROOT="eth0:192.168.4.5 239.2.11.71"
IPROOTDEV=
...
But I'm wrong with that stuff most of the time so you might want to
check out http://vserver.13thfloor.at/Stuff/VServer-IP-Setup-0.1.txt
With the correct entry you should have an alias for the 192.x.x.x
address but none for the 239.x.x.x address.
I guess this may be enough to fix the startup, but may require
additional work for the multicast localhost loopback to work. I'll look
further into this later this week.
HTH
Bjoern
--I wonder if anyone understands what I'm trying to say 8-) _______________________________________________ Vserver mailing list Vserver_at_list.linux-vserver.org http://list.linux-vserver.org/mailman/listinfo/vserver