<div dir="ltr">Hi Sedat,<div><br></div><div>Your patch is integrated in the 1.9.4rc1 branch in git. Please test.</div><div><br></div><div><a href="https://github.com/reubenhwk/radvd/tree/1.9.4rc1">https://github.com/reubenhwk/radvd/tree/1.9.4rc1</a><br>
</div><div><br></div><div>Thanks,</div><div>Reuben</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 12, 2013 at 10:02 AM, Sedat Dilek <span dir="ltr"><<a href="mailto:sedat.dilek@gmail.com" target="_blank">sedat.dilek@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Mon, Aug 12, 2013 at 4:44 PM, Reuben Hawkins <<a href="mailto:reubenhwk@gmail.com">reubenhwk@gmail.com</a>> wrote:<br>
> Hi Sedat,<br>
><br>
> The change looks good. I haven't tested it yet, but when I get a chance to<br>
> test I doubt I'll find any reason to not merge the change.<br>
><br>
> I'll make a new release in a few weeks with the change.<br>
><br>
<br>
</div>Good news!<br>
<span class="HOEnZb"><font color="#888888"><br>
- Sedat -<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> Thanks,<br>
> Reuben<br>
><br>
><br>
> On Wed, Aug 7, 2013 at 6:12 PM, Sedat Dilek <<a href="mailto:sedat.dilek@gmail.com">sedat.dilek@gmail.com</a>> wrote:<br>
>><br>
>> My build with radvd-1.9.3 and the Freetz build-system breaks with a<br>
>> Linux-kernel v2.6.13.1 like this:<br>
>><br>
>> netlink.c: In function 'netlink_socket':<br>
>> netlink.c:84:41: error: 'NETLINK_NO_ENOBUFS' undeclared (first use in<br>
>> this function)<br>
>> netlink.c:84:41: note: each undeclared identifier is reported only<br>
>> once for each function it appears in<br>
>> make[2]: *** [netlink.o] Error 1<br>
>><br>
>> This is obvious as my kernel-sources have no "NETLINK_NO_ENOBUFS"<br>
>> definition<br>
>> in "include/linux/netlink.h".<br>
>><br>
>> The culprit is the else-if line here:<br>
>><br>
>> [ netlink.c ]<br>
>><br>
>> int netlink_socket(void)<br>
>> {<br>
>> ...<br>
>> if (sock == -1) {<br>
>> flog(LOG_ERR, "Unable to open netlink socket: %s",<br>
>> strerror(errno));<br>
>> }<br>
>> else if (setsockopt(sock, SOL_NETLINK, NETLINK_NO_ENOBUFS, &val,<br>
>> sizeof(val)) < 0 ) {<br>
>> flog(LOG_ERR, "Unable to setsockopt NETLINK_NO_ENOBUFS:<br>
>> %s", strerror(errno));<br>
>> }<br>
>> ...<br>
>><br>
>> The NETLINK_NO_ENOBUFS socket flag was first introduced with Linux-kernel<br>
>> v2.6.29-rc7:<br>
>><br>
>> commit 38938bfe3489394e2eed5e40c9bb8f66a2ce1405<br>
>> "netlink: add NETLINK_NO_ENOBUFS socket flag"<br>
>><br>
>> The issue in radvd was introduced with:<br>
>><br>
>> commit de9a8849258b2a6a125d686dcb9c424affad354d<br>
>> "setsockopt NETLINK_NO_ENOBUFS"<br>
>><br>
>> I have added extra checks for SOL_NETLINK and NETLINK_NO_ENOBUFS<br>
>> definitions<br>
>> which fixes the issue for me.<br>
>><br>
>> NOTE: Compile-tested only!<br>
>> Signed-off-by: Sedat Dilek <<a href="mailto:sedat.dilek@gmail.com">sedat.dilek@gmail.com</a>><br>
>> ---<br>
>> netlink.c | 2 ++<br>
>> 1 file changed, 2 insertions(+)<br>
>><br>
>> diff --git a/netlink.c b/netlink.c<br>
>> index a37ccad..d405731 100644<br>
>> --- a/netlink.c<br>
>> +++ b/netlink.c<br>
>> @@ -81,9 +81,11 @@ int netlink_socket(void)<br>
>> if (sock == -1) {<br>
>> flog(LOG_ERR, "Unable to open netlink socket: %s",<br>
>> strerror(errno));<br>
>> }<br>
>> +#if defined SOL_NETLINK && defined NETLINK_NO_ENOBUFS<br>
>> else if (setsockopt(sock, SOL_NETLINK, NETLINK_NO_ENOBUFS, &val,<br>
>> sizeof(val)) < 0 ) {<br>
>> flog(LOG_ERR, "Unable to setsockopt NETLINK_NO_ENOBUFS:<br>
>> %s", strerror(errno));<br>
>> }<br>
>> +#endif<br>
>><br>
>> memset(&snl, 0, sizeof(snl));<br>
>> snl.nl_family = AF_NETLINK;<br>
>> --<br>
>> 1.8.3.4<br>
>><br>
><br>
</div></div></blockquote></div><br></div>