1.dpdk 网站,下载了dpdk-16.04,内核是3.14.67,glibc是2.12的
2. 有详细的参考文档,有介绍各种详细的限制
内核版本要>2.6.34
glibc >=2.7, lld --version 可以查看
内核config 参数
- UIO support
- HUGETLBFS
- PROC_PAGE_MONITOR support
- HPET and HPET_MMAP,如果要使用dpdk的HPET 功能就要打开这个参数
3.解压dpdk-16.04.tar.gz,(可以手动进行配置来做,dpdk也提供了脚本,下面是直接用脚本的方式的)
运行./tools/setup.sh,根据提示一步一步来做
step 1 Select the DPDK environment to build
根据自己的环境选择合适的dpdk environment,我的环境选择的是x86_64-native-linuxapp-gcc
不知道是不是跟内核有关,还是glibc 有关,第一次编译出现以下的错误,根据网上的提示,把igb_uio.c 中的“kzalloc" 改
成"kmalloc",编译安装通过
step2 Setup linuxapp environment
这一步选了几个基本的设置,如下
1). Insert IGB UIO module
2). Setup hugepage mappings for NUMA systems (环境是numa的,lscpu可以看出),设置了可以通过命令
cat /sys/kernel/mm/hugepages/hugepages-2048kB/free_hugepages 参数看出是否设置成功
3).Display current Ethernet device settings (根据这里列出的信息,选择下一步需要的pci地址的信息)
4).Bind Ethernet device to IGB UIO module,下图是display的结果,在这一步填上下图红色圈出来的就可以,bind的网卡,一定要
处于up的状态的,
step 3 Run test application for linuxapp environment
Run test application ($RTE_TARGET/app/test) ,会让你选择这个test 运行在哪些cpu上的,环境是4个cpu,不进行指定,所以填了
0xf,表示四个cpu 都可以
出现以下界面表示安装成功
阅读(3479) | 评论(0) | 转发(0) |