首页 > 其他分享 >dpdk

dpdk

时间:2023-10-13 15:11:34浏览次数:30  
标签:vfio 博客 l2fwd pci hugepages dpdk

dpdk

环境适配

dpdk22.11

4.19.90-24.4.v2101.ky10.x86_64

指导文档

2. System Requirements — Data Plane Development Kit 22.11.1 documentation (dpdk.org)

Required Tools and Libraries

dnf groupinstall "Development Tools"
yum install --assumeyes python3-pip
pip3 install meson ninja
pip3 install meson ninja
yum install numactl
yum install numactl-devel

检查内核>=4.14

uname -r

glibc >= 2.7 (可选项)

ldd --version

dpdk的编译

tar -Jxf dpdk-22.11.1.tar.xz
cd dpdk-stable-22.11.1

meson -Dexamples=all build #meson build
ninja -C build

加载驱动,配置vfio-pci

modprobe vfio
modprobe vfio-pci enable_sriov=1
cd dpdk-stable-22.11.1
./usertools/dpdk-devbind.py -s
./usertools/dpdk-devbind.py -b vfio-pci 0000:21:00.0
./usertools/dpdk-devbind.py -b vfio-pci 0000:61:00.0
./usertools/dpdk-devbind.py -b vfio-pci 0000:61:00.1

临时配置Hugepagesize

### 查看网卡所在node
cat /sys/bus/pci/devices/0000\:21\:00.0/numa_node

mkdir -p /mnt/hugepages
mount -t hugetlbfs nodev /mnt/hugepages #或者mountpoint -q /mnt/hugepages
cd /root/build_uts/dpdk/dpdk-next-net-private && ./usertools/dpdk-devbind.py -b vfio-pci 0000:21:00.0

cd dpdk-stable-22.11.1
### 多numa机器
echo 64 > /sys/devices/system/node/node2/hugepages/hugepages-2048kB/nr_hugepages
echo 1024 > /sys/devices/system/node/node6/hugepages/hugepages-2048kB/nr_hugepages
### 单节点
echo 64 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages


cat /proc/meminfo | grep Huge

testpmd

cd /root/build_uts/dpdk/dpdk-next-net-private && ./build/app/dpdk-testpmd -l 16-19 -n 4 -- -i

start

show port stats all

l2fwd

./build/examples/dpdk-l2fwd -a 0000:21:00.0 -l 16-19 -n 4 -- -q 1 -p 0x3

./build/examples/dpdk-l2fwd -a 0000:61:00.0 -l 48-51 -n 4 -- -q 1 -p 0x1

dpdk l2fwd

export RTE_SDK=/(自己的安装目录)/dpdk-stable-18.02.2 #DPDK的安装目录
export RTE_TARGET=x86_64-native-linuxapp-gcc #DPDK的目标环境目录

make

./l2fwd -l 0-3 -n 4 -- -q 8 -p 3

参数说明:
-c 指定cpu
-n 内存通道数量
-p 0x3接口bitmap

编译18.11dpdk网卡驱动

dpdk-18.11.11.tar.xz文件
解压
进入dpdk-stable-18.11.11/usertools/目录下
然后执行:./dpdk-setup.sh
选择15,
选择19
选择35

参考:

DPDK L2FWD使用 - 简书 (jianshu.com)

(47条消息) 使用DPDK应用示例l2fwd进行性能测试_redwingz的博客-CSDN博客_dpdk l2fwd 性能测试

(47条消息) l2fwd 测试_疯疯癫癫的博客-CSDN博客_l2fwd

(47条消息) DPDK总结(网卡初始化)_hz5034的博客-CSDN博客_rte_eth_dev_start

(47条消息) dpdk:vfio-pci模式下iommu(N+Y)-Huge配置-numa配置_linggang_123的博客-CSDN博客

(47条消息) DPDK 21.11.0-rc2 环境配置以及测试_三颗水的博客-CSDN博客_挂载巨页

(29条消息) DPDK : 用 TestPMD 测试 DPDK 性能和功能_dpdk testpmd_技术探索者的博客-CSDN博客

标签:vfio,博客,l2fwd,pci,hugepages,dpdk
From: https://www.cnblogs.com/ftiany/p/17762153.html

相关文章

  • 云服务测试DPDK
    一、DPDK的系统要求1.1x86上的BIOS的设置先决条件1.1.1 对于大多数平台,不需要特殊的BIOS设置即可使用基本的DPDK功能;1.1.2为了获得额外的HPET定时器和电源管理功能以及小数据包的高性能,可能需要更改BIOS设置;1.2DPDK编译(Ubuntu22.04)......
  • DPDK-22.11.2 [四] Virtio_user as Exception Path
    因为dpdk是把网卡操作全部拿到用户层,与原生系统驱动不再兼容,所以被dpdk接管的网卡从系统层面(ipa/ifconfig)无法看到,同样数据也不再经过系统内核。如果想把数据再发送到系统,就要用到virtiouser。这种把数据从dpdk再发送到内核的步骤,就叫做exceptionpath。有关virtiouser,又有一......
  • dpdk 编译
     引用: https://zhuanlan.zhihu.com/p/56670068720.11版本 DPDK(DataPlaneDevelopmentKit)是数据平面开发工具包,由用于加速在各种CPU架构上运行的数据包处理的库组成。DPDK需要一定的网卡硬件支持,以Intel为例,支持以下网卡: 下面带大家过一遍编译流程,扫清后续应用的......
  • dpdk lpm
    DPDKLPM(LongestPrefixMatch)是高性能前缀路由匹配库,用于数据包转发过程中快速查找与dstIP地址最长匹配的路由表项。LPM特点高性能:基于前缀树算法实现快速匹配。线程安全:多线程并发安全。灵活配置:支持动态配置路由表,可在运行时添加、删除或修改路由表项。内存管理:使用MemoryPo......
  • dpdk官方转发例子分析
    例子源码http://dpdk.org/browse/dpdk/tree/examples/skeleton/basicfwd.cmain函数主流程1.初始化环境抽象层EALintret=rte_eal_init(argc,argv);if(ret<0)rte_exit(EXIT_FAILURE,"ErrorwithEALinitialization\n");2.分配mempooldpdk使用mbuf保存packet,me......
  • DPDK基本原理
    内核处理网络数据包弊端中断处理处理大量网络数据包时,出现频繁的硬件中断,产生较高的性能开销。内存拷贝网络数据包从网卡到应用程序流程是,数据从网卡通过DMA传到内核缓冲区,从内核态拷贝到用户态。上下文切换硬件中断、多线程、锁竞争产生上下文切换开销。CPU缓存失效数据包处......
  • DPDK-22.11.2 [四] 官方basicfwd编译运行讲解
    编译安装dpdk绑定网卡驱动vfio必须有两个网口配置LD_LIBRARY_PATH和PKG_CONFIG_PATH编译运行basicfwd.c/*SPDX-License-Identifier:BSD-3-Clause*Copyright(c)2010-2015IntelCorporation*/#include<stdint.h>#include<stdlib.h>#include<inttypes.h>#incl......
  • DPDK-22.11.2 [三] 官方helloworld编译运行讲解
    先安装dpdk编译完成后,先运行ninjainstall把相关内容安装到指定目录。ls/home/dpdkinstallbinincludelib64sharebin——一些脚本(用于绑定驱动等),编译的测试程序,编译的常用工具include——需要的头文件lib64——编译的类库share——文档相关......
  • DPDK 22.11.2 使用建议
    驱动建议使用vfio-pci,依赖系统的vfioigb_uio从DPDKv20.02开始禁止编译。可以通过CONFIG_RTE_EAL_IGB_UIO打开编译。igb_uio计划迁移到其他项目。uio_pci_generic是linux系统提供的,不支持virtualfunction(VF)。如果想支持virtualfunction(VF),请使用igb_uio,依赖系统的uio。......
  • dpdk编译开发
    下载源码http://core.dpdk.org/download/编译http://core.dpdk.org/doc/quick-start/安装python3安装ninjayuminstallninja-build安装mesonpip3installmeson开始编译tarxfdpdk.tar.gzcddpdkmesonbuildninja-Cbuild确定配置好大页内存mkdir......