DPDK网卡绑定

  • 进入DPDK目录编译环境
# cd ~/DPDK/usertools
# ./dpdk-setup.py

注意,setup脚本需要在root权限下运行,并且每次重启电脑,都需要重新插入模块和绑定网卡。

  • 在step1中选取合适的选项编译DPDK环境:[14] x86_64-native-linuxapp-gcc
----------------------------------------------------------
 Step 1: Select the DPDK environment to build
----------------------------------------------------------
[1] arm64-armv8a-linuxapp-clang
[2] arm64-armv8a-linuxapp-gcc
[3] arm64-dpaa2-linuxapp-gcc
[4] arm64-dpaa-linuxapp-gcc
[5] arm64-thunderx-linuxapp-gcc
[6] arm64-xgene1-linuxapp-gcc
[7] arm-armv7a-linuxapp-gcc
[8] i686-native-linuxapp-gcc
[9] i686-native-linuxapp-icc
[10] ppc_64-power8-linuxapp-gcc
[11] x86_64-native-bsdapp-clang
[12] x86_64-native-bsdapp-gcc
[13] x86_64-native-linuxapp-clang
[14] x86_64-native-linuxapp-gcc
[15] x86_64-native-linuxapp-icc
[16] x86_x32-native-linuxapp-gcc
  • 在step2中选取合适的用户空间I/O模块:[17] Insert IGB UIO module

运行任何DPDK的应用都需要在内核加载合适的用户空间I/O模块(UIO module)

----------------------------------------------------------
 Step 2: Setup linuxapp environment
----------------------------------------------------------
[17] Insert IGB UIO module
[18] Insert VFIO module
[19] Insert KNI module
[20] Setup hugepage mappings for non-NUMA systems
[21] Setup hugepage mappings for NUMA systems
[22] Display current Ethernet/Crypto device settings
[23] Bind Ethernet/Crypto device to IGB UIO module
[24] Bind Ethernet/Crypto device to VFIO module
[25] Setup VFIO permissions
  • 点选[22] Display current Ethernet/Crypto device settings 会显示机子的网卡情况
Network devices using DPDK-compatible driver
============================================
0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2 1528' drv=igb_uio unused=ixgbe,vfio-pci

Network devices using kernel driver
===================================
0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=enp1s0f1 drv=ixgbe unused=igb_uio,vfio-pci *Active*

Other Network devices
=====================
0000:03:00.0 'AR8151 v2.0 Gigabit Ethernet 1083' unused=atl1c,igb_uio,vfio-pci

目前的情况是第一张网卡绑定了DPDK,第二张是使用 Linux Kernel 的网卡,第三张还没有进行绑定。现在我们要绑定第三张网卡到DPDK。

  • 选择[23] Bind Ethernet/Crypto device to IGB UIO module,输入对应的PCI号(0000:后的):
Enter PCI address of device to bind to IGB UIO driver: 03:00.0
OK

再次查看网卡情况,可以看到网卡绑定成功:

Option: 22


Network devices using DPDK-compatible driver
============================================
0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2 1528' drv=igb_uio unused=ixgbe,vfio-pci
0000:03:00.0 'AR8151 v2.0 Gigabit Ethernet 1083' drv=igb_uio unused=atl1c,vfio-pci

Network devices using kernel driver
===================================
0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=enp1s0f1 drv=ixgbe unused=igb_uio,vfio-pci *Active*

转载于:https://www.cnblogs.com/ZCplayground/p/9313330.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DPDK是一种开源的数据包处理框架,它能够大大提升数据包处理的速度以及效率。DPDK的性能在很大程度上依赖于它与网络接口卡的配合。为了最大化性能,需要将网络接口卡绑定DPDK上。 DPDK绑定网卡时,需要先在Linux系统中安装igb_uio驱动程序。然后,可以使用DPDK自带的绑定脚本进行绑定,如下所示: ./usertools/dpdk-devbind.py --bind=igb_uio eth0 其中,“eth0”为需要绑定网卡名。绑定完成后,可以使用DPDK提供的性能测试工具来测试性能。 需要注意的是,在绑定之前,应先停止任何已经在使用该网卡的服务或应用程序。在绑定过程中,还要确保正确配置DPDK环境变量,如DPDK_SDK和RTE_SDK等。此外,在绑定完成后还需要检查网卡是否成功被绑定。 如果需要解绑,可以使用同样的绑定脚本来进行操作,只需要将命令中的“bind”替换为“unbind”,如下所示: ./usertools/dpdk-devbind.py --unbind eth0 绑定和解绑过程需要小心谨慎,否则可能会导致系统崩溃或者网络故障。因此,在操作前应先确认自己掌握了足够的知识和经验,才能进行相应的操作。 ### 回答2: DPDK是一种高性能数据平面开发工具集,可以用于加速包处理和数据包转发。绑定和解绑网络接口是DPDK的重要功能,它可以为应用程序提供更高效的包处理和网络传输能力。 网卡绑定是将DPDK与物理网卡连接起来的过程。通常情况下,DPDK使用IGB UIO模块将物理网卡作为DPDK的虚拟设备进行管理。网卡绑定的过程包括以下几个步骤: 1. 加载IGB UIO驱动程序:使用modprobe命令加载驱动程序,驱动程序所在路径在DPDK目录下的x86_64-native-linuxapp-gcc/kmod目录中。 2. 绑定网卡到UIO驱动程序上:使用DPDK提供的dpdk-devbind工具,输入命令进行网卡与驱动程序的绑定,如:./dpdk-devbind --bind=uio_pci_generic eth0。 3. 初始化DPDK虚拟设备:使用DPDK提供的脚本,输入命令进行虚拟设备的初始化,如:./usertools/dpdk-devbind.py -s。 网卡解绑是将DPDK与物理网卡连接断开的过程。解绑网卡的过程包括以下几个步骤: 1. 停止DPDK进程:使用DPDK提供的脚本,输入命令停止DPDK进程,如:./usertools/dpdk-devbind.py --status。 2. 解绑网卡:使用DPDK提供的dpdk-devbind工具,输入命令解绑网卡,如:./dpdk-devbind --unbind eth0。 3. 卸载IGB UIO驱动程序:使用rmmod命令卸载驱动程序,如:rmmod uio_pci_generic。 绑定和解绑网卡的操作可以通过脚本进行自动化,以提高效率和可靠性。同时也需要注意,绑定和解绑不当会导致系统网络异常,因此需要进行充分测试和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值