---
title: 使用Gazelle接管网口
description: "通过绑定网口到用户态功能，并为用户态网卡驱动提供网卡资源访问接口，从而获取比内核态网口更好的网络性能。"
url: https://www.hikunpeng.com/document/detail/zh/boostdb/systemcollaborativeoptimization/gazellenof/kunpengdbsmysqlgazelle_20_0013.html
sourcePath: /source/zh/boostdb/systemcollaborativeoptimization/gazellenof/kunpengdbsmysqlgazelle_20_0013.html
indexId: 098c9a98e9b9d8b934814251cf187031274a30f39a30d93dd1c818bf6156aef197
---
# 使用Gazelle接管网口

通过绑定网口到用户态功能，并为用户态网卡驱动提供网卡资源访问接口，从而获取比内核态网口更好的网络性能。

本章节的操作步骤适用于华为海思Hi1822网卡。如果为CX4网卡，执行完1和2后，直接执行修改Gazelle配置文件。

网卡型号可通过lspci |grep -i net命令查询。

- 如下图所示，查询到的网卡为华为海思Hi1822网卡。
- 如下图所示，查询到的网卡为Mellanox厂商生产的型号为ConnectX-4 LX网卡，即CX4网卡。


1. 启用VFIO（Virtual Function I/O）模块的no-IOMMU模式。
  1 modprobe vfio enable_unsafe_noiommu_mode=1

2. 加载vfio-pci驱动。
  1 modprobe vfio-pci

3. 查看当前设备的可用网口。
  1 ip a

4. 可以看到可用网卡为enp125s0f0和enp3s0。
5. 查看并记录网卡驱动和对应的pci地址。
  1 ethtool -i enp3s0

6. 确认业务网口名称，并关闭该业务网口。在本例中业务网口名称为enp3s0。
  执行该命令前请先确认并记录该网口的MAC地址。

  1 ip link set enp3s0 down

7. 将网络接口绑定到vfio-pci驱动程序。
  1 dpdk-devbind -b vfio-pci enp3s0

8. 绑定网卡后，再次查看当前设备的网卡。
  1 ip a

9. 可以看到被绑定后的enp3s0已经不在可用网口列表中。
  如果需要解绑网卡，复原网卡状态，具体的操作步骤如下： 查看网卡状态。如图所示说明pci地址为0000:03:00.0的网卡已被DPDK接管。 1 dpdk-devbind -s 将网卡绑定为5中得到的驱动类型。 1 dpdk-devbind -b hinic 0000:03:00.0 启用该网卡。 1 ip link set enp3s0 up
