dpdk
高晓伟_Steven
wx_cangying1988的博客
展开
-
meson、ninja编译dpdk
meson编译dpdk debug版。原创 2024-01-31 23:15:43 · 519 阅读 · 0 评论 -
yum升级gcc版本
在Centos7环境上直接通过yum升级gcc版本。原创 2023-03-28 11:24:33 · 2458 阅读 · 0 评论 -
dpdk发送RST报文(一)—— 构建RST包
suricata中阻断报文函数“RejectSendLibnet11IPv4TCP”使用libnet11构造阻断报文。今天试一下自己手动构建RST报文,然后通过dpdk发送出去。原创 2022-02-25 10:50:14 · 3120 阅读 · 6 评论 -
海光服务器支持dpdk
dpdk在intel的cpu上一直没遇到什么问题,最近公司使用海光服务器,cpu是AMD的,启动dpdk后却发现数据包全部被网卡丢弃了。找了支持人员确认,是要开启iommu。具体方法如下:在/etc/default/grub文件的“GRUB_CMDLINE_LINUX=”这一行中添加“amd_iommu=on iommu=pt”GRUB_CMDLINE_LINUX="crashkernel=auto amd_iommu=on iommu=pt rhgb quiet"然后重新生成grub文件原创 2021-10-28 23:46:38 · 2134 阅读 · 0 评论 -
深入浅出DPDK学习笔记(6)———报文转发
报文转发网络处理模块划分转发框架介绍pipeline模型run to completion模型DPDK run to completion模型DPDK pipeline模型网络处理模块划分网络报文的处理和转发主要分为硬件处理部分与软件处理部分,以下模块构成:·Packet input:报文输入。·Pre-processing:对报文进行比较粗粒度的处理。·Input classification:对报文进行较细粒度的分流。·Ingress queuing:提供基于描述符的队列FIFO。·Del原创 2020-10-27 18:39:32 · 3607 阅读 · 3 评论 -
深入浅出DPDK学习笔记(5)——— 同步互斥机制
同步互斥机制原子操作处理器上的原子操作Linux内核原子操作原子整数操作原子性与顺序性原子位操作DPDK原子操作实现和应用内存屏障API原子操作API读写锁Linux读写锁主要APIDPDK读写锁实现和应用自旋锁自旋锁的缺点Linux自旋锁APIDPDK自旋锁实现和应用无锁机制Linux内核无锁环形缓冲DPDK无锁环形缓冲rte_ring的数据结构定义环形缓冲区的剖析单生产者入队单消费者出队多生产者入队小结DPDK根据多核处理器的特点,遵循资源局部化的原则,解耦数据的跨核共享,使得性能可以有很好的水平扩展原创 2020-10-22 18:33:48 · 2056 阅读 · 1 评论 -
深入浅出DPDK学习笔记(4)——— 并行计算
深入浅出DPDK学习笔记(4)——— 并行计算多核性能和可扩展性追求性能水平扩展多核处理器亲和性Linux内核对亲和性的支持为什么应该使用亲和性线程独占DPDK的多线程EAL中的lcorelcore的亲和性对用户pthread的支持有效地管理计算资源指令并发与数据并行指令并发单指令多数据SIMD简介实战DPDK处理器性能提升主要有两个途径,一个是提高IPC(每个时钟周期内可以执行的指令条数),另一个是提高处理器主频率。每一代微架构的调整可以伴随着对IPC的提高,从而提高处理器性能,只是幅度有限。而提高处理原创 2020-10-21 17:11:53 · 1179 阅读 · 0 评论 -
深入浅出DPDK学习笔记(3)——— Cache和内存
深入浅出DPDK学习笔记(3)——— Cache和内存系统架构的演进Cache系统简介Cache的种类TLB CacheCache地址映射和变换全关联型Cache直接关联型Cache组关联型CacheCache的写策略Cache预取Cache的预取原理软件预取软件预取指令DPDK中的预取Cache一致性Cache Line对齐Cache一致性问题的由来一致性协议MESI协议DPDK如何保证Cache一致性TLB和大页逻辑地址到物理地址的转换TLB使用大页如何激活大页DDIONUMA系统系统架构的演进在经原创 2020-10-20 20:11:36 · 2336 阅读 · 1 评论 -
深入浅出DPDK学习笔记(2)——— 认识DPDK
深入浅出DPDK学习笔记(2)——— 认识DPDK主流包处理硬件平台初识DPDK传统处理流程和优化DPDK最佳实践DPDK框架简介数据包处理能力DPDK的方法论主流包处理硬件平台支撑包理的主流硬件平台大致可分为三个方向。·硬件加速器 (ASIC, FPGA)·网络处理器 (NPU)·多核处理器 (IA multi-core Xeon 等)初识DPDK传统处理流程和优化以Linux为例,传统网络设备驱动包处理的动作可以概括如下:·数据包到达网卡设备。·网卡设备依据配置进行DMA原创 2020-10-17 22:28:29 · 1056 阅读 · 0 评论 -
深入浅出DPDK学习笔记(1)—— 学习的目的
深入浅出DPDK学习笔记(1)—— 学习的目的我的目的我的计划我的目的之前通读过《深入浅出DPDK》这本书,可以说正式这本书把我带到了DPDK大门前。虽然我还只是一只脚刚刚跨过门槛的初学者,但对于门后的世界却充满了向往。以我浅薄的认知,我很难想象DPDK会为世界带来怎样的改变,但无论怎样,我对它的热情不会变。这个笔记系列,我把它当做近段时间学习的整理与总结,同时也作为自己一路走来学习心得的记录。在漫长的学习整理过程中,我深刻的明白了一个道理,“一些你认为常识性的东西,可能正是其他人苦苦寻找的答案”,因原创 2020-10-15 14:15:26 · 673 阅读 · 1 评论 -
dpdk学习笔记2------TestPMD使用
这篇文章主要是教大家如何编译生产TestPMD,并且告诉你如何启动它。TestPMD主要是用来测试两个网卡之间收发包,可以支持RSS,filters和Flow Director。TestPMD的使用场景第1中场景:测试两块网卡间的数据收发。Figure 1.Setup 1 – With an external traffic generator.第2中场景,测试同一块网卡两个口之间的数据收发。Figure 2.Setup 2 – TestPMD in loopback mode...原创 2020-09-10 22:09:24 · 10825 阅读 · 4 评论 -
dpdk 20.02 igb_uio.ko 编译
dpdk从20.02版本后默认不编译igb_uio.ko更改config/common_base的 CONFIG_RTE_EAL_IGB_UIO=y 可以实现编译。原创 2020-08-20 17:53:31 · 3421 阅读 · 0 评论 -
testpmd使用笔记
设置网卡rssport config all rss defaultshow port 0 rss-hashshow port 0 rss-hash key原创 2020-07-27 22:40:56 · 1556 阅读 · 0 评论 -
dpdk性能调优脚本
#!/bin/shchmod +x /etc/rc.d/rc.local#1、修改grub,设置cpu隔离和1G大页#isolcpus=1-55 transparent_hugepage=never default_hugepagesz=1G hugepagesz=1G hugepages=16#2、关闭numa_balancing和watchdogecho 0 > /proc/sys/kernel/numa_balancing echo 0 > /proc/sys/ker.原创 2020-07-12 18:45:07 · 939 阅读 · 0 评论 -
Getting Started with ConnectX-5 100Gb/s Adapters for Linux
Getting Started with ConnectX-5 100Gb/s Adapters for LinuxDec 5, 2018•Knowledge Articlegetting-started-with-connectx-5-100gb-s-adapters-for-linuxThis post provides basic steps on how to configure and set up basic parameters for the Mellanox Connec.转载 2020-07-12 18:38:48 · 1161 阅读 · 0 评论 -
DPDK 性能调优
要实现最好的性能,需要关闭所有省电或者降频模式。为了达到高性能,需要在BIOS的设置中关闭CPU以及设备的省电模式,让内存运行在所支持的最高频率上面。原创 2020-07-09 16:21:31 · 5552 阅读 · 4 评论 -
dpdk通过mlx5发包的问题
使用dpdk通过mlx5发送数据包,报如下错误: net_mlx5: port 1 cannot allocate RSS queue list (0) net_mlx5: port 1 reta config failed: Cannot allocate memory解决方法是修改drivers/net/mlx5/mlx5_ethdev.c将if (priv->skip_default_rss_reta)改为if (priv->skip_default原创 2020-06-29 20:30:52 · 2642 阅读 · 0 评论 -
迈络思网卡安装fw包步骤
1.安装mft工具,把工具包上传至某一目录 tar zxvf mft-4.14.0-105-x86_64-rpm.tgz cd mft-4.14.0-105-x86_64-rpm ./install.sh2.安装迈络思100GE fw包,把fw包上传至某一目录 flint -d 02:00.0 -i fw-ConnectX5-rel-16_27_1016-MCX516A-CCA_Ax-UEFI-14.20.19-FlexBoot-3.5.901.bin b mlxfwreset ...原创 2020-06-11 18:06:25 · 1718 阅读 · 0 评论 -
dpdk 实操笔记
查看pcie连接哪块cpucat /sys/bus/pci/devices/0000\:d8\:00.0/numa_node原创 2020-06-10 16:53:27 · 408 阅读 · 1 评论 -
DPDK安装
安装依赖# yum install make gcc numactl-devel*x86_64 kernel-devel# modprobe uio编译拷贝dpdk-19.08.tar.xz到/usr/local 解压tarxvfdpdk-19.08.tar.xz Cddpdk-19.08 dpdk编译动态库编辑config/common_base下的编辑项C...原创 2020-04-17 21:48:16 · 1896 阅读 · 0 评论 -
DPDK学习笔记1——入门命令
早就想深入了解一下dpdk,但真正沉下心来学习的动力还是工作需要。之前对于网卡、驱动这些也有过一些了解,正好趁着这次机会做一下系统的整理。这个系列主要记录我在学习dpdk时遇到的问题和一些心得,既作学习成果,也备不时之需。一、相关参数./rte-app -c COREMASK [-n NUM] [-b <domain:bus:devid.func>] \ ...原创 2019-12-24 19:13:08 · 1622 阅读 · 1 评论