Hohe Anzahl Interface Received Errors bei Broadcom-Karten

Started by alexander, November 12, 2021, 03:43:18 PM

Previous topic - Next topic
Hallo zusammen,

ich habe einige Firewalls von OpenBSD zu OPNsense 21.7 migriert, und habe seitdem das Problem, dass ich auf einigen Interfaces eine hohe Anzahl an received-errors und dropped packets habe. Die received-errors liegen regelmässig über 0.01%, und gehen bis auf 0.8% hoch.

OPNsense läuft bare-metal auf folgender Hardware:
HPE ProLiant DL380 Gen9
Intel Xeon E5-2623 v3 @ 3.00 GHz (4 physische kerne)
16 GB RAM
Netzwerkkarten: 2x Intel 10 GbE-Karten (ix-Treiber) und insgesamt 4x 4-Port GbE Broadcom-Karten (bge-Treiber), davon 10 Interfaces in Benutzung, inklusive VLAN-Trunks.

Das Problem tritt bisher ausschliesslich auf den Broadcom-Karten auf. Der Traffic je Karte kommt nicht einmal annähernd an 1 Gbit/s ran -- die Fehler treten bereits bei rund 100 Mbit/s auf.

Die Firewalls werden via SNMP über Check_MK gemonitored, und man sieht deutlich dass auch die Laufzeiten der restlichen ICMP-Monitor-Pings an andere Hosts, die hinter der Firewall hängen, ebenfalls verlangsamt sind und teils gänzlich verloren gehen.

Die CPU-Auslastung liegt konstant bei um die 50%, teilweise auf bis zu 70%.
Ich habe bereits versucht, CRC Offloading zu aktivieren, was jedoch keinen (spürbaren) Effekt gebracht hat.

Sind euch Probleme mit dem bge-Treiber bekannt? Mir erscheint die CPU-Auslastung zu hoch -- könnte das mit ein Grund für dieses Phänomen sein?

Einen Defekt an den Karten selbst schliesse ich aus, da sie vorher reibungslos funktioniert haben, und das Problem nicht auf eine bestimmte Karte beschränkt ist.

Das Ruleset ist minimal; aktuell nur 9 Floating-Rules im Einsatz. IPv6 ist global deaktiviert.
Mbufs total liegt bei 25k, also weit unterhalb der maximalen 1M, daran sollte es also auch nicht liegen.
Unter System > Diagnostics > Activity fällt mir auch auf, dass ein "[kernel{bgeX taskq}]"-Prozess auf bis zu 100% hoch geht, und bei entsprechendem Traffic auch dort verharrt. Ist das die Last, die der Netzwerkstack bei der Verarbeitung der Pakete verursacht?

Hat jemand eine Idee, wie ich mich dem Problem nähern könnte?

Hier ein Interface als Beispiel:

[bge8] / 28:80:23:b8:ea:d4
    • name  :  bge8
    • flags  :  0x8943
    • mtu  :  1500
    • network  :  <Link#11>
    • address  :  28:80:23:b8:ea:d4
    • received-packets  :  522738313
    • received-errors  :  148022
    • dropped-packets  :  312
    • received-bytes  :  193952218025
    • sent-packets  :  487823124
    • send-errors  :  0
    • sent-bytes  :  75553400926
    • collisions  :  0


Herzlichen Dank im Voraus für eure Hilfe  :)

Gruss Alex

Hallo,
ich habe auch seit kurzem OPNsense auf einem HPE ProLiant DL360p Gen8 laufen.

Hier noch ein paar Daten:
ProLiant DL360p Gen8
2x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
HP Ethernet 1Gb 4-port 331FLR Adapter
128 GB RAM
Bei dieser Konfiguration musste ich auch feststellen, dass viele Fehler an der Netzwerkkarte auftreten und ich nicht die 1Gbit/s erreiche.

Mit iperf3 erhalte ich bspw. folgende Werte:

[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-100.00 sec   912 MBytes  76.5 Mbits/sec  409             sender
[  5]   0.00-100.00 sec   911 MBytes  76.4 Mbits/sec                  receiver
[  7]   0.00-100.00 sec   661 MBytes  55.4 Mbits/sec  273             sender
[  7]   0.00-100.00 sec   660 MBytes  55.4 Mbits/sec                  receiver
[  9]   0.00-100.00 sec   685 MBytes  57.5 Mbits/sec  315             sender
[  9]   0.00-100.00 sec   685 MBytes  57.5 Mbits/sec                  receiver
[ 11]   0.00-100.00 sec  1013 MBytes  85.0 Mbits/sec  315             sender
[ 11]   0.00-100.00 sec  1012 MBytes  84.9 Mbits/sec                  receiver
[ 13]   0.00-100.00 sec   912 MBytes  76.5 Mbits/sec  339             sender
[ 13]   0.00-100.00 sec   912 MBytes  76.5 Mbits/sec                  receiver
[ 15]   0.00-100.00 sec   849 MBytes  71.2 Mbits/sec  325             sender
[ 15]   0.00-100.00 sec   849 MBytes  71.2 Mbits/sec                  receiver
[ 17]   0.00-100.00 sec   756 MBytes  63.4 Mbits/sec  296             sender
[ 17]   0.00-100.00 sec   755 MBytes  63.4 Mbits/sec                  receiver
[ 19]   0.00-100.00 sec   803 MBytes  67.4 Mbits/sec  288             sender
[ 19]   0.00-100.00 sec   802 MBytes  67.3 Mbits/sec                  receiver
[ 21]   0.00-100.00 sec   895 MBytes  75.1 Mbits/sec  357             sender
[ 21]   0.00-100.00 sec   894 MBytes  75.0 Mbits/sec                  receiver
[ 23]   0.00-100.00 sec   885 MBytes  74.3 Mbits/sec  507             sender
[ 23]   0.00-100.00 sec   885 MBytes  74.2 Mbits/sec                  receiver
[SUM]   0.00-100.00 sec  8.17 GBytes   702 Mbits/sec  3424             sender
[SUM]   0.00-100.00 sec  8.17 GBytes   702 Mbits/sec                  receiver


Hast du für die Optimierung der Netwerkkarte schon etwas an den Tunables geschraubt?

Hi,
zum zum Thema Broadcom Karten hab ich :

Broadcom NIC verwirft Pakete (bce,bge) in Zeile 2 anpassen

/boot/loader.conf.local ( nicht vorhanden )

kern.ipc.nmbclusters="1000000"
hw.bge.tso_enable=0
hw.pci.enable_msix=0

wenn es nicht hilft mal nach /boot/loader.conf.local im Zusammenhang mit Broadcom  Forum suchen