2015-10-06 19 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的值并在此处包含实际值 –