#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 не реагирует. Следовательно, проверьте драйвер? Примечание: обычно используется наименьший фрагмент кода, который помогает отлаживать. Сможете ли вы поделиться кодом драйвера, который вы разрабатываете, с сообществом?