[collectd] multicast ttl
e f
ef_cd at apa.at
Mon Jan 30 12:17:54 CET 2006
hi
i'm using collectd in an vlan environment and had some troubles get this
right to work...
after some googling i found the right info:
---
Even more important for the multicast sender is to set the TTL to
something greater
then 1 (which is the default). TTL, or time to live, is a counter
attached to every sent packet.
The TTL value gets decremented at every router and when it reaches 0 is
dropped.
Thus multicast data will not get very far if the TTL value is 1.
---
so i have done the following changes to multicast.c
in function "multicast_send (char *type, char *instance, char *value)"
---multicast.c---
#define MCAST_TTL 2
int ttl = MCAST_TTL;
if (setsockopt(sd,IPPROTO_IP,IP_MULTICAST_TTL,&ttl,sizeof(ttl)) < 0)
{
syslog (LOG_WARNING, "multicast_ttl: set ip ttl");
return (-1);
}
---
in future releases it would be great, if this could be done via a
config-parameter ;)
eric
===
diff multicast.c_new
multicast.c_org
51d50
< #define MCAST_TTL 2
186d184
< int ttl = MCAST_TTL;
195,200d192
< if (setsockopt(sd,IPPROTO_IP,IP_MULTICAST_TTL,&ttl,sizeof(ttl)) < 0)
< {
< syslog (LOG_WARNING, "multicast_ttl: increase failure");
< return (-1);
< }
<
More information about the Collectd
mailing list