Hi,

On Mon, Jul 26, 2010 at 12:22 PM, bored to death
<[email protected]> wrote:
>
> thank you for your reply. your hint about trying: "autoreconf -i --force"
> after applying the patch solved the errors i mentioned about aclocal and
> ..., but sadly during the build process, it ended with a new error. this is
> the new error i got;
>
> pim_igmp_join.c: In function 'pim_igmp_join_source':
> pim_igmp_join.c:46: error: 'AF_INET' undeclared (first use in this function)
> pim_igmp_join.c:46: error: (Each undeclared identifier is reported only once
> pim_igmp_join.c:46: error: for each function it appears in.)
> pim_igmp_join.c:57: warning: implicit declaration of function 'setsockopt'
> pim_igmp_join.c:57: error: 'SOL_IP' undeclared (first use in this function)
>
> i will work on solving this error, i think it has something to do with the
> included files and libraries in pim code, (maybe some of them should be
> replaced with their alternatives in FreeBSD?).

Yes, I think you should include the right includes for FreeBSD.
Check what "man setsockopt" recommends under FreeBSD.
In Linux, "man setsockopt" points out these headers:

#include <sys/types.h>
#include <sys/socket.h>

Then add those headers to the top of the file "pim_igmp_join.c".

I think you should also check what is the correct FreeBSD api for joining
source-specific multicast grupos. Under Linux, it goes like this:

/* This type should be defined somewhere in the system headers. */
struct group_source_req
{
  uint32_t gsr_interface;
  struct sockaddr_storage gsr_group;
  struct sockaddr_storage gsr_source;
};

struct group_source_req req;

setsockopt(fd, SOL_IP, MCAST_JOIN_SOURCE_GROUP, &req, sizeof(req));

Cheers,
Everton

Reply via email to