dpdk-18.11
文章平均质量分 62
dpdk-18.11
懒少
技术交流QQ 287899762
展开
-
5.DPDK Ring Library
原文:http://dpdk.org/doc/guides/prog_guide/ring_lib.html4.Ring Libraryring 管理队列,ring不是一个无限大小的链表,它具有以下属性:*FIFO*大小固定,指针存储在表中*无锁实现*多消费者或单消费者出队*多生产者或单生产者入队*批量出队 - 如果成功,将指定数量的对象出队; 否则失败*批量入翻译 2017-06-21 17:35:03 · 1757 阅读 · 0 评论 -
44. Building Your Own Application
44. Building Your Own Application44.1. Compiling a Sample Application in the Development Kit Directory 在编译示例应用程序(例如hello world)时,必须设置以下的环境变量:RTE_SDK和RTE_TARGET。~/DPDK$ cd examples/h翻译 2017-12-22 14:36:59 · 290 阅读 · 0 评论 -
hugepage设置相关总结
HugePages_Total: 16 //预留HugePages的总个数HugePages_Free: 16 //池中尚未分配的 HugePages 数量,真正空闲的页数等于HugePages_Free - HugePages_RsvdHugePages_Rsvd: 0 //表示池中已经被应用程序分配但尚未使用的 HugePages...原创 2017-01-19 14:25:50 · 52218 阅读 · 3 评论 -
22. Packet Distributor Library
22. Packet Distributor Library DPDK包分发库是一种用于在运行时支持单个数据包动态负载均衡的库。在使用这个库时,使用的逻辑核将被考虑为两个角色:首先是分发包lcore,负责负载均衡或分发包,以及一组负责从分发服务器接收数据包并对其进行操作的worker lcore。操作模型如下图所示。 在包分发库中有两种API的操翻译 2018-01-10 15:34:59 · 860 阅读 · 0 评论 -
7. Mbuf Library
7. Mbuf Library mbuf库提供了分配和释放缓冲区(mbufs)的能力,DPDK应用程序可以使用它来存储消息(报文)。消息(报文)实际存储在mempool中,使用Mempool Library.。 rte_mbuf 结构体可以携带网络数据包或通用控制缓冲区(由CTRL_MBUF_FLAG标识)。也可以扩展到其他类型。rte_mbuf头结构保翻译 2018-01-12 15:32:53 · 990 阅读 · 0 评论 -
37. Vhost Library
37. Vhost Library vhost库实现了一个用户空间virtio net服务器,允许用户直接操作virtio ring。换句话说,它允许用户从VM virtio net设备获取/放置信息包。为了实现这一点,vhost库应该能够:访问客户内存:对于QEMU,这是通过使用-object memory-backend-file,share=on,...选项翻译 2017-12-28 15:11:26 · 645 阅读 · 0 评论 -
41. Development Kit Build System
41. Development Kit Build System DPDK需要一个编译系统环境来进行编译活动等操作。本节描述DPDK框架中使用的约束和机制。 该框架有两个用例:编译DPDK库和示例应用程序;该框架生成特定的二进制库,包括文件和示例应用程序使用已安装的DPDK二进制库编译外部应用程序或库41.1. Building the翻译 2018-01-04 14:31:15 · 356 阅读 · 0 评论 -
42. Development Kit Root Makefile Help
42. Development Kit Root Makefile Help DPDK提供了一个root级别的Makefile,其目标是配置、构建、清理、测试、安装和其他。下面几节将解释这些目标。42.1. Configuration Targets 配置目标需要目标的名称,它是用“T = 目标名字”指定的,而且是强制性的。可用目标的列表为$(RTE翻译 2018-01-04 15:29:55 · 349 阅读 · 0 评论 -
43. Extending the DPDK
43. Extending the DPDK 本章描述了开发人员如何扩展DPDK以提供新库、新目标或支持新目标。43.1. Example: Adding a New Library libfoo 要向DPDK添加一个新库,请按以下方式进行:添加新的配置选项:for f in config/\*; do \ echo CONF翻译 2018-01-05 11:38:35 · 305 阅读 · 0 评论 -
ipvsadm命令总结
ipvsadm工具介绍 从2.4版本开始,linux内核默认支持LVS。要使用LVS的能力,只需安装一个LVS的管理工具:ipvsadm。LVS的结构主要分为两部分:工作在内核空间的IPVS模块。LVS的能力实际上都是由IVPS模块实现。 工作在用户空间的ipvsadm管理工具。其作用是向用户提供一个命令接口,用于将配置的虚拟服务、真实服务等传给IPVS模块。以下选项用于list...转载 2019-03-29 16:28:03 · 11739 阅读 · 0 评论 -
网卡绑定中断的脚本(深度实践KVM)
# setting up irq affinity according to /proc/interrupts# 2008-11-25 Robert Olsson# 2009-02-19 updated by Jesse Brandeburg## > Dave Miller:# (To get consistent naming in /proc/interrups)# I w...转载 2019-04-22 14:40:29 · 501 阅读 · 0 评论 -
DPDK使用hugepage原理总结
hugepage原理参考http://blog.chinaunix.net/uid-28541347-id-5783934.htmlDPDK版本:17.11.2hugepage的作用:1. 就是减少页的切换,页表项减少,产生缺页中断的次数也减少2. 降低TLB的miss次数1.DPDK使用前准备DPDK应用使用hugepage前,应保证系统已经配置hugepage (配置...原创 2019-05-09 16:53:50 · 15697 阅读 · 0 评论 -
6. Mempool Library
Memory是一个分配对象大小固定的内存分配器。 在DPDK中,它通过名称唯一标识,并使用mempool句柄存储空闲对象空间。 默认的mempool句柄是基于ring的。 mempool 提供了一些其他可选服务,例如核本地缓存和内存对齐辅助器,内存对齐辅助器确保对象被均匀地填充到所有DRAM或DDR3通道上(对象被均匀的放在通道上,会提高存取速度)。 Mbuf 库基于memory翻译 2017-11-28 17:33:52 · 651 阅读 · 0 评论 -
28.Multi-process Support
在DPDK中,多进程支持被设计成允许一组DPDK进程以一种简单透明的方式协同工作,以执行包处理或其他工作负载。为了支持这个功能,对核心DPDK环境抽象层(EAL)进行了一些功能添加。 EAL已经被修改为允许生成不同类型的DPDK进程,每个处理应用程序使用的hugepage内存都有不同的权限。目前,支持两种进程类型:主进程(primary),主进程初始化共享内存,它翻译 2017-12-19 15:37:02 · 1123 阅读 · 1 评论 -
DPDK 多进程支持总结
DPDK库里是支持多进程和多线程,本文主要总结多进程的相关的操作。DPDK多进程使用的关键启动参数:--proc-type:指定一个dpdk进程是主进程还是副进程(参数值就用上面的primary或是secondary,或者是auto)--file-prefix:允许非合作的进程拥有不同的内存区域。主副进程默认文件路径/var/run/.rte_config,同一个处理组的主副进原创 2017-12-22 11:00:20 · 11316 阅读 · 1 评论 -
numa总结
命令centos 安装支持numa命令yum install numactl查看numa相关信息,包括内存大小,node中的cpunumactl --hardware查看网卡对应的numa nodecat /sys/class/net/enp129s0f0/device/numa_node原创 2016-12-13 10:03:36 · 25553 阅读 · 0 评论 -
pktgen使用总结
收报文问题./app/app/x86_64-native-linuxapp-gcc/app/pktgen -c 0xc-n 3 -- -P -m '[2:3].0' 不能收报文./app/app/x86_64-native-linuxapp-gcc/app/pktgen -c 0xf -n 3 -- -P -m '[2:3].0' 可以收报文原创 2017-03-14 10:33:56 · 1188 阅读 · 0 评论 -
dpdk环境搭建之使能额外功能
参考:http://dpdk.org/doc/guides/linux_gsg/enable_func.html#enabling-additional-functionality翻译与理解吧1 使能额外功能1.1 High Precision Event Timer HPET(高精度定时器)1.1.1BIOS 支持 条件:Time Stamp Counter (TSC)(时间翻译 2016-11-25 09:01:10 · 3314 阅读 · 0 评论 -
dpdk LRO功能总结
dpdk版本:dpdk-stable-16.11.1程序路径:example/vhost启用dpdk的LROstatic struct rte_eth_conf default_port_conf = { .rxmode = { .mq_mode = ETH_MQ_RX_RSS, .max_rx_pkt_len = ETHER_MAX_LEN, ...原创 2017-04-28 16:39:42 · 3529 阅读 · 0 评论 -
DPDK 使用网卡ip/tcp/udp checksum offload
网卡ip/tcp/udp checksum offload的功能就是将报文的ip,tcp, udp校验和的计算交给网卡计算,节省cpu的消耗。第一步在初始化网卡时打开网卡的checksum offload功能.hw_ip_checksum = 1, /**调用rte_eth_dev_configure()函数进行网卡配置;static struct原创 2017-07-07 10:41:13 · 11479 阅读 · 4 评论 -
dpdk 调试(log)小结(终端打印或是输出到文件)
1、日志等级/* Can't use 0, as it gives compiler warnings */#define RTE_LOG_EMERG 1U /**#define RTE_LOG_ALERT 2U /**#define RTE_LOG_CRIT 3U /**#define RTE_LOG_ERR 4U /**#defin原创 2017-10-20 10:32:51 · 6683 阅读 · 0 评论 -
dpdk cache 总结
cpu cache 系统D-cahe:数据cacheI-cahe:指令cache cache 系统示意图 成本容量访问周期 一级cache最高一般几十Kb原创 2017-11-22 14:44:08 · 1627 阅读 · 0 评论 -
pktgen+dpdk使用总结
很多人都喜欢直接拿别人的东西用,可不知还是要自己消化才行还是花时间看哈http://pktgen.readthedocs.io/en/latest/index.html这里面讲了怎么安装,怎么启动,命令参数等,简单实用原创 2016-11-29 09:41:24 · 10994 阅读 · 0 评论 -
28. Multi-process Sample Application
28. Multi-process Sample Application 本章描述了在DPDK中多进程示例应用程序。28.1. Example Applications28.1.1. Building the Sample Applications 多进程示例应用程序的构建方式与其他示例应用程序相同,在“DPDK Getting Starte翻译 2017-12-20 10:05:27 · 1918 阅读 · 1 评论 -
7. EAL parameters(dpdk参数介绍)
此文档介绍全部的EAL参数列表,linux上的任何DPDK应用程序都会用到这些参数。7.1. Common EAL parameters以下EAL参数在所有DPDK支持的平台上都是一样的。7.1.1. Lcore-related options(逻辑线程相关参数)-c<coremask> 16进制掩码设置应用程序使用哪些cpu核,eg:-c 3, 3代表的...翻译 2019-04-26 14:18:33 · 12057 阅读 · 1 评论