dpdk
文章平均质量分 81
荷叶下的鱼
这个作者很懒,什么都没留下…
展开
-
DPDK收发包全景分析
前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mempool内存池中有过介绍。这篇主要介绍收发包的过程。一、收发包分解收发包过程大致可以分为2个部分1.收发包的配置和初始化,主要是配置收发队列等。 2.数据包的获取和发送,主要是从队列中获...转载 2018-10-25 11:06:44 · 656 阅读 · 0 评论 -
dpdk驱动收包
dpdk驱动根据inter网卡驱动进行修改简化而来,减少内存拷贝,替换inter网卡的中断模式取数据,采用轮询模式。内存初始化首先来看内存的初始化:int ret = rte_eal_init(argc, argv);intrte_eal_init(int argc, char **argv){ int i, fctret, ret; pthread_t thread_id;...原创 2018-10-24 18:18:05 · 18265 阅读 · 1 评论 -
dpdk之CPU绑定
Linux对线程的亲和性是有支持的,在Linux内核中,所有线程都有一个相关的数据结构,称为task_count,这个结构中和亲和性有关的是cpus_allowed位掩码,这个位掩码由n位组成,n代码逻辑核心的个数。Linux内核API提供了一些方法,让用户可以修改位掩码或者查看当前的位掩码。sched_setaffinity(); //修改位掩码,主要事用来绑定进程sched_g...原创 2018-10-26 10:21:12 · 9315 阅读 · 0 评论 -
dpdk对称RSS
对称RSS在网络应用中,如果同一个连接的双向报文在开启RSS之后被分发到同一个CPU上处理,这种RSS就称为对称RSS。 对于需要为连接保存一些信息的网络应用来说,对称RSS对性能提升有很大帮助。 如果同一个连接的双向报文被分发到不同的CPU,那么两个CPU之间共享这个连接的信息就会涉及到锁,而锁显然是会影响性能的。RSS一般使用Toeplitz哈希算法,该算法有两个输入:一个默认的has...原创 2018-12-10 11:58:23 · 3102 阅读 · 0 评论