(Извините, я работаю в изолированной сети, поэтому не могу скопировать и вставить все)
В моей системе есть сетевой адаптер mlx5, и я хочу запустить приложение dpdk.
Я уже все собрал, и мое приложение работает и находит порты.
Там говорится:
EAL: Probe PCI driver: mlx5_pci... (socket -1)
Все работает, но когда я использую dpdk-devbind status
, я вижу, что порты находятся в разделе «Сетевые устройства, использующие драйвер ядра». Это нормально?
Также одна из моих сетевых карт — ConnectX6, а другая — ConnectX5, но обе используют драйвер «mlx5_core».
Я видел, что на разных сетевых компьютерах статус dpdk-devbind показывает драйвер dpdk, а не драйвер ядра. Означает ли это, что я выполняю его неправильно?
Все в порядке. Рассматриваемый сетевой адаптер использует так называемую модель раздвоенного драйвера. В нем плоскость управления поддерживается драйвером Linux, и к нему должен быть подключен DPDK PMD. Для многих других производителей сетевых карт это не то же самое: пользователю необходимо привязать порты к DPDK-совместимому драйверу ввода-вывода (например, vfio-pci
).
Оба рассматриваемых варианта сетевой карты (5 и 6) действительно используют один и тот же DPDK PMD (и, следовательно, один и тот же драйвер ядра) — согласно списку совместимости. Так что это тоже нормально.
Хорошо, спасибо, в вашей ссылке на раздвоенные pmds написано, что я должен видеть данные в ifconfig, я вижу их на сетевой карте x5, но не на сетевой карте x6, означает ли это, что с конфигурацией что-то не так?