Ubuntu 20.04中如何为VPP正确启用Mellanox网卡驱动
VPP 启用Mellanox(MLX5系列)网卡正确配置方法
你之前的操作存在几处关键疏漏,按以下步骤修正即可正常识别网卡:
1. 清理错误操作残留
首先删除之前手动复制到系统库目录的驱动文件,避免版本冲突导致加载失败:rm -f /usr/lib/librte_pmd_mlx5_glue.so*
卸载系统中已安装的旧版本/异常版本VPP相关组件:
apt remove -y vpp* vpp-plugin* vpp-dpdk*
2. 安装编译生成的VPP安装包
进入源码编译输出目录,安装所有生成的deb包,自动修复依赖:
cd ~/vpp/build-root dpkg -i *.deb apt install -f -y
3. 系统层面前置检查与配置
- 确认Mellanox网卡内核驱动、rdma组件正常:执行
ibv_devices,输出中能看到对应Mellanox网卡设备即为正常,若看不到先排查网卡固件、mlx5_core驱动加载状态 - 提前将待分配给VPP使用的网卡下掉IP、关闭接口:
ip link set dev <你的网卡内核名> down注意:MLX5系列网卡DPDK PMD不需要绑定igb_uio/vfio-pci驱动,直接依赖内核原生mlx5_core驱动工作,手动绑定uio类驱动会直接导致识别失败
- 确认系统大页配置正常:执行
grep HugePages_Total /proc/meminfo,返回值大于0即为配置生效,MLX5 PMD初始化必须依赖大页内存,未配置需先调整大页参数重启系统
4. 修改VPP启动配置
编辑VPP启动配置文件/etc/vpp/startup.conf,找到dpdk配置段,补充以下配置(原有大页、CPU核绑定等配置可保留):
dpdk { # 替换为你自己的Mellanox网卡PCI地址,可通过lspci | grep Mellanox查询 dev 0000:xx:00.0 { # 可选:根据CPU核数配置收发队列数,提升性能 rxq_num 4 txq_num 4 } # 显式启用DPDK插件 plugin dpdk_plugin.so { enable } }
5. 启动VPP验证
执行systemctl restart vpp重启VPP服务,等待10秒后执行vppctl show interface,即可看到对应Mellanox网卡的VPP接口,接口名根据网卡速率一般为TwentyFiveGigabitEthernetx/x/x、HundredGigabitEthernetx/x/x格式。
常见报错排查
如果仍无法识别,执行journalctl -u vpp查看启动日志,按日志报错对应处理:
- 提示mlx5相关库加载失败:检查编译时是否正确加了
DPDK_MLX5_PMD=y参数,可重新执行dpdk编译和打包步骤 - 提示大页不足:调大系统大页配置,重启后重试
- 提示设备不存在:核对配置文件中填写的PCI地址是否正确,确认网卡没有被其他进程占用
内容的提问来源于stack exchange,提问作者Raghavendrach006
相关产品推荐
相关产品推荐

