ubuntu安装dpdk【笔记】

1、虚拟机用了4个核,2G内存,2个网卡

2、安装了

apt-get install numactl

apt-get install libnuma-dev

3、去http://core.dpdk.org/download/下载了17.11.10

4、解压后,进入usertools,运行dpdk-setup.sh。我选的是8,因为我的是32位系统。否则,会碰到一些错误。

编译成功则如下:

5、选择,安装IGB UIO

6、设置hugepages,虚拟机需要设置512

7、绑定网卡

8、运行testpmd

注意:

添加的网卡需要是intel的,否则testpmd不成功。查看网卡 lspci(第3块是intel的)

 

如果网卡不是intel的,需要对虚拟机的配置文件进行编辑,添加ethernet2.virtualDev = "e1000",ethernet2是添加的网卡的名字,e1000是intel网卡中的千兆网卡。

 

可能的错误:

(1)DPDK运行出现EAL Error reading from file descriptor 23 Input output error

原因:pdk不支持该网卡导致,需要修改dpdk目录下的lib/librte_eal/linuxapp/igb_uio/igb_uio.c,将

  • 将文件中该行修改
pci_intx_mask_supported(dev)
  • 修改为
pci_intx_mask_supported(dev)||true

再重新编译。

(2)没有数据发送的问题。

两个intel网卡都是nat模式。

我刚开始没有数据发送,但是后来在testpmd下start了一段时间,有数据结果了,很奇怪。

 

运行helloworld

1、进入examples文件夹下的helloworld文件夹,make出可执行文件

2、

echo 512 >/sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

mkdir /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

sudo modprobe uio

sudo insmod kmod/igb_uio.ko

./helloworld -c 3 -n 1

注意kmod在dpdk安装目录下对应的gcc目录下;运行helloworld,如果出现“AL: Cannot obtain physical addresses:”的错误,需要使用sudo命令

(这里我没有绑定网卡也成功运行了helloworld)

 


 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值