鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用Gazelle接管网口

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

本章节的操作步骤适用于华为海思Hi1822网卡。如果为CX4网卡,执行完12后,直接执行修改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已经不在可用网口列表中。

    如果需要解绑网卡,复原网卡状态,具体的操作步骤如下:

    1. 查看网卡状态。如图所示说明pci地址为0000:03:00.0的网卡已被DPDK接管。
      1
      dpdk-devbind -s
      

    2. 将网卡绑定为5中得到的驱动类型。
      1
      dpdk-devbind -b hinic 0000:03:00.0
      
    3. 启用该网卡。
      1
      ip link set enp3s0 up