Назад | Перейти на главную страницу

Ошибки RX при использовании jumbo-пакетов

У нас есть устройство, выдающее высокоскоростные данные по UDP, подключенное напрямую к процессору (без переключателя). На процессоре работает CentOS 6.6. Подключение - гигабитный Ethernet. Когда мы используем размер пакетов в диапазоне 1400 байт, все работает отлично. Когда мы переключаемся на jumbo-пакеты - размер пакета чуть меньше 9000 байт - иногда возникают ошибки приема. Под «иногда» я имею в виду, что если при запуске нет ошибок приема, они в конечном итоге не начинают появляться, но если есть ошибки приема при запуске, они не останавливаются. Когда у нас есть ошибки приема, проходят только некоторые данные. Запуск ethtool -S на интерфейсе приводит к следующим ненулевым значениям:

rx_packets:        4752316
tx_packets:        7407
rx_bytes:             42021872746
tx_bytes:             477144
rx_broadcast:    34
tx_broadcast:    8
tx_multicast:      37
rx_errors:            6161970
rx_crc_errors:   3080985
rx_csum_offload_good:               7325
rx_header_split:              4752250

Мы попытались заменить устройства и кабели без изменений. Мы также обновили драйвер e1000e до последней версии. Тот же сценарий отлично работает на одной из наших тестовых машин, на которой также работает CentOS 6.6. Обе системы используют контроллер Ethernet Intel 82574L. Есть ли у кого-нибудь предложения, как решить эту проблему?