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

Dan White dwhite at olp.net
Tue Mar 31 11:00:55 EDT 2009


Hi,

I'm running into a problem that I can't understand.

I am attempting to configure radvd.conf with several hundred interfaces 
(VLAN interfaces).

If I configure radvd.conf with exactly 284 interfaces, it works, but if 
I configure the 285th interfaces then I received the error:

Starting radvd: [Mar 31 09:47:56] radvd: can't join ipv6-allrouters on 
bond0.2011.22
[Mar 31 09:47:56] radvd: Error: Cannot allocate memory
[Mar 31 09:47:56] radvd: error parsing or activating the config file: 
/etc/radvd.conf

I've patched device-linux.c with:

--- device-linux.c.bak    2009-03-31 09:54:12.000000000 -0500
+++ device-linux.c    2009-03-30 23:22:33.000000000 -0500
@@ -184,6 +184,7 @@
         if (errno != EADDRINUSE)
         {
             flog(LOG_ERR, "can't join ipv6-allrouters on %s", iface->Name);
+            flog(LOG_ERR, "Error: %m");
             return (-1);
         }
     }

To print the errno error, which is indicating a 'Cannot allocate memory' 
error.

I am not running out of system memory, e.g., before starting radvd.conf:

north:~# free
             total       used       free     shared    buffers     cached
Mem:       2076636    1062768    1013868          0     158432     429028
-/+ buffers/cache:     475308    1601328
Swap:      1951888          0    1951888

and after starting radvd with 284 interfaces (which does appear to start 
correctly):

north:~# /etc/init.d/radvd start
Starting radvd: radvd.
north:~# free
             total       used       free     shared    buffers     cached
Mem:       2076636    1065180    1011456          0     158432     429188
-/+ buffers/cache:     477560    1599076
Swap:      1951888          0    1951888

After doing some googling, I ended up modifying /etc/sysctl.conf:

net.ipv6.route.max_size=131072

and activated it with 'sysctl -p'. But that did not seem to make a 
difference.

Any ideas?

Thank You,
- Dan



More information about the radvd-devel-l mailing list