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!"
linux 虚拟网卡 dpdk,dpdk学习相关推荐
- linux虚拟网卡驱动
之前的前两篇写w5500网卡驱动是我的思路有偏差,用的是一种取巧的方法,在linux的用户空间利用spidev直接进行w5500的设置与tcp连接,这只能叫做是一个w5500的应用程序驱动,虽然能达到 ...
- linux虚拟网卡名不是eth0,linux不能启动虚拟网卡eth0
最近,在做linux虚拟机上做实验时,发现不能启动linux的网卡, 当我用ifconfig命令时,只有如下的信息出现: lo Link encap:Local Loopback ine ...
- 远程连接linux虚拟网卡,Linux 虚拟机虚拟网卡问题导致无法连接问题
问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...
- linux虚拟网卡上网,Linux添加虚拟网卡的多种方法
有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: 第一种方法:快递创建\删除虚拟网 ...
- linux 虚拟网卡与物理网卡关系,Linux Macvlan的虚拟网卡与宿主物理网卡之间的Bridge通信问题...
周末的时候写了一篇关于Docker底层支撑技术的文章: 以firejail sandbox解析Docker核心原理依赖的四件套 : https://blog.csdn.net/dog250/artic ...
- Linux虚拟网卡bond配置
目录 一.bond概述 1.1.bond的优点 二.bond模式 2.1.mode=0 2.2.mode=1 2.3.mode=2 2.4.mode=3 2.5.mode=4 2.6.mode=5 2 ...
- linux虚拟网卡修改mac地址,Win10秘笈:两种方式修改网卡物理地址(MAC)
每台能够上网的电脑都有网卡,不管是有线还是无线,网卡本身都得有物理地址,也就是MAC(Media Access Control 或 Medium Access Control)地址.这个地址理论上是固 ...
- linux虚拟网卡tun,Centos7 创建虚拟网卡(tun/tap)
创建网卡.创建网桥并建立桥接 [root@kolla ~]# cat create.sh create_br(){ tunctl -t storage -u root brctl addbr virb ...
- linux虚拟网卡ping不通网关,解决虚拟机或物理机ping不通网关故障的方法与思路...
基本思路:缓存 肯定问题缩小范围.先外部后内部,利用排除法.类比法.替换法(隔离法)将故障范围逐渐缩小到某一点.安全 谨慎作出结论.下结论前先三思,想到全部可能存在问题的点,特别是与别人讨论和描述问题 ...
最新文章
- 什么是token?精简摘抄·~
- tomcat session 共享
- python快捷_汇总学习Python必备的42个快捷键,看完收获满满
- java 多线程不安全_多线程并发为什么不安全
- 使用cnn预测房价_使用CNN的人和马预测
- numpy——stack
- MYSQL高可用-Percona XtraDB Cluster
- Oracle发布Java 8
- 字符串大写转小写库函数_PHP程序无需使用库函数即可将字符串转换为大写
- java 异常 检查型和非检查型
- java 泛型 类型实参(type argument)
- msbuild.exe编译c#项目
- js根据给定的日期计算当月有多少天
- css-使不同大小的图片在固定大小的容器中居中
- 人类微笑表情识别(HOG算法)
- 36令牌环网的基本原理
- windows server 2003 打完sp2 sp3 补丁之后。远程桌面关闭了,
- 打印机服务器文件,打印机服务器ftp配置文件
- 在C++中检测和转换字节序(ENDIAN)
- Deep Learning for Single Image Super-Resolution: A Brief Review SISR综述分析
热门文章
- oracle dblink用处,dblink的使用
- Vue eslint no-undef
- Android8.1 MTK平台 系统需求定制
- MockMVC测试上传文件功能
- 小型mysql_小型数据库的选择(轻量级数据库)(转)
- 第26讲 项目:投票表决器
- 【安全漏洞】水平权限漏洞和垂直权限漏洞
- java 定义map_定义map%3ck_v%3e,Java中定义Map恒量,List常量
- mysql int 正数 范围_mysql中整数字段不同类型的取值范围
- 网格与四叉树空间索引