linux 虚拟网卡 dpdk,dpdk学习

安装部署

源码学习

使用Exsi服务器,用vcenter克隆了一个人家已经安装好的虚拟机环境,修改主机名。便开始工作了。虚拟机是ubuntu 12.04,内核达到要求。另外要配置网卡是e1000。82545E的网卡型号。通过命令lspci可以查看,是inter支持的一种虚拟网卡类型。

安装和配置可以参考getting started 那个文档。以ubuntu 12.04为例:

1.添加环境变量

vi /etc/rc.local

此脚本开机启动,所以环境变量添加到此处最好

export RTE_SDK=/opt/dpdk/src/dpdk(dpdk的源代码路径)

export RTE_TARGET=i686-default-linuxapp-gcc(dpdk源码路径中的一目录)

2.安装dpdk的环境,注意用户权限是root。每台机器上只需要做一次,有环境后就不用了。

make config T=i686-default-linuxapp-gcc

make

make install T=i686-default-linuxapp-gcc(参考readme)

3.执行程序,在dpdk的源码路径里面,做以下操作

a.执行初始化程序(申请大页等操作)

b.编写自己的源程序或者进入到examples目录下的具体例子的路径,比如:../examples/l2fwd

c.make clean

d.make

e.进入到app路径执行带参数的命令

../examples/l2fwd/build/app# ./l2fwd -c 2(核的数量) -n 4 (默认网卡数量) -- -p 4 -q 2

这样就能看结果了

需要注意的是初始化的操作(也就是第一步),即使执行不同的程序,只需要执行一次,不用的时候释放就行,不用每个程序单独去申请。

初始化程序,自己封装的代码为:

rte_init.sh

#!/bin/sh

echo "setting hugetlb..."

mount -t hugetlbfs nodev /mnt/huge //to make the memory available for Intel® DPDK use

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages //allocating hugepages.when booted

cat /proc/meminfo |grep HugePages

echo "setting uio..."

modprobe uio

echo "setting igb_uio..."

insmod ../Source/DPDK/i686-default-linuxapp-gcc/kmod/igb_uio.ko//to run dpdk app

cat /proc/modules |grep uio

echo "Done!"

释放脚本rte_fin.sh

#!/bin/sh

echo "umount hugetlb.."

umount /mnt/huge

echo "rmmod igb_uio..."

rmmod igb_uio.ko

cat /proc/modules |grep uio

cat /proc/meminfo |grep HugePages

echo "Done!"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值