[radvd-devel-l] can't join ipv6-allrouters on (Cannot allocate memory) on 285th interface

Dan White dwhite at olp.net
Wed Apr 1 16:06:53 EDT 2009


Norman Rasmussen wrote:
> 2009/4/1 Dan White <dwhite at olp.net <mailto:dwhite at olp.net>>
>
>     +       errno = 0;
>
>
> I don't think that really does anything (errno is probably a copy of 
> some internal variable), try replacing it with flog, so that the value 
> can be tracked before and after.
>  
>
>     open files                      (-n) 1024
>
>
> try increasing the number of open files.  Each network interface would 
> count as an open file, but 285 is nowhere near 1024. 
>

Thanks for you help Norman.

Here's the new patch:

--- device-linux.c.bak  2009-04-01 15:03:15.000000000 -0500
+++ device-linux.c      2009-04-01 14:42:44.000000000 -0500
@@ -178,12 +178,14 @@
        mreq.ipv6mr_multiaddr.s6_addr32[0] = 
htonl(0xFF020000);                                         
        mreq.ipv6mr_multiaddr.s6_addr32[3] = htonl(0x2);    
 
+       flog(LOG_ERR, "Errno (before setsockop) %d: %m, for interface 
%s", errno, iface->Name);
        if (setsockopt(sock, SOL_IPV6, IPV6_ADD_MEMBERSHIP, &mreq, 
sizeof(mreq)) < 0)
        {
                /* linux-2.6.12-bk4 returns error with HUP signal but 
keep listening */
                if (errno != EADDRINUSE)
                {
                        flog(LOG_ERR, "can't join ipv6-allrouters on 
%s", iface->Name);
+                       flog(LOG_ERR, "Error %d: %m", errno);
                        return (-1);
                }
        }

And I've set open files to 10240. But I'm still getting the same error:

north:~# radvd
.
.
.
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.16
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.17
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.18
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.19
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.20
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.21
[Apr 01 15:03:58] radvd: Errno (before setsockop) 0: Success, for 
interface bond0.2011.22
[Apr 01 15:03:58] radvd: can't join ipv6-allrouters on bond0.2011.22
[Apr 01 15:03:58] radvd: Error 12: Cannot allocate memory
[Apr 01 15:03:58] radvd: error parsing or activating the config file: 
/etc/radvd.conf
failed.
north:~# ulimit -n
10240
north:~#

- Dan



More information about the radvd-devel-l mailing list