OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

5.1。 先决条件


这个包目前是为尽可能低的 CPU 要求而编译的。 这仍然需要 CPU 至少支持 SSE3。

可以在支持的 NIC 中找到上游 DPDK 支持的网卡列表22. 但是其中很多在上游项目中默认被禁用,因为它们尚未处于稳定状态。 DPDK 在 Ubuntu 16.04 中可用的包中启用的网卡子集是:

英特尔

• e100023 (82540,82545,82546)

• e1000e24 (82571..82574、82583、ICH8..ICH10、PCH..PCH2)

• 免疫球蛋白B25 (82575..82576、82580、I210、I211、I350、I354、DH89xx)

• ixgbe26 (82598..82599、X540、X550)

• i40e27 (X710、XL710、X722)

• 调频 10k28 (FM10420)


切尔西奥

•cxgbe29 (终结者5)


思科

• 尼克30 (UCS 虚拟接口卡)半虚拟化


图片

22 http://dpdk.org/doc/nics

23 http://dpdk.org/doc/guides/nics/e1000em.html

24 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/

25 http://dpdk.org/browse/dpdk/tree/drivers/net/e1000/

26 http://dpdk.org/doc/guides/nics/ixgbe.html

27 http://dpdk.org/browse/dpdk/tree/drivers/net/i40e/

28 http://dpdk.org/doc/guides/nics/fm10k.html

29 http://dpdk.org/doc/guides/nics/cxgbe.html

30 http://dpdk.org/browse/dpdk/tree/drivers/net/enic


• 虚拟网络31 (QEMU)

•vmxnet332


其它

• af_packet33 (Linux AF_PACKET 套接字)

• 戒指34 (记忆)


最重要的是,它通过实验启用以下两个 PMD 驱动程序,因为它们代表最终用户非常容易访问的(虚拟)设备。

半虚拟化

• 虚拟环境35 (Xen)


其它

• 聚碳酸酯36 (文件或内核驱动程序)


卡必须从其内核驱动程序中取消分配,而是分配给 vfio-pci 的 uio_pci_generic。 uio_pci_generic 较旧,通常更容易工作。

较新的 vfio-pci 要求您激活以下内核参数以启用 iommu。


iommu=pt intel_iommu=开


在 vfio-pci 之上,您必须相应地配置和分配 iommu 组。


注意:在基于 virtio 的环境中,从内核驱动程序“取消分配”设备就足够了。 没有那个 DPDK 将拒绝使用设备以避免内核和 DPDK 同时在设备上工作的问题。 由于 DPDK 可以直接在 virtio 设备上工作,因此不需要为这些设备分配例如 uio_pci_generic。

手动配置和状态检查可以通过 sysfs 或使用工具 dpdk_nic_bind 完成


dpdk_nic_bind --帮助


用法:

------


dpdk_nic_bind [选项] DEVICE1 DEVICE2 ....


其中 DEVICE1、DEVICE2 等通过 PCI“domain:bus:slot.func”语法或“bus:slot.func”语法指定。 对于绑定到 Linux 内核驱动程序的设备,它们可能


图片

31 http://dpdk.org/doc/guides/nics/virtio.html

32 http://dpdk.org/doc/guides/nics/vmxnet3.html

33 http://dpdk.org/browse/dpdk/tree/drivers/net/af_packet

34 http://dpdk.org/doc/guides/nics/pcap_ring.html#rings-based-pmd

35 http://dpdk.org/doc/guides/xen/pkt_switch.html#xen-pmd-frontend-prerequisites

36 http://dpdk.org/doc/guides/nics/pcap_ring.html#libpcap-based-pmd


也可以通过 Linux 接口名称来引用,例如 eth0、eth1、em0、em1 等。


选项:

--帮助,--用法:

显示使用信息并退出


-s,--状态:

打印所有已知网络接口的当前状态。

对于每个设备,它显示 PCI 域、总线、插槽和功能,以及设备的文本描述。 根据设备是由内核驱动程序、igb_uio 驱动程序还是没有驱动程序使用,将显示其他相关信息:

* Linux 接口名称,例如 if=eth0

* 正在使用的驱动程序,例如 drv=igb_uio

* 当前未使用该设备的任何合适的驱动程序

例如未使用=igb_uio

注意:如果此标志与绑定/取消绑定选项一起传递,则状态显示将始终在其他操作发生后发生。


-b 驱动程序,--bind=驱动程序:

选择要使用的驱动程序或“无”解除设备绑定


-u,--取消绑定:

解除设备绑定(相当于“-b none”)


- 力量:

默认情况下,Linux 使用的设备(如路由表中有路由所示)无法修改。 使用 --force 标志会覆盖此行为,允许强制解除绑定活动链接。

警告:这可能会导致网络连接丢失,应谨慎使用。


例子:

---------


显示当前设备状态:dpdk_nic_bind --status


从当前驱动程序绑定 eth1 并移动到使用 igb_uio dpdk_nic_bind --bind=igb_uio eth1


解除 0000:01:00.0 使用任何驱动程序的绑定 dpdk_nic_bind -u 0000:01:00.0


将 0000:02:00.0 和 0000:02:00.1 绑定到 ixgbe 内核驱动程序 dpdk_nic_bind -b ixgbe 02:00.0 02:00。


OnWorks 的顶级操作系统云计算: