
DPDK
文章平均质量分 67
hz5034
这个作者很懒,什么都没留下…
展开
-
DPDK总结(makefile)
dpdk版本17.11configconfig/defconfig_x86_64-native-linuxapp-gccconfig/common_linuxappconfig/common_base修改以上文件,make config T=$(RTE_TARGET) O=$(RTE_OUTPUT),生成新的$(RTE_OUTPUT)/.config注意$(RTE_TARGET)和$(RTE_OUTPUT)最好保持一致make configmake config,进入GNUmakefile:原创 2021-12-05 18:08:22 · 1682 阅读 · 0 评论 -
DPDK总结(mbuf)
mbuf图解mbuf分为4部分:mbuf + priv + headroom + data(1)mbuf长度为sizeof(struct rte_mbuf) = 128(2)priv长度在创建pool时指定(priv_size)(3)headroom长度为RTE_PKTMBUF_HEADROOM(CONFIG_RTE_PKTMBUF_HEADROOM)(4)data长度在创建pool时指定(data_room_size - RTE_PKTMBUF_HEADROOM)data根据实际情况又分为原创 2021-01-17 15:08:09 · 2899 阅读 · 0 评论 -
DPDK总结(网卡收发包)
1、网卡使用DMA写Rx FIFO中的Frame到Rx Ring Buffer中的mbuf,设置desc的DD为1。1、挂载每个包的最后一个分段时,若当前使用的desc数大于上限(默认为32),设置RS。2、网卡驱动取走mbuf后,设置desc的DD为0,更新RDT。2、burst发包的最后一个包的最后一个分段,设置RS。原创 2019-03-10 18:05:21 · 6117 阅读 · 0 评论 -
DPDK总结(网卡初始化)
DPDK定义了一个rte_eth_devices数组,数组元素类型为struct rte_eth_dev,一个数组元素表示一块网卡。struct rte_eth_dev有四个重要的成员:rx/tx_pkt_burst、dev_ops、data,其中前两者分别是网卡的burst收/发包函数;rte_eth_dev_configure()的主要工作是分配接收/发送队列数组,数组元素类型是void *,一个数组元素表示一个接收/发送队列。原创 2019-03-09 16:10:41 · 12962 阅读 · 0 评论 -
DPDK总结(基本转发)
将DPDK的helloworld和skeleton例子组合起来可以得到一个基本转发程序,整个程序只有100多行,包含了最基本的转发(从一个网卡收包,从另一个网卡发包)执行./basicfwd -c 3 -n 2启动程序,1个MASTER lcore和1个SLAVE lcore分别绑定到CPU0和CPU1,SLAVE lcore使用1个RX/TX队列收发包pktegn-dpdk得到的测试结果(单...原创 2019-03-02 19:56:59 · 3292 阅读 · 2 评论 -
DPDK总结(基础知识)
名词解释简称全称备注DPDKData Plane Development Kit数据平面开发套件RTERunTime Environment运行时环境EALEnvironment Abstraction Layer环境抽象层lcorelogical coreEAL pthreadTLSThread Local Storage线程本地存储lcore一个lcore就是一个基于pthread实现的线程,不同的lcore可以亲和到不同的lo原创 2017-12-15 12:00:11 · 7721 阅读 · 1 评论 -
DPDK总结(rte_eal_init)
structtype;原创 2017-12-14 13:33:05 · 11208 阅读 · 2 评论 -
DPDK总结(eal_thread_loop)
MASTER lcore调用rte_eal_remote_launch()将回调函数和参数注册到lcore_config[].f和lcore_config[].arg中,并通知SLAVE lcore执行该回调函数。原创 2017-12-15 11:42:09 · 2798 阅读 · 1 评论 -
DPDK总结(测试环境)
测试环境使用VMware Fusion虚拟机,虚拟机主要配置:一个双核CPU、两块网卡、操作系统为CentOS 7ifconfig可以看到两块网卡(ens33、ens37)编译DPDK执行/root/dpdk-17.08/usertools/dpdk-setup.sh后可以看到下图编译中可能遇到的问题及解决方法问题解决办法找不到cc命令yum -y instal...原创 2017-12-14 13:13:08 · 5893 阅读 · 3 评论