Однажды на одном высоконагруженном сервере доступа с трафиком около 5 Gb/s в /var/log/syslog начали часто отображаться ошибки:
i40e 0000:04:00.0: TX driver issue detected, PF reset issued
Ошибка появилась когда на сетевом интерфейсе увеличился трафик и до этого перезагружался сервер.
Также я заметил что есть потери пинга и стала меньше скорость отправки.
Как оказалось причиной ошибки были активированы оффлоады, которые я выключил через /etc/network/interfaces, но из-за какой-то причины команды впервые не выполнились после запуска сервера:
post-up /sbin/ethtool -K ens1f0 tso off gro off gso off
post-up /sbin/ethtool -K ens1f1 tso off gro off gso off
post-up /sbin/ethtool -G ens1f0 rx 4096 tx 4096
post-up /sbin/ethtool -G ens1f1 rx 4096 tx 4096
Поэтому я отключил ненужные оффлоады и заодно увеличил буферы, и продублировал эти команды в /etc/rc.local, чтобы после перезапуска сервера они не сбросились:
/sbin/ethtool -K ens1f0 tso off gro off gso off
/sbin/ethtool -K ens1f1 tso off gro off gso off
/sbin/ethtool -G ens1f0 rx 4096 tx 4096
/sbin/ethtool -G ens1f1 rx 4096 tx 4096
После этого ошибка больше не появлялась.
Посмотреть информацию про «offload» можно командой:
ethtool --show-offload ens1f0
Смотрите также мою статью:
Настройка сети в Linux