2015-10-06 18 views
1

我正在使用dpdk庫來增強數據包捕獲。要使用dpdk,我們需要將至少一個NIC綁定到dpdk驅動程序。正如在dpdk文檔中所寫,我可以使用uio_pci_generic或igb_ko驅動程序。bash:echo:寫入錯誤:沒有這樣的設備

要與DPDK驅動結合,他們提供了一個python腳本: http://www.dpdk.org/browse/dpdk/plain/tools/dpdk_nic_bind.py

我有兩個英特爾網卡在我的系統中,英特爾82579LM和Intel 82540EM。如http://dpdk.org/doc/nics所示,Intel 82540EM是支持驅動程序e1000的NIC。

現在,問題是我無法綁定英特爾82540EM與dpdk驅動程序。我做了以下步驟:

  1. ifdown你INTERFACE_NAME
  2. modprobe的uio_pci_generic(或insmod的igb_ko)
  3. dpdk_nic_bind.py --bind = uio_pci_generic PCI_ID_OF_NIC

此打印錯誤「錯誤:無法綁定到驅動程序uio_pci_generic'。所以我試圖手動綁定它。我做了以下步驟來手動綁定NIC:

  1. ifdown你INTERFACE_NAME
  2. modprobe的uio_pci_generic(或insmod的igb_ko)
  3. 回聲 「PCI_ID_OF_NIC」>/SYS /總線/ PCI /驅動器/ E1000 /解除綁定
  4. 回聲 「PCI_ID_OF_NIC」>/SYS /總線/ PCI /司機/ uio_pci_generic /綁定

即使是這樣,我得到'慶典:回聲:寫入錯誤:沒有這樣的設備'錯誤。我嘗試了與Intel 82579LM相同的步驟,並且它完全綁定,但不幸的是它不是受支持的NIC。

我在做什麼錯?

+0

的'lspci的-nk'顯示輸出。的lspci的 – 0andriy

+0

輸出-vnnk 01:02.0以太網控制器[0200]:**英特爾公司82540EM千兆以太網控制器** [8086:100E](修訂版02) \t子系統:英特爾公司PRO/1000 MT臺式機適配器[8086:002E] \t內核驅動器在使用中:E1000 \t內核模塊:E1000 00:19.0以太網控制器[0200]:Intel公司82579LM千兆位網絡連接[8086:1502(修訂版04) \t子系統:戴爾設備[1028:052c] \t正在使用的內核驅動程序:e1000e \t內核模塊:e1000e – user2914066

+0

它不可讀,請更新帖子,並將當前帖子中的實際值代替PCI_ID_OF_NIC。 – 0andriy

回答

-1
dpdk_nic_bind.py --bind=uio_pci_generic PCI_ID_OF_NIC 

應該是關於你的卡BDF

dpdk_nic_bind.py --bind=igb_uio PCI_ID_OF_NIC 
+0

我已經使用了這兩個命令。既沒有工作。 – user2914066

+0

顯示如何找到PCI_ID_OF_NIC的值並在此處包含實際值 –