DPDK21.11.1的安装

这里写自定义目录标题

    • 一,版本信息
    • 二,安装依赖工具和驱动
    • 三,DPDK源码下载与编译安装

**

一,版本信息

**
DPDK版本:21.11.1

内核版本:3.10.0

操作系统:CentOS Linux release 7.2.1511 (Core)

网卡驱动:MLNX_OFED_LINUX-5.6-2.0.9.0-rhel7.2-x86_64

二,安装依赖工具和驱动

DPDK在20版本以后需要使用meson和ninja编译安装。

(1)安装pip3环境

yum install python3 python3-pip
pip3 install --upgrade pip
(2) 安装meson

pip3 install meson
(3)安装ninja

pip3 install ninja
注意如果出现WARNING: The script ninja is installed in ‘/usr/local/bin’ which is not on PATH.
则需要添加环境变量
vim /etc/profile
文件末尾添加export PATH=“/usr/local/bin:$PATH”
(4)网卡驱动安装

Mellanox 网卡驱动

进入 Mellanox 官网:https://cn.mellanox.com/

打开“以太网驱动程序”支持

选择OFED驱动

注意:不能安装Mellanox EN 驱动,否则会在编译 DPDK 时出错,提示找不到

在download选择对应操作系统CentosOS 7.2版本的驱动

下载得到文件:

MLNX_OFED_LINUX-5.6-2.0.9.0-rhel7.2-x86_64.tgz

解压缩文件

安装Mellanox网卡驱动

./mlnxofedinstall --upstream-libs --dpdk --add-kernel-support
其中 --add-kernel-support 用于解决驱动程序与当前 CentOS 系统 Kernel 版本不匹配的问题

安装时间较长,执行结束后根据提示在终端运行:

dracut -f

/etc/init.d/openibd restart
完成后重启主机

reboot

三,DPDK源码下载与编译安装

在DPDK官网选择下载页面下载

选择版本DPDK 21.11.1

下载得到文件

dpdk-21.11.1.tar.xz

解压缩后进入文件夹执行

meson build
cd build
ninja
ninja install
ldconfig

如果需要安装igb_uio

获取源码

git clone http://dpdk.org/git/dpdk-kmods
cp -r ./dpdk-kmods/linux/igb_uio ./dpdk/kernel/linux/ # Copy dpdk-kmods/linux/igb_uio/ to dpdk/kernel/linux/

配置文件

vim dpdk/kernel/linux/meson.build

将subdirs = [‘kni’] 修改为 subdirs = [‘kni’, ‘igb_uio’]
DPDK21.11.1的安装_第1张图片

vim dpdk/kernel/linux/igb_uio/meson.build

加入如下内容

# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
mkfile = custom_target('igb_uio_makefile',
output: 'Makefile',
command: ['touch', '@OUTPUT@'])
custom_target('igb_uio',
input: ['igb_uio.c', 'Kbuild'],
output: 'igb_uio.ko',
command: ['make', '-C', kernel_dir + '/build',
'M=' + meson.current_build_dir(),
'src=' + meson.current_source_dir(),
'EXTRA_CFLAGS=-I' + meson.current_source_dir() +
'/../../../lib/librte_eal/include',
'modules'],
depends: mkfile,
install: true,
install_dir: kernel_dir + '/extra/dpdk',
build_by_default: get_option('enable_kmods'))

重新编译

meson build --reconfigure

cd build ninja

ninja install

ldconfig

你可能感兴趣的:(linux,服务器,centos)