Можно ли использовать dpdk без модулей ядра?

#linux #dpdk

#linux #dpdk

Вопрос:

Есть ли способ использовать dpdk без igb_uio модуля или других kni vfio модулей? также без uio_pci_generic модуля?

Я имею в виду, может ли dpdk просто нормально работать с обычными (драйверами пространства ядра), например ixgbe , напрямую.

Я попытался связать 2 интерфейса с ixgbe использованием скрипта Python для привязки к python от dpdk:

 Network devices using kernel driver
===================================
0000:04:00.0 '82599ES 10-Gigabit SFI/SFP  Network Connection 10fb' if=p3p1 drv=ixgbe unused=uio_pci_generic
0000:04:00.1 '82599ES 10-Gigabit SFI/SFP  Network Connection 10fb' if=p3p2 drv=ixgbe unused=uio_pci_generic
  

Но мое приложение завершило работу со следующей фатальной ошибкой:

 rte_eth_dev_count_avail() returned 0
  

Спасибо

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

1. Похоже, вы уже знаете ответ. ixgbe будет передавать данные только между вашей картой Intel и буфером ядра.

2. удалось ли вам запустить pcap /af_packet/af_xdp с драйвером ixgbe в DPDK без uio_pci_generic/igb_uio / vfio?

Ответ №1:

Можно использовать DPDK без ядра, используя PMD для TAP / TUN / PCAP / XDP. В этих сценариях ни uio_pci_generic /igb_uio / vfio_ pci, ни DPDK KNI не используются. Следовательно, без модулей ядра DPDK можно запускать интерфейсы.

Для вашего конкретного варианта использования, где используется сетевой ixgbe адаптер, пожалуйста, используйте режим AF_PAACKET / AF_XDP.