Chinaunix首页 | 论坛 | 博客
  • 博客访问: 300812
  • 博文数量: 70
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1236
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(70)

文章存档

2019年(2)

2018年(4)

2017年(7)

2016年(11)

2015年(1)

2014年(2)

2013年(33)

2012年(10)

分类: C/C++

2019-01-13 12:32:54

虚拟机硬件配置:
CPU: 4Core
内存: 4G
关机状态下新增两块网卡

修改虚拟机配置:
修改文件:DPDK-FWD.vmx
hpet0.present = "true"
numa.vcpu.maxPerVirtualNode = "1"

ethernet1.virtualDev = "vmxnet3" #e1000e只支持网卡单队列,vmxnet3支持网卡对队列,DPDK_18_05_1也支持此网卡
ethernet1.wakeOnPcktRcv = "true"
ethernet2.virtualDev = "vmxnet3"
ethernet2.wakeOnPcktRcv = "true"

Linux版本需求:
Linux发行版本: CentOS Linux release 7.3.1611 (Core)
Linux内核版本:3.10.0-514.el7.x86_64

设置hugepage及隔离CPU:
文件:/boot/grub2/grub.cfg
在linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8这一行后添加隔离命令:

物理机:
default_hugepages=1G hugepagesz=1G hugepages=20 isolcpus=0-7
虚拟机:
default_hugepages=1G hugepagesz=2M hugepages=1024 isolcpus=0-2
具体大小视情况而定。重启虚拟机,使得hugepage和isocpus配置生效。

DPDK l3fwd启动测试:
1. 加载内核模块:
modprobe uio
insmod igb_uio.ko

2. 将网卡与原有驱动解绑:
./dpdk-devbind.py -u 03:00.0
./dpdk-devbind.py -u 0b:00.0

3. 将网卡绑定到IGB_UIO中:
./dpdk-devbind.py -b igb_uio 03:00.0
./dpdk-devbind.py -b igb_uio 0b:00.0

4. 启动l3fwd
./build/l3fwd -c 0x7 -n 1 -w 03:00.0 -w 0b:00.0 -- -p0x3 --config "(0,0,1),(0,1,2),(1,0,1),(1,1,2)" -P --parse-ptype

e1000e网卡使用异常命令无法启动的原因:
e1000e是单队列的网卡,-c 0x7表示有3个核,需要建立三个tx队列,因此会建立失败。使用vmxnet3多队列网卡即可。
阅读(2742) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~