April 13

netlink-listen recvmsg overrun: No buffer space available

Mit wachsender Anzahl Routings – sei es durch statische Einträge
oder Peerings mit dynamischem Routing – kommt es vor, dass
Software-Router wie Quagga den netlink Puffer voll machen.

Das äußert sich dann mit solchen Meldungen in den Logs:
ZEBRA: netlink-listen recvmsg overrun: No buffer space available

Die Lösung liegt auf der Hand: Der Buffer Space für den Empfang
von Netzwerkpaketen muss vergrößert werden.

Standardmäßig scheint zumindest Ubuntu diesen Puffer recht klein zu dimensionieren.
Daher muss hier selbst Hand angelegt werden.
Die aktuelle Größe kann mit folgendem Befehl ausgelesen werden:
sysctl net.core.rmem_max
Das „r“ in „rmem“ steht dabei für received, also den gewünschten Empfangspuffer.
Die Ausgabe verrät dann die Größe des buffers in Byte, zum Beispiel so:
buffer_1

Damit dieser nun vergrößert wird, kann der Wert entsprechend mit diesem Befehl
angepasst werden:
sysctl -w net.core.rmem_max=[neue Größe]

Ich habe bei mir als neue Größe 1024000 gewählt und habe damit keine Fehler
oder dropped Packets mehr. Welchen Wert ihr wählt, ist natürlich jedem selbst überlassen.
Für den optimalen Wert gibt es leider wenig (mir bekannte) gute Dokumentation.
Wie bei jeder Anpassung der Kernel-Variablen ist hier ein vorsichtiges
Herantasten sicherlich eine gute Devise.

Als Antwort auf den Befehl gibt es nur eine Bestätigung über den neu eingetragenen Wert:
buffer_2

Der neue Wert wird dadurch direkt übernommen, jedoch nicht permanent.
Nach einem Reboot ist alles wieder beim Alten. So kann man zuvor testen,
ob alles noch läuft. Es gibt jedoch Berichte, dass manche Programme die Einstellung
auch cachen und erst nach einem kompletten Reboot übernehmen.

Soll dieser Wert also auch nach einem Reboot gesetzt bleiben, muss dies noch in die
sysctl.conf (in der Regel unter /etc/sysctl.conf zu finden)
eingetragen werden.
Dort reicht dann folgender Eintrag aus:
net.core.rmem_max=1024000

Damit überlebt die Einstellung auch einen Reboot und bleibt gesetzt.


Schlagwörter: , ,

Veröffentlicht13. April 2015 von gerger in Kategorie "Allgemein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.