DPDK 20.11编译安装运行程序

1.下载dpdk-stable-20.11.tar.gz 解压

2.pip3 install meson , ninja-build

如果 pip3安装不了可以用apt-get install 注意meson版本>0.47

3.在dpdk-stable-20.11目录下执行

//如需挂载igb_uio驱动需先参考5.下载igb_uio文件夹

sudo meson -Denable_kmods=true build

sudo ninja -C build

sudo ninja install

sudo ldconfig

echo "/usr/local/lib64" >> /etc/ld.so.conf.d/dpdk.conf

sudo ldconfig

这里主要是进行build 和install到系统目录,然后配置lib位置

4.root用户编辑 /etc/profile

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

modprobe igb_uio

sysctl -w vm.nr_hugepages=256

sudo source /etc/profile

这里主要是配置PKG_CONFIG_PATH环境变量,加载igb_uio驱动,设置大页缓存

5.挂载驱动

cd build/kernel/linux/kni

insmod rte_kni.ko

要挂载igb_uio驱动则需要参考 2.8. Practice for igb_uio — DPDK Test Suite 22.03.0 documentation

下载安装包 三者选一即可

git clone http://dpdk.org/git/dpdk-kmods
git clone git://dpdk.org/dpdk-kmods
git clone https://dpdk.org/git/dpdk-kmods

复制dpdk-kmods/linux/igb_uio到dpdk-stable-20.11/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'))

修改/kernel/linux下的meson.build

subdirs = ['kni', 'igb_uio']

随后在dpdk-stable-20.11下执行meson -Denable_kmods=true build 即可在build/kernel/linux/中发现igb_uio

在igb_uio目录执行


sudo modprobe igb_uio
sudo modprobe uio
insmod igb_uio.ko

将指定的网卡挂载为igb_uio驱动

sudo ./usertools/dpdk-devbind.py -b igb_uio ${网卡编号}

网卡编号查看:
./usertools/dpdk-devbind.py --status

6.编译示例程序运行

在dpdk-stable-20.11/examples中选择helloworld

执行 make 然后运行查看结果

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值