安装部署

源码学习

使用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学习相关推荐

  1. linux虚拟网卡驱动

    之前的前两篇写w5500网卡驱动是我的思路有偏差,用的是一种取巧的方法,在linux的用户空间利用spidev直接进行w5500的设置与tcp连接,这只能叫做是一个w5500的应用程序驱动,虽然能达到 ...

  2. linux虚拟网卡名不是eth0,linux不能启动虚拟网卡eth0

    最近,在做linux虚拟机上做实验时,发现不能启动linux的网卡, 当我用ifconfig命令时,只有如下的信息出现: lo        Link encap:Local Loopback ine ...

  3. 远程连接linux虚拟网卡,Linux 虚拟机虚拟网卡问题导致无法连接问题

    问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...

  4. linux虚拟网卡上网,Linux添加虚拟网卡的多种方法

    有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: 第一种方法:快递创建\删除虚拟网 ...

  5. linux 虚拟网卡与物理网卡关系,Linux Macvlan的虚拟网卡与宿主物理网卡之间的Bridge通信问题...

    周末的时候写了一篇关于Docker底层支撑技术的文章: 以firejail sandbox解析Docker核心原理依赖的四件套 : https://blog.csdn.net/dog250/artic ...

  6. 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 ...

  7. linux虚拟网卡修改mac地址,Win10秘笈:两种方式修改网卡物理地址(MAC)

    每台能够上网的电脑都有网卡,不管是有线还是无线,网卡本身都得有物理地址,也就是MAC(Media Access Control 或 Medium Access Control)地址.这个地址理论上是固 ...

  8. linux虚拟网卡tun,Centos7 创建虚拟网卡(tun/tap)

    创建网卡.创建网桥并建立桥接 [root@kolla ~]# cat create.sh create_br(){ tunctl -t storage -u root brctl addbr virb ...

  9. linux虚拟网卡ping不通网关,解决虚拟机或物理机ping不通网关故障的方法与思路...

    基本思路:缓存 肯定问题缩小范围.先外部后内部,利用排除法.类比法.替换法(隔离法)将故障范围逐渐缩小到某一点.安全 谨慎作出结论.下结论前先三思,想到全部可能存在问题的点,特别是与别人讨论和描述问题 ...

最新文章

  1. 什么是token?精简摘抄·~
  2. tomcat session 共享
  3. python快捷_汇总学习Python必备的42个快捷键,看完收获满满
  4. java 多线程不安全_多线程并发为什么不安全
  5. 使用cnn预测房价_使用CNN的人和马预测
  6. numpy——stack
  7. MYSQL高可用-Percona XtraDB Cluster
  8. Oracle发布Java 8
  9. 字符串大写转小写库函数_PHP程序无需使用库函数即可将字符串转换为大写
  10. java 异常 检查型和非检查型
  11. java 泛型 类型实参(type argument)
  12. msbuild.exe编译c#项目
  13. js根据给定的日期计算当月有多少天
  14. css-使不同大小的图片在固定大小的容器中居中
  15. 人类微笑表情识别(HOG算法)
  16. 36令牌环网的基本原理
  17. windows server 2003 打完sp2 sp3 补丁之后。远程桌面关闭了,
  18. 打印机服务器文件,打印机服务器ftp配置文件
  19. 在C++中检测和转换字节序(ENDIAN)
  20. Deep Learning for Single Image Super-Resolution: A Brief Review SISR综述分析

热门文章

  1. oracle dblink用处,dblink的使用
  2. Vue eslint no-undef
  3. Android8.1 MTK平台 系统需求定制
  4. MockMVC测试上传文件功能
  5. 小型mysql_小型数据库的选择(轻量级数据库)(转)
  6. 第26讲 项目:投票表决器
  7. 【安全漏洞】水平权限漏洞和垂直权限漏洞
  8. java 定义map_定义map%3ck_v%3e,Java中定义Map恒量,List常量
  9. mysql int 正数 范围_mysql中整数字段不同类型的取值范围
  10. 网格与四叉树空间索引