Интерфейс команды теряет пакеты

Интерфейс команды теряет пакеты

После обновления с 3.10.104 до ядра 4.14 я вижу постоянные сбросы (около 10 пакетов/сек) на командном интерфейсе (TX) в режиме активного резервного копирования, увеличение txqueuelen на физическом порту помогает, однако сбросы все еще время от времени происходят.

Вот вывод ifconfig с txqueuelen 0 на 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)

Физический интерфейс:

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)

Чтобы отладить это, я добавил printk в командный драйвер, где вызывается dev_kfree_skb_any, однако, хотя счетчик отброшенных пакетов увеличивается, я не вижу сообщений в dmesg, пока не сброслю физический интерфейс с помощью ethtool, следовательно, пакеты отбрасываются где-то в другом месте, однако на данный момент я понятия не имею, как найти точную причину.

Я также использовал утилиту dropwatch, она выдает много выходных данных, показывающих многочисленные сбросы, однако она выдает похожие выходные данные на ядре 3.10, где никаких сбросов не видно с помощью ifconfig. Я предполагаю, что она регистрирует что-то еще, возможно, входящие пакеты, сброшенные ядром, поэтому полезная информация теряется между ними. Вот вывод dropwatch на 4.14, отсортированный по уникальным символам:

__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)

Есть ли у вас какие-либо идеи/предложения по отладке этого? Спасибо!

Связанный контент