Сетёвка через некоторое время после попадения в бридж внезапно начинает терять все rx-пакеты.
OS: CentOS 6.7 x86_64 Сетевая карта: 09:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
судя по всему косяк где-то в дровишке
# ethtool -i eth4
driver: ixgbe
version: 4.1.5
причём заставить заново работать получается только сделав rmmod ixgbe и обратно.
Вот вся информация которой располагаю на текущий момент.
Мной тестировались:
- 3.18
- 4.1.5
- 4.2.3
Dec 17 10:15:18 tstsrv kernel: ixgbe 0000:09:00.1: eth4: Detected Tx Unit Hang
Dec 17 10:15:18 tstsrv kernel: Tx Queue <0>
Dec 17 10:15:18 tstsrv kernel: TDH, TDT <0>, <1>
Dec 17 10:15:18 tstsrv kernel: next_to_use <1>
Dec 17 10:15:18 tstsrv kernel: next_to_clean <0>
Dec 17 10:15:18 tstsrv kernel: ixgbe 0000:09:00.1: eth4: tx_buffer_info[next_to_clean]
Dec 17 10:15:18 tstsrv kernel: time_stamp <130c34874>
Dec 17 10:15:18 tstsrv kernel: jiffies <130c3523e>
Dec 17 10:15:18 tstsrv kernel: ixgbe 0000:09:00.1: eth4: tx hang 14 detected on queue 0, resetting adapter
Dec 17 10:15:18 tstsrv kernel: ixgbe 0000:09:00.1: eth4: Reset adapter
missed и без него начинают расти
Без добавления в bridge, сетёвка не начинает выращивать missed.
Включена опция:
net.bridge.bridge-nf-call-iptables = 1
Возможно проблема на самом деле не в самом бридже, а в роутинге пакетов, кстати.
при добавлении в бридж, сетёвка живёт около 2-10 секунд, после этого растут missed
- Входящих/исходящих пакетов/байт
- прерываний на сетёвке
- возможно зависит от jiffies, но хз как посмотреть
Бывает зависает на ≈5000 прерываний на rxtx-очереди, бывает на 200000.
Когда начинается потеря пакетов, прерывания на очередях сетёвки растут по 1 в сек
33: 81414 0 0 0 PCI-MSI-edge eth4-TxRx-0
34: 71666 0 0 0 PCI-MSI-edge eth4-TxRx-1
35: 99911 0 0 0 PCI-MSI-edge eth4-TxRx-2
36: 80284 0 0 0 PCI-MSI-edge eth4-TxRx-3
33: 81415 0 0 0 PCI-MSI-edge eth4-TxRx-0
34: 71667 0 0 0 PCI-MSI-edge eth4-TxRx-1
35: 99912 0 0 0 PCI-MSI-edge eth4-TxRx-2
36: 80285 0 0 0 PCI-MSI-edge eth4-TxRx-3
- legacy
- MSI
- MSI-X
- всё крутится на AMD процессоре, но не уверен что он здесь замешан, сегодня вероятно удастся протестировать на Xeon.
- В README драйвера упоминается, что при bridging/routing рекомендуется отключать GRO, но это не помогает.