Team-Schnittstelle verwirft Pakete

Team-Schnittstelle verwirft Pakete

Nach dem Upgrade von 3.10.104 auf Kernel 4.14 sehe ich ständige Ausfälle (etwa 10 Pakete/Sek.) auf der Team-Schnittstelle (TX) im Active-Backup-Modus. Eine Erhöhung der txqueuelen auf einem physischen Port hilft, jedoch kommt es von Zeit zu Zeit immer noch zu Ausfällen.

Hier ist die ifconfig-Ausgabe mit txqueuelen 0 auf eth6

team0      Link encap:Ethernet  HWaddr 00:1E:67:B5:7F:76
      inet addr:192.168.221.203  Bcast:0.0.0.0  Mask:255.255.255.0
      inet6 addr: fe80::21e:67ff:feb5:7f76/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:837 errors:0 dropped:671 overruns:0 frame:0
      TX packets:282219490 errors:0 dropped:169438 overruns:0 carrier:0
      collisions:0 txqueuelen:10000
      RX bytes:27531 (26.8 KiB)  TX bytes:113995992408 (106.1 GiB)

Physische Schnittstelle:

eth6      Link encap:Ethernet  HWaddr 00:1E:67:B5:7F:76  
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:837 errors:0 dropped:0 overruns:0 frame:0
      TX packets:282218759 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:74718 (72.9 KiB)  TX bytes:383252978322 (356.9 GiB)

Um dies zu debuggen, habe ich im Teamtreiber, wo dev_kfree_skb_any aufgerufen wird, einen printk hinzugefügt. Während der Zähler für gelöschte Pakete steigt, werden mir in dmesg jedoch keine Nachrichten angezeigt, bis ich die physische Schnittstelle mit ethtool zurücksetze. Daher werden Pakete woanders gelöscht. Im Moment habe ich jedoch keine Ahnung, wie ich die genaue Ursache finden kann.

Ich habe auch ein Dropwatch-Dienstprogramm verwendet. Es erzeugt eine Menge Ausgaben, die zahlreiche Drops anzeigen. Es erzeugt jedoch ähnliche Ausgaben unter Kernel 3.10, wo mit ifconfig keine Drops zu sehen sind. Ich gehe davon aus, dass es etwas anderes protokolliert, möglicherweise vom Kernel gelöschte Eingabepakete, sodass nützliche Informationen zwischen diesen verloren gehen. Hier ist eine Dropwatch-Ausgabe unter 4.14, sortiert nach eindeutigen Symbolen:

__udp4_lib_rcv+6b0 (0xffffffff8155ce77)
ip_forward+98 (0xffffffff81534f88)
kfree_skb_list+13 (0xffffffff814f0d22)
sk_stream_kill_queues+4a (0xffffffff814f68a9)
tcp_v4_do_rcv+154 (0xffffffff815508e9)
tcp_v4_rcv+1de (0xffffffff81552490)
unix_stream_connect+3b4 (0xffffffff81586890)

Haben Sie Ideen/Vorschläge zur Fehlerbehebung? Danke!

verwandte Informationen