Após a atualização do 3.10.104 para o kernel 4.14, vejo quedas constantes (cerca de 10 pacotes/seg) na interface da equipe (TX) no modo de backup ativo, aumentar o txqueuelen em uma porta física ajuda, no entanto, quedas ainda ocorrem de vez em quando.
Aqui está a saída do ifconfig com txqueuelen 0 na 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)
Interface física:
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)
Para depurar isso, adicionei um printk no driver de equipe onde dev_kfree_skb_any é chamado, no entanto, enquanto o contador descartado aumenta, não vejo mensagens no dmesg até redefinir a interface física pelo ethtool, portanto, os pacotes estão sendo descartados em outro lugar, no entanto, por enquanto, não tenho ideia de como encontrar a causa exata.
Eu também usei um utilitário dropwatch, ele produz muitos resultados mostrando inúmeras quedas, no entanto, gera uma saída semelhante no kernel 3.10, onde nenhuma queda é vista com ifconfig. Presumo que ele registre outra coisa, talvez pacotes de entrada descartados pelo kernel, então informações úteis são perdidas entre eles. Aqui está uma saída do dropwatch no 4.14 classificada por símbolos exclusivos:
__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)
Você tem alguma idéia/sugestão sobre como depurar isso? Obrigado!