运行dpdk测试程序之路

照抄dpdk官网上的manual,DPDK

上篇帖子 dpdk安装也要跟python3的版本匹配-优快云博客 解决了ninja -C build的问题,这次来试试后续的测试命令。

下面这条命令是要切换root账户才能成功的,普通user会失败

echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

下面这条是来害你的,因为跟具体你自己ubuntu的内核数等有关。

1. 第一行最后的 --,要删掉;

2. -i选项不是所有的dpdk版本都支持,也要删掉

3. --nb-cores和--nb-ports两个option也不支持,删掉

build/app/dpdk-testpmd -c7 --vdev=net_pcap0,iface=eth0 --vdev=net_pcap1,iface=eth1 --
                  -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048

4. 运行于虚拟机vmware中,默认根本就没有eth0/eth1端口,还是失败

~/dpdk-stable-20.11.10$ build/app/dpdk-testpmd -c2 --vdev=net_pcap0,iface=eth0 --vdev=net_pcap1,iface=eth1
EAL: Detected 2 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /run/user/1000/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: get_seg_fd(): open '/dev/hugepages/rtemap_0' failed: Permission denied
EAL: Couldn't get fd on hugepage file
EAL: error allocating rte services array
EAL: FATAL: rte_service_init() failed
EAL: rte_service_init() failed
EAL: Error - exiting with code: 1
  Cause: Cannot init EAL: Cannot allocate memory

看来要先把vmware弄成桥接模式,整两个虚拟eth0/eth1出来,再考虑运行dpdk了,后面再继续。

DPDK提供了一个示例应用程序l3fwd,它可以用于转发IPv4流量。以下是在Linux环境下运行l3fwd的步骤: 1. 安装DPDK并设置环境变量。 2. 绑定网卡。使用DPDK需要将网卡与igb_uio驱动程序绑定。可以使用以下命令绑定网卡: sudo $RTE_SDK/usertools/dpdk-devbind.py --bind=igb_uio eth1 其中,eth1是要绑定的网卡名称。 3. 设置Hugepage。DPDK需要使用大页来提高性能。可以使用以下命令设置大页: sudo mkdir -p /mnt/huge sudo mount -t hugetlbfs nodev /mnt/huge sudo echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages 这将创建一个名为/mnt/huge的目录,并在其中创建1024个2MB大页。 4. 编译l3fwd程序。可以使用以下命令编译l3fwd程序: cd $RTE_SDK/examples/l3fwd make 5. 运行l3fwd程序。可以使用以下命令运行l3fwd程序: sudo ./build/l3fwd -l 0-3 -n 4 -- -p 0x3 --config="(0,0,1),(1,0,2),(2,0,3)" --parse-ptype 其中,-l选项指定要使用的CPU核心,-n选项指定要使用的内存通道数,-p选项指定要使用的网卡端口,--config选项指定端口与CPU核心的映射关系,--parse-ptype选项指定要解析的协议类型。 6. 测试l3fwd程序。可以使用以下命令向l3fwd程序发送流量: sudo $RTE_SDK/examples/l3fwd/build/app/testpmd -c 0x3 -n 4 -- -i --portmask=0x3 --forward-mode=io --auto-start 然后在testpmd程序中输入start命令开始发送流量。 以上是在Linux环境下运行l3fwd程序的步骤。请注意,具体的命令和参数可能因系统配置不同而异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值