随笔分类 -  DPDK

摘要:这个的作用就是为了提高性能。 当分析网络数据时,可以为网口提供多个接收队列,每个cpu处理一个队列。 如果每条队列是独立的,那么就可以很好的并发。 这里有两个问题,一个是数据需要平均的分配到每个队列;二是同一组数据需要分配到同一个队列。 rss就是这个作用,可以设定以ip进行区分,或者以端口进行区分 阅读全文
posted @ 2024-02-05 14:57 秋来叶黄 阅读(502) 评论(0) 推荐(0) 编辑
摘要:dpdk支持多进程运行,不过要指定参数打开,如果没有设定,但开启第二个dpdk程序是会报错,告诉你相关系统资源被占用。 EAL: Cannot create lock on '/var/run/dpdk/rte/config'. Is another primary process running? 阅读全文
posted @ 2023-10-13 15:14 秋来叶黄 阅读(1042) 评论(0) 推荐(0) 编辑
摘要:因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ip a/ifconfig)无法看到,同样数据也不再经过系统内核。 如果想把数据再发送到系统,就要用到virtio user。这种把数据从dpdk再发送到内核的步骤,就叫做exception path 阅读全文
posted @ 2023-10-11 15:56 秋来叶黄 阅读(1187) 评论(0) 推荐(3) 编辑
摘要:# 步骤概览 - 编译安装dpdk - 绑定网卡驱动vfio,必须有两个网口 - 配置LD_LIBRARY_PATH和PKG_CONFIG_PATH - 编译运行 # 源码 ## basicfwd.c 这个程序是从一个网口获取数据,然后发送到另一个网口,所以收发消息的代码都有了,可以根据这个程序编写 阅读全文
posted @ 2023-08-23 11:05 秋来叶黄 阅读(507) 评论(0) 推荐(0) 编辑
摘要:# 先安装 dpdk编译完成后,先运行`ninja install`把相关内容安装到指定目录。 ``` ls /home/dpdkinstall bin include lib64 share ``` - bin——一些脚本(用于绑定驱动等),编译的测试程序,编译的常用工具 - include——需 阅读全文
posted @ 2023-08-21 13:18 秋来叶黄 阅读(2326) 评论(0) 推荐(0) 编辑
摘要:驱动 建议使用vfio-pci,依赖系统的vfio igb_uio从DPDK v20.02开始禁止编译。可以通过CONFIG_RTE_EAL_IGB_UIO打开编译。igb_uio计划迁移到其他项目。 uio_pci_generic是linux系统提供的,不支持virtual function (V 阅读全文
posted @ 2023-08-16 12:49 秋来叶黄 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:# 下载源码 http://core.dpdk.org/download/ # 编译 http://core.dpdk.org/doc/quick-start/ ## 安装python3 ## 安装ninja ``` yum install ninja-build ``` ## 安装meson `` 阅读全文
posted @ 2023-08-15 09:26 秋来叶黄 阅读(1052) 评论(0) 推荐(0) 编辑
摘要:前言 https://www.cnblogs.com/studywithallofyou/p/17435497.html https://www.cnblogs.com/studywithallofyou/p/16695550.html 上面的文章提到了一些相关的知识,本篇单独针对CPU进行详细讲解 阅读全文
posted @ 2023-08-14 15:31 秋来叶黄 阅读(1073) 评论(2) 推荐(1) 编辑
摘要:Linux为什么要有大页内存?为什么DPDK必须要设置大页内存?这都是由系统架构决定的。一开始为了解决一个问题,设计了对应的方案,随着事物的发展,无法满足新的需求,就在原来的基础上改进,慢慢的变成了现在的样子。 物理内存 Physical address 物理内存就是电脑的内存条,上面的每一个方块就 阅读全文
posted @ 2023-05-27 14:46 秋来叶黄 阅读(6251) 评论(2) 推荐(3) 编辑
摘要:pktgen是一个linux的高性能发包测试工具,pktgen-dpdk是一个依赖dpdk的高性能发包工具,理论上比pktgen更好一些。 # pktgen Dependency "libdpdk" not found, tried pkgconfig and cmake 编译dpdk相关的工具时, 阅读全文
posted @ 2023-03-24 16:10 秋来叶黄 阅读(807) 评论(0) 推荐(0) 编辑
摘要:虽然是openeuler arm架构加载dpdk网卡驱动,但是linux加载驱动模块的流程和方法是一样的,遇到的问题也是相似的,所以借这个机会把相关的内容介绍一下 确认模块名称 驱动模块开发完成后是一个ko库,拷贝到系统指定目录,然后运行命令加载模块名。有时候想知道源码编译的模块名称是什么,可以在源 阅读全文
posted @ 2023-02-15 17:53 秋来叶黄 阅读(1645) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示