自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 iommu介绍

iommu功能IOMMU主要功能包括DMA Remapping和Interrupt Remapping,这里主要讲解DMA Remapping,Interrupt Remapping会独立讲解。对于DMA Remapping,IOMMU与MMU类似。IOMMU可以将一个设备访问地址转换为存储器地址,下图针对有无IOMMU情况说明IOMMU作用。在没有IOMMU的情况下,网卡接收数据时地址转换流程,RC会将网卡请求写入地址addr1直接发送到DDR控制器,然后访问DRAM上的addr1地址,这里的

2021-08-19 22:21:03 8963

原创 techempower framework benchmark介绍及本地使用

近日更新

2021-05-06 15:51:13 996

原创 三、DPDK代码——初始化入口(2)

转载请注明出处,谢谢。–iova-mode=va作为物理地址(PA)的IOVA模式作为PA的IOVA模式下,分配到整个DPDK存储区的IOVA地址都是实际的物理地址,而虚拟内存的分配与物理内存的分配相匹配。该模式的一大优点就是它很简单:它适用于所有硬件(也就是说,不需要IOMMU),并且它适用于内核空间(将真实物理地址转换为内核空间地址的开销是微不足道的)。实际上,这就是DPDK长期以来的运作方式,在很多方面它都被认为是默认的选项。然而,作为PA的IOVA模式也存在一些缺点。其中一个就是它需

2021-02-08 22:14:29 657

原创 三、ovs-dpdk ——代码结构

转载请注明出处,谢谢。支持dpdk结构ovs-dpdk的vswitchd进程ovs的dpdk网卡结构:支持三种类型:物理网卡/vhostuser/vhostuserclient对于ovs使用dpdk 需要在启动ovs的时候需要配置一些参数 other_configdpdk-init指定ovs是否初始化和支持dpdk端口。dpdk-lcore-mask指明dpdk使用的逻辑核。同dpdk的-c参数。dpdk-socket-mem指明不同numa节点提前申请的

2021-02-08 22:10:48 1688

原创 二、ovs-dpdk ——介绍及解析

ovs-dpdkovs-dpdk提供了用户态快速路径dpif-netdev替代了原来的内核datapath和用户态dpif-netlink。架构解析dpif-netdev:用户态的快速通路,实现了基于netdev设备的dpif API。ofproto-dpif:实现了基于dpif层的ofproto API。netdev-dpdk:实现了基于DPDK的netdev API,其定义的几种网络接口如下:dpdk物理网口:其实现是采用高性能向量化DPDK PMD的驱动。dpdkvho

2021-01-24 18:37:41 3256 2

原创 二、DPDK代码——初始化入口(1)

转载请注明出处,谢谢。初始化入口函数eal_init():/* Launch threads, called at application init(). */intrte_eal_init(int argc, char **argv){ int i, fctret, ret; pthread_t thread_id; static rte_atomic32_t run_once = RTE_ATOMIC32_INIT(0); const char...

2021-01-24 18:29:43 874

原创 一、ovs-dpdk ——安装配置

转载请注明出处,谢谢a、安装方式 目前安装ovs-dpdk的方式有两种:meson安装dpdk,再使用make安装ovs-dpdk 2、使用meson ninja 安装dpdk请参考另一篇 meson ninja调试dpdkb、安装ovs:下载完对应dpdk版本的ovs进行解压; 进入ovs目录 ./boot.sh 检查依赖是否完整,不完整先下载依赖http://www.openvswitch.org/support/ovscon...

2021-01-18 23:37:41 2006

原创 一、DPDK代码——before main

转载请注明注明出处,谢谢。一、Before main:在main函数运行之前,通过gcc的构造函数,完成总线到链表中的注册,且完成各种pmd驱动到某类总线的注册,完成几类全局变量的数据关系。gcc的构造函数gcc的constructor函数属性,可以让该函数在main函数之前运行,且可以指定函数运行的优先级,优先级>100,且值越小优先级越高。ether dev初始化用到的是RTE_PRIORITY_BUS这个level的优先级。#define RTE_INIT_PRIO(fu

2021-01-18 23:20:25 506

原创 meson ninja DPDK-pktgen

转载请注明注明出处,谢谢。在使用meson ninja编译dpdk的基础上,使用meson ninja安装pktgen工具前提:dpdk ninja编译后已经ninja install 到/usr/local中1、安装依赖sudo apt-get install libpcap-dev2、下载pktgengit clone https://github.com/pktgen/Pktgen-DPDK.git3、进入pktgen meson build 若出现lib...

2021-01-18 23:15:41 1068 1

原创 meson ninja调试dpdk

转载请注明注明出处,谢谢。1、安装环境基于ubuntu20.04 内核5.4.0安装dpdk 20.082、安装dpdk所需库需要安装两个库文件sudo apt-get install numactlsudo apt-get install libnuma-dev3、安装meson+ninja首先安装ninja依赖re2capt-get install re2c下载ninjagit clone https://github.com/ninja-bu..

2021-01-18 23:05:42 5775

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除