qpimd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qpimd-users] qpimd in FreeBSD?


From: Everton Marques
Subject: Re: [qpimd-users] qpimd in FreeBSD?
Date: Thu, 5 Aug 2010 17:25:22 -0300

Hi,

I fixed this error by reordering the following includes in
pimd/test_igmpv3_join.c:

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

to:

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

Cheers,
Everton

On Sun, Aug 1, 2010 at 7:24 AM, bored to death
<address@hidden> wrote:
> hi,
>
> sorry for delay to reply, i was kinda stucked at some other works.
>
> i tried solving errors i mentioned in last post with the help of the hint
> Everton gave me.
> so, i added
> #include <sys/types.h>
> #include <sys/socket.h>
> this solved "'AF_INET undeclared" problem.
>
> then, i read FreeBSD uses IPPROTO_IP instead of SO_IP, and i was hoping two
> structures were the same. so i added:
> #define SOL_IP IPPROTO_IP
> at the top of pim_igmp_join.c.
> this solved "'SOL_IP undeclared" problem. but now , new errors appeared.
> this is what happened:
>
> In file included from test_igmpv3_join.c:28:
> /usr/include/net/if.h:294: error: field 'ifru_addr' has incomplete type
> /usr/include/net/if.h:295: error: field 'ifru_dstaddr' has incomplete type
> /usr/include/net/if.h:296: error: field 'ifru_broadaddr' has incomplete type
> /usr/include/net/if.h:330: error: field 'ifra_addr' has incomplete type
> /usr/include/net/if.h:331: error: field 'ifra_broadaddr' has incomplete type
> /usr/include/net/if.h:332: error: field 'ifra_mask' has incomplete type
> /usr/include/net/if.h:430: error: field 'addr' has incomplete type
> /usr/include/net/if.h:431: error: field 'dstaddr' has incomplete type
> *** Error code 1
> i worked a while on it but i couldn't find a way to fix this error.
>
> i will continue working on it, and i will be glad if anyone helps me.
>
> thank you.
>
> ________________________________
> From: Everton Marques <address@hidden>
> To: bored to death <address@hidden>
> Cc: address@hidden
> Sent: Mon, July 26, 2010 9:19:35 PM
> Subject: Re: [qpimd-users] qpimd in FreeBSD?
>
> Hi,
>
> On Mon, Jul 26, 2010 at 12:22 PM, bored to death
> <address@hidden> 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

[Prev in Thread] Current Thread [Next in Thread]