bash:echo:写错误:没有这样的设备

时间:2015-10-06 05:26:02

标签: linux-kernel centos6 dpdk

我正在使用dpdk库来增强数据包捕获。要使用dpdk,我们需要将至少一个NIC绑定到dpdk驱动程序。正如在dpdk文档中所写,我可以使用uio_pci_generic或igb_ko驱动程序。

为了与dpdk驱动程序绑定,他们提供了一个python脚本: http://www.dpdk.org/browse/dpdk/plain/tools/dpdk_nic_bind.py

我的系统中有两个intel NIC,Intel 82579LM和Intel 82540EM。如http://dpdk.org/doc/nics所示,Intel 82540EM是支持驱动程序e1000的NIC。

现在,问题是我无法将 Intel 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
  4. 这会输出错误'错误:PCI_ID_OF_NIC绑定失败 - 无法绑定到驱动程序uio_pci_generic' 。所以我试着手动绑定它。我做了以下步骤手动绑定NIC:

    1. ifdown INTERFACE_NAME
    2. modprobe uio_pci_generic(或insmod igb_ko)
    3. echo" PCI_ID_OF_NIC" > / SYS /总线/ PCI /驱动器/ E1000 /解除绑定
    4. echo" PCI_ID_OF_NIC" > / SYS /总线/ PCI /驱动器/ uio_pci_generic /结合
    5. 即便如此,我还是' bash:echo:写错误:没有这样的设备' 错误。我尝试了与英特尔82579LM相同的步骤,它完美地绑定了,但遗憾的是它不是支持的网卡。

      我做错了什么?

1 个答案:

答案 0 :(得分:0)

我已成功使用igb_uio和uio_pci_generic将仿真的NIC与DPDK结合使用。详细信息在下面共享。

  • 带有igb_uio的网卡:成功
  • 带有uio_pci_generic的网卡:成功
  • Intel 82540EM:在虚拟机中仿真NIC
  • DPDK版本:稳定版18.11.6
  • 测试应用程序:l2fwd
  • cmd:./build/l2fwd -w [pcie bdf of the NIC in VM] -- -p 0x1 -T 1

[P.S。]更新早已在评论中共享。