DPDK入门教程
文章平均质量分 84
intel dpdk是 intel 公司发布的一款数据包转发处理套件;适合网络数据包分析,处理等操作!本人也是初学DPDK,从看官网文档到研究example例子,自己写测试demo验证想法,记录dpdk开发中遇到的种种问题,和各位小伙伴分享
编程实战营
爱老婆娃儿、爱技术、爱锻炼的小胖子,哈哈
展开
-
dpdk kni流程梳理和分析
学习新东西,首先问自己三个问题kni是什么?使用kni能解决什么问题?或者带来什么好处?研究kni在dpdk中的api如何使用探究dpdk kni的实现原理一、KNI在DPDK报文处理中,有些报文需要发送到内核协议栈进行处理,如GTP-C控制报文如果报文数量较少,可以使用内核提供的TAP/TUN设备,但是鉴于这种设备使用的系统调用的方式,还涉及到copy_to_u...原创 2019-03-12 19:22:21 · 7917 阅读 · 0 评论 -
《基于DPDK实现的LB支撑阿里巴巴双11 业务》之会话同步篇思考
如何应对脉冲式的流量模型?如何实现业务无感的版本升级和容灾?如何提供高可用的服务?dpdk fdir技术fnat技术数据结构per cpu化,cpu完全并行处理数据包,性能提升很大。1.使用IGMP协议将属于同一个组的多台服务器器,加入到同一个组播组中,2.当SLB程序启动后,它会自己加入到对应的组播组中,服务器下线或重启,超时后会自动从组播组中删除。使用组...原创 2018-09-29 18:27:00 · 1062 阅读 · 0 评论 -
dpdk问题集——内存ECC错误,导致网卡丢包
公司的一台机器部署完程序后,发生丢包,能够想的办法都想了,但是还是有丢包。 想着打破沙锅问到底的精神,好吧,从内核日志上下手一点点分析,操作系统以及软硬件的一举一动都写入到了系统内核日志中。如何查看系统日志呢? https://linux.cn/article-3587-1.html1.dmesg dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接原创 2018-01-24 09:39:16 · 4239 阅读 · 0 评论 -
dpdk基础教程——框架简介
一、DPDK是什么---------DPDK是专为快速收发包所开发的一系列的库文件和驱动代码。DPDK最初的动机很简单,为了证明Intel架构多核处理器能够支撑高性能数据包处理,现在DPDK逐渐成为通用多核处理器高性能数据包处理的业界标杆。可以用来1)在极短的时间里面完成收发包2)开发快速的抓包算法。3)运行第三方的快速路径栈二、传统数据包处理流程下的弊端---------------在讲解DPD...原创 2018-06-27 17:12:40 · 4739 阅读 · 0 评论 -
dpdk问题集——编译动态库时报错 No Ethernet ports - bye
No Ethernet ports - bye 错误dpdk 枚举端口为0rte_eth_dev_count函数 返回0dpdk动态库原创 2017-09-20 14:26:25 · 6119 阅读 · 0 评论 -
dpdk基础教程——流水线模型 ip_pipeline
dpdk学习 ip_pipeline 源代码pipeline入门pipeline使用原创 2017-09-21 17:01:04 · 4677 阅读 · 0 评论 -
dpdk基础教程——大页内存进阶知识
HugePages大页内存知识点整理使用numactl来查看node0和node1上认领的cpu核数,以及内存资源. 当然,首先确认下cpu是否是numa架构. 查看系统所有节点的大页内存情况 cat /sys/devices/system/node/node*/meminfo | fgrep Huge 大页内存是一种系统资源,在透明大页面机制开启的情况下,其他进程也可以申请和原创 2018-01-08 16:28:21 · 54249 阅读 · 0 评论 -
dpdk源代码——mbuf结构体
dpdk mbuf学习mbuf使用mbuf入门教程mbuf何时释放mbuf Direct Buffersmbuf Indirect Buffers原创 2017-09-14 18:03:07 · 12142 阅读 · 1 评论 -
dpdk基础教程——定时器学习
dpdk timer 函数rte_timer_manage 失效SINGLE PERIODICAL 定时器使用翻译 2017-07-22 13:57:52 · 4125 阅读 · 0 评论 -
dpdk学习之cache line设计
此文章主要是整理的网上的资料,转载http://www.cnblogs.com/cyfonly/p/5800758.htmlhttp://ifeve.com/falsesharing/最近公司框架需要优化,接触到了false sharing。 一、基础概念介绍1.1 伪共享缓存系统中是以缓存行(cache line)为单位存储的,当多线程修改互相独立的变量时原创 2017-07-27 23:25:24 · 2231 阅读 · 0 评论 -
dpdk学习之ip_pipeline学习
生成和互相通信,使用不同的配置脚本,可以高效的生成不同的应用程序,所以应用程序可以看成一个应用程序生成器。Pipeline模块的配置脚本可以通过CLI命令行接口,在runtime运行时状态下更新。一、应用程序预览1.1 可重用pipeline库1.每个pipeline代表一个函数块、流识别、防火墙、路由器、master等等。 2.每种pipeline类型在相同程序中可以被实例化多次,每个pipel翻译 2017-08-06 15:06:15 · 4412 阅读 · 0 评论 -
DPDK基础教程之基础概念篇(UIO,大页内存,CPU亲和性,NUMA机制等)
前言 DPDK是专为快速收发包所开发的一系列的库文件和驱动代码。可以在Intel的芯片上运行。可以用来 在极短的时间里面完成收发包 可以开发快速的抓包算法。 可以运行第三方的快速路径栈 而DPDK最大的优点就是改进小封包吞吐量与作业负荷效能,传统的网路架构都是针对大封包吞吐量进行最佳化,而Intel® DPDK可以解决小封包所带来效能不佳的问题。 除了应用在企业终端外, Int原创 2017-06-26 11:20:15 · 11424 阅读 · 2 评论 -
dpdk学习之多进程simple_mp源代码分析
dpdk的多进程simple_mp例子源代码分析ring+mempool方式转载 2017-06-27 15:38:57 · 2126 阅读 · 2 评论 -
dpdk之多进程client_server_mp源代码分析
dpdk client server multiprocess 多进程 client_server_mp 源码分析原创 2017-06-27 18:02:15 · 1814 阅读 · 1 评论 -
purely平台上rte_memcpy性能下降
__builtin_prefetch 导致拷贝性能下降e5 使用__builtin_prefetch会提升性能,purey会下降直接使用intel汇编指令prefetc1 prefetch2性能不会下降#if RTE_CACHE_LINE_SIZE >= 128static __rte_always_inlinevoid *rte_memcpy(void *dst, ...原创 2019-10-10 15:05:34 · 927 阅读 · 0 评论