Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3595622
  • 博文数量: 207
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7365
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-23 18:56
个人简介

将晦涩难懂的技术讲的通俗易懂

文章分类

全部博文(207)

文章存档

2024年(10)

2023年(9)

2022年(4)

2021年(12)

2020年(8)

2019年(18)

2018年(19)

2017年(9)

2016年(26)

2015年(18)

2014年(54)

2013年(20)

发布时间:2023-07-15 19:00:43

DPDK virtio-net加载注意事项——lvyilong316关于DPDK virtio-net pmd的初始化流程我们前文有基于DPDK 17.11的分析,这篇文章主要介绍下其使用过程中的一些注意事项和加载初始化的细节补充。首先我们回顾一下17.11的virtio-net加载流程,如下图所示。而我们今天主要介绍有关的是图中标黄色的部分,即和virtio-net.........【阅读全文】

阅读(30468) | 评论(0) | 转发(0)

发布时间:2023-06-24 11:35:30

DPDK 22.11内存管理变化解析 ——lvyilong316DPDK的内存管理之前有专门分析过,但是其实DPDK在18.05和18.08版本对内存的管理发生了较大的变化,比如增加了动态内存管理,no_hugetlbfs的支持,单个文件段(single_file),内存模式(in_memory)等。本文直接针对相对较新的DPDK 22.11进行内存管理分析,主要.........【阅读全文】

阅读(3120) | 评论(0) | 转发(0)

发布时间:2021-10-23 20:56:16

DPDK KNI原理和实现——lvyilong316kni的整体的整体实现原理是采用共享内存方式,如下图通过DPDK创建rx_q,tx_q,并将其地址传递给kni内核模块,来实现rx_q和tx_q的内存共享,之后DPDK和内核就可以将数据放入对应的共享内存队列中完成报文的收发。下面分别介绍kni的内核部分和用户态部分。用户态部分.........【阅读全文】

阅读(4524) | 评论(0) | 转发(0)

发布时间:2021-10-23 15:50:47

DPDK virtio-user介绍及使用——lvyilong316最近在看DPDK和容器直接的对接方案,我们知道容器(如Docker)网络一般都采用tap+bridge方案,也就是基于内核的网络通信,即使使用ovs一般也是kernel ovs,而不是dpdk-ovs。那么当我们使用的vswitch是基于DPDK时如何和容器对接呢?下面我们重点分析一下。首先,我.........【阅读全文】

阅读(8660) | 评论(0) | 转发(0)

发布时间:2020-07-11 21:20:58

网络可编程数据面之DPDK Graph Library——lvyilong316Graph library是DPDK 20.05版本引入的新特性,最近抽时间把其中关键代码看了一遍,主要希望看下其实现思路是否有可以借鉴的东西。下面将其大概实现进行了总结。DPDK中的Graph架构将数据的处理抽象成了node和link构成的graph,这种思想并不是新东西,VPP.........【阅读全文】

阅读(7474) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

zf8292024-11-13 13:41

zf829:您好,请教大神一个问题,设备直通给VM时,中断到底会不会导致VM_EXIT吗,如果会,那VIRTIO直通时还会导致IO性能下降吧?“当透传设备产生中断时,vfio_msihandler ISR执行,该函数不做实际的服务程序处理,仅仅通过eventfd_signal激活irqfd_inject,然后最终调用deliver_posted_interrupt向虚机注入中断,中断号即为虚机配置透传设备时的中断号。”  这段描述在代码上我也仔细看了,逻辑肯定是对的,但另一方面我还是不确定中断到底会不会导致VM_EXIT

这里的中断主要是指数据包收发的中断

回复  |  举报

zf8292024-11-13 11:35

您好,请教大神一个问题,设备直通给VM时,中断到底会不会导致VM_EXIT吗,如果会,那VIRTIO直通时还会导致IO性能下降吧?“当透传设备产生中断时,vfio_msihandler ISR执行,该函数不做实际的服务程序处理,仅仅通过eventfd_signal激活irqfd_inject,然后最终调用deliver_posted_interrupt向虚机注入中断,中断号即为虚机配置透传设备时的中断号。”  这段描述在代码上我也仔细看了,逻辑肯定是对的,但另一方面我还是不确定中断到底会不会导致VM_EXIT

回复  |  举报

lemon222024-10-09 22:34

你好,有个关于实现方面的问题:当协议栈收到来自app的数据(如ping)时,会发给tun设备,然后又被发送给vpn程序,程序对其进行加密或者一些处理之后,要发送出去,这里是通过什么方式发送出去的呢?我看你关于itun/tap的文章中写的是通过socket发送给协议栈,然后自动给物理网卡后发送出去,实现来说,就是直接用socket与下一跳建立连接,然后代码用socket发送吗?那这样是不是不会再次经过TUN设备了?因为我看好像有的原理写的是再次写入到tun设备,然后tun设备给协议栈,最后再发送。
这里有点不太清楚如何具体的实现发送的

回复  |  举报

lvyilong3162023-06-06 15:06

zhangtongjian12:你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?

和队列对应

回复  |  举报

zhangtongjian122023-06-02 10:29

你好,请教下,“qemu和vhost-user前后端协商过程”中讲到的初始化多队列时,多队列初始化时,对应的kvm中断机制中irqfd和ioeventfd是和队列数目对应的吗?还是一个虚拟机就一个irqfd和ioeventfd?

回复  |  举报
留言热议
请登录后留言。

登录 注册