Ping не передает после передачи 12 пакетов с ошибкой «ping: sendmsg: нет доступного буферного пространства»

#linux-device-driver #ping #fpga #xilinx #network-driver

Вопрос:

Я разработал сетевой драйвер для ПЛИС Xilinx. Драйвер разработан поверх драйвера QDMA linux. Плата FPGA имеет два порта SFP 25G. Я подключил оптоволоконный кабель и установил внешнее петлевое соединение. Я могу непрерывно передавать / получать данные в этом режиме.

В качестве следующего шага я подключил аналогичный сетевой адаптер к другому серверу и попытался выполнить пинг с одного сервера на другой. После 12 пингов я получаю ping: sendmsg: нет доступного буферного пространства

Как устранить эту ошибку? Пожалуйста, помогите.

пожалуйста, сообщите, требуются ли какие-либо дополнительные сведения

Некоторые основные сведения: ОС первого сервера: Ubuntu 16.04 ОС второго сервера: CentOS 3.10

Блоки HW IP на FPGA: подсистема QDMA и 10 / 25G ethernet (настроена как 25G)

-> После установки драйвера интерфейс, указанный в ifconfig, настроен как «link local»

Попытался установить wmem_max, как указано в https://www.linuxquestions.org/questions/linux-networking-3/sendmsg-no-buffer-space-available-334631 / Но не повезло

Заранее спасибо, Адитья

Комментарии:

1. пожалуйста, обновите счетчики статистики HW и SW. Также проверьте, заполняется ли ваша очередь передачи данных. Быстрый сухой тест, чтобы выгрузить и загрузить драйвер обратно, который I assume will reset the HW device . При этом, если вы снова можете отправлять пакеты rx-tx, это означает, что ваша очередь передачи становится заполненной, а HW не реагирует. Следовательно, проверьте драйвер? Примечание: обычно используется наименьший фрагмент кода, который помогает отлаживать. Сможете ли вы поделиться кодом драйвера, который вы разрабатываете, с сообществом?