Solution ZEBRA: netlink-listen recvmsg overrun: No buffer space available

Once on the server with Quagga after adding several thousand network interfaces, I noticed a message in the logs /var/log/zebra.log:

ZEBRA: netlink-listen recvmsg overrun: No buffer space available

Looked at the current values (I everywhere was 212992):

cat /proc/sys/net/core/rmem_default
cat /proc/sys/net/core/rmem_max
cat /proc/sys/net/core/wmem_default
cat /proc/sys/net/core/wmem_max

To solve the problem, I increased the maximum data receive buffer for all connections by 16 megabytes (16777216 byte = 16Mb):

sudo su
echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max

And also so that when restarting the system, the value is not reset, added to sysctl.conf:

sudo nano /etc/sysctl.conf
net.core.rmem_max=16777216
net.core.wmem_max=16777216

Also in the /etc/quagga/debian.conf file, add “nl-bufsize”:

zebra_options="  --daemon -A 127.0.0.1 --nl-bufsize 16777216"

And restart quagga to apply the changes:

sudo /etc/init.d/quagga restart

See also my articles:
Setting up BGP in Quagga
How to enable or disable Proxy ARP on Linux

Leave a comment

Leave a Reply