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!