[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