是否可以在單網卡伺服器上使用DPDK?

是否可以在單網卡伺服器上使用DPDK?

我有一台帶有單網卡的伺服器,有 4 個 pci 連接埠。我已經嘗試過 DPDK 綁定,因此在綁定“dpdk-devbind.py -s”之前返回此:

Network devices using kernel driver
0000:01:00.0 'OneConnect NIC (Skyhawk) 0720' if=eth0 drv=be2net unused=vfio-pci *Active*
0000:01:00.1 'OneConnect NIC (Skyhawk) 0720' if=eth1 drv=be2net unused=vfio-pci
0000:01:00.2 'OneConnect NIC (Skyhawk) 0720' if=eth2 drv=be2net unused=vfio-pci
0000:01:00.3 'OneConnect NIC (Skyhawk) 0720' if=eth3 drv=be2net unused=vfio-pci

雖然我找不到網路卡型號DPDK官方支援的硬體列表中,提供者表示它與 DPDk 相容。我的“ifconfig”返回:

eth0: **some stuffs*** <IP>
lo: **some stuff**

現在,由於我只有 1 個 IP,該如何使用 DPDK?為了綁定 DPDK,我必須從 ifconfig 關閉 PCI 端口,並且我將失去 SSH。我可以看到其他未使用的 3 個 pci 端口,如何使用它們?我將 DPDK 與 01:00.1 PCI 連接埠綁定,該連接埠已列在 DPDK 相容驅動程式清單中,但然後呢?因為無法透過 kernel/ifconfig 存取它(未分配 IP/介面),現在如何從伺服器外部使用它,甚至可以使用單一 NIC?如果是這樣那麼如何。

答案1

DPDK 是一個用戶空間進程,允許使用 UIO 驅動程式存取用戶空間中的 NIC 端口,而不是由內核或普通套接字應用程式訪問的內核網路連結設備。因此,期望透過套接字或核心網路連結設備存取與核心空間中的 UIO 驅動程式綁定的 DPDK 連接埠是不切實際且不正確的。

現在如何從伺服器外部使用它,或者是否可以使用單一網卡?

請利用範例應用程序,例如testpmd, l2fwd, l3fwd開始探索帶有 NIC 的 DPDK。

請參考

  1. 測試程式
  2. 左轉
  3. l3前轉

相關內容