ubuntu 18.04 中 dpdk 和 ovs 上的 testpmd 出现问题

2024-03-16

我有一个 X520-SR2 10G 网卡,我将用它来创建 2 个使用 dpdk 编译的 OpenvSwitch 虚拟接口(从 ubuntu 18.04 的存储库安装)并使用 testpmd 测试这个虚拟接口,我做了以下工作:

创建桥梁

$ ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev

绑定dpdk端口

$ ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:01:00.0 ofport_request=1
$ ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:01:00.1 ofport_request=2

创建 dpdkvhostuser 端口

$ ovs-vsctl add-port br0 dpdkvhostuser0 -- set Interface dpdkvhostuser0 type=dpdkvhostuser ofport_request=3
$ ovs-vsctl add-port br0 dpdkvhostuser1 -- set Interface dpdkvhostuser1 type=dpdkvhostuser ofport_request=4

定义流向

# clear all directions
$ ovs-ofctl del-flows br0

添加新的流向

$ ovs-ofctl add-flow br0 in_port=3,dl_type=0x800,idle_timeout=0,action=output:4
$ ovs-ofctl add-flow br0 in_port=4,dl_type=0x800,idle_timeout=0,action=output:3

转储流向

$ ovs-ofctl dump-flows br0
 cookie=0x0, duration=851.504s, table=0, n_packets=0, n_bytes=0, ip,in_port=dpdkvhostuser0 actions=output:dpdkvhostuser1
 cookie=0x0, duration=851.500s, table=0, n_packets=0, n_bytes=0, ip,in_port=dpdkvhostuser1 actions=output:dpdkvhostuser0

现在我运行 testpmd:

$ testpmd -c 0x3 -n 4 --socket-mem 512,512 --proc-type auto --file-prefix testpmd --no-pci --vdev=virtio_user0,path=/var/run/openvswitch/dpdkvhostuser0 --vdev=virtio_user1,path=/var/run/openvswitch/dpdkvhostuser1 -- --burst=64 -i --txqflags=0xf00 --disable-hw-vlan
EAL: Detected 32 lcore(s)
EAL: Auto-detected process type: PRIMARY
EAL: No free hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
Interactive-mode selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=155456, size=2176, socket=0
USER1: create a new mbuf pool <mbuf_pool_socket_1>: n=155456, size=2176, socket=1
Configuring Port 0 (socket 0)
Port 0: DA:17:DC:5E:B0:6F
Configuring Port 1 (socket 0)
Port 1: 3A:74:CF:43:1C:85
Checking link statuses...
Done
testpmd> start tx_first 
io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support enabled, MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 2 streams:
  RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
  RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00

  io packet forwarding packets/burst=64
  nb forwarding cores=1 - nb forwarding ports=2
  port 0:
  CRC stripping enabled
  RX queues=1 - RX desc=128 - RX free threshold=0
  RX threshold registers: pthresh=0 hthresh=0  wthresh=0
  TX queues=1 - TX desc=512 - TX free threshold=0
  TX threshold registers: pthresh=0 hthresh=0  wthresh=0
  TX RS bit threshold=0 - TXQ flags=0xf00
  port 1:
  CRC stripping enabled
  RX queues=1 - RX desc=128 - RX free threshold=0
  RX threshold registers: pthresh=0 hthresh=0  wthresh=0
  TX queues=1 - TX desc=512 - TX free threshold=0
  TX threshold registers: pthresh=0 hthresh=0  wthresh=0
  TX RS bit threshold=0 - TXQ flags=0xf00
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish...

  ---------------------- Forward statistics for port 0  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 64             TX-dropped: 0             TX-total: 64
  ----------------------------------------------------------------------------

  ---------------------- Forward statistics for port 1  ----------------------
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 64             TX-dropped: 0             TX-total: 64
  ----------------------------------------------------------------------------

  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
  RX-packets: 0              RX-dropped: 0             RX-total: 0
  TX-packets: 128            TX-dropped: 0             TX-total: 128
  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Done.
testpmd>

软件版本:
操作系统:Ubuntu 18.04
Linux 内核:4.15
OVS:2.9
DPDK:17.11.3

我现在应该怎么做 ?? 问题出在哪里?


终于发现问题了,问题是套接字内存分配的大小,我改变了--socket-mem价值1024,1024(每个 numa 节点 1024M)并使用 pktgen 创建数据包(与使用相同--socket-mem 1024,1024).
一切正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu 18.04 中 dpdk 和 ovs 上的 testpmd 出现问题 的相关文章

  • dpdk无锁队列

    这篇博客是从网上博客整理摘抄而来 xff0c 具体参考的博客内容在文末给出 Linux无锁队列 kfifo概述 Linux内核中有一个先进先出的数据结构 xff0c 采用环形队列的数据结构来实现 xff0c 提供一个无边界的字节流服务 最重
  • ovs-vswitchd的启动分析

    ovs vswitchd的启动分析 无修改源码 一 主要数据结构和概念了解 1 概念 在 OVS 中 有几个非常重要的概念 Bridge Bridge 代表一个以太网交换机 Switch 一个主机中可以创建一个或者多个 Bridge 设备
  • 万亿级KV存储架构与实践

    一 KV 存储发展历程 我们第一代的分布式 KV 存储如下图左侧的架构所示 相信很多公司都经历过这个阶段 在客户端内做一致性哈希 在后端部署很多的 Memcached 实例 这样就实现了最基本的 KV 存储分布式设计 但这样的设计存在很明显
  • dpvs入门实践1--概念及编译安装

    DPVS是一种基于DPDK的高性能四层负载均衡器 它来源于Linux Virtual Server LVS及其修改后的alibaba LVS 那LVS是什么呢 Linux Virtual Server是构建在实服务器集群上的高度可伸缩和高可
  • ovs tag

    ovs tag 下发正常转发流表 sh ovs ofctl add flow s1 action normal action NORMAL的流表意思是该交换机配置成一个正常传统交换机工作 ovs交换机有两种工作模式 SDN模式和传统模式 传
  • 网络性能测试工具:iperf3

    一 iperf3简介 iperf3是一个网络性能测试工具 iperf3下载地址 iperf可以测试TCP和UDP带宽质量 iperf可以测量最大TCP带宽 具有多种参数和UDP特性 iperf可以报告带宽 延迟抖动和数据包丢失 iperf3
  • 杂项记录

    2019 07 14 查看一些基础的信息 比如CPU 逻辑核等系你 查看某个网卡在哪个numa节点上https blog csdn net jpmsdn article details 84561294 DPDK最大支持核数 128 在rt
  • SPDK块设备

    SPDK视角每个App由多个子系统 subsystem 构成 同时每个子系统又包含多个模块 module 子系统和模块的注入都是可插拔的 通过相关的宏定义声明集成到SPDK组件容器里 其中子系统的注入可通过声明SPDK SUBSYSTEM
  • Linux内核网络结构,和收发数据基本流程

    不管是大型虚拟化云网络 还是嵌入式物联网系统 Linux网络都扮演着重要的角色 借用一句话说 如果说网络是信息系统的基石 那么Linux网络系统就是基石中的钢筋 它经过几十年的发展 它千锤百炼 几乎包含了市面上所有的网络通讯功能 要想一下子
  • Linux系统中如何查看TCP连接数

    这篇文章主要为大家展示了 Linux系统中如何查看TCP连接数 内容简而易懂 条理清晰 希望能够帮助大家解决疑惑 下面让小编带领大家一起研究并学习一下 Linux系统中如何查看TCP连接数 这篇文章吧 一 查看哪些IP连接本机 netsta
  • OVS datapath流表结构及匹配过程

    datapath流表的查找函数是ovs flow tbl lookup stats 在此之前 先看下datapath组织流表的方式 最新2 6的ovs流表 已经不是最早单纯的精确匹配了 而是一种精确匹配 带掩码匹配合并在一起的方式 叫做me
  • ovs 流表机制(一)

    ip netns add ns1 ip netns add ns2 ip link add tap0 type veth peer name tap0 br ip link add tap3 type veth peer name tap3
  • TCP/IP 网络设备与基础概念

    本文目的在于按照自己的理解 解释清楚网络中的一些基本概念 以及支撑概念落地的网络设备的工作原理 从而解决网络联通性问题 以及为定量分析网络性能问题打基础 如有错漏 欢迎指正 什么是 WAN vs LAN 什么是子网 网关 LAN vs 子网
  • QEMU/KVM PCI Passthrough(i350) & DPDK 网络性能测试

    QEMU KVM PCI Passthrough i350 DPDK 网络性能测试 硬件要求 CPU必须支持硬件虚拟化 Intel VT d or AMD Vi 和 IOMMU 原图链接 主机配置 设置iommu IOMMU kernel
  • DPDK+Pktgen 高速发包测试

    Pktgen概述 Pktgen Packet Gen erator 是一个基于DPDK的软件框架 发包速率可达线速 提供运行时管理 端口实时测量 可以控制 UDP TCP ARP ICMP GRE MPLS and Queue in Que
  • LVS的原理

    一 LVS的介绍 linux virtual server简称LVS Internet的快速增长使多媒体网络服务器面对的访问数量快速增加 服务器需要具备提供大量并发访问服务的能力 因此对于大负载的服务器来讲 CPU I O处理能力很快会成为
  • TCP/IP协议:传输层之UDP

    一 UDP用户数据报协议 它是一个无连接的 面向数据报的协议 它不提供可靠性但传输速度比TCP要快 UDP数据报中的 UDP长度 为两个字节 所以我们要发送的UDP数据最多支持65507大约68K的数据 超过该大小的话需要自己来分割发送 使
  • DPDK pdump 无法热插拔添加设备

    我正在尝试使用 dpdk pdump 从 dpdk 控制下的 NIC 捕获 tx 数据包 Setup DPDK 18 11 4 In config common base CONFIG RTE LIBRTE PMD PCAP y and C
  • 在 SR-IOV 虚拟功能 (VF) NIC 之间转发数据包

    我有一个支持 Intel SR IOV 的 Intel 82599ES 10G NIC 我已成功创建了 8 个虚拟功能 VF 并将其分配给 2 个 qemu kvm VM 每个 VM 2 个 VF 两台虚拟机都使用分配的 VF 运行 DPD
  • DPDK“端口数必须为偶数”一台以太网设备

    我正在尝试从 DPDK 源代码运行骨架示例 但每当我尝试在 make 过程后构建代码时 我都会收到一条错误消息 端口数必须为偶数 但是当我尝试查看以太网设备列表时我只能看到一台设备 我在 vmware 工作站环境下的 Ubuntu 中运行框

随机推荐

  • 将模型传递给 RedirectToAction()

    我很好奇这是如何运作的 在 MVC 中 您可以调用 View 并将模型作为参数传递 但 RedirectToAction 至少是其化身之一 采用 routeValues 对象 该对象似乎是最接近的匹配 如果您的模型传入此参数 该模型类型是否
  • 单击 JButton 时 JTable 不会填充

    我正在开发的系统是一个收银系统JTable充当orderList 我试过了Vector我尝试过使用DefaultTableModel但我不确定如何让按钮提取数据并将其添加到表中 我知道这很难理解 但有人可以告诉我应该如何做吗 JButton
  • 在定义中使用 static 关键字与在 C 中使用声明

    以下编译良好 使用static仅在函数声明期间 include
  • Tomcat 6 在达到最大线程数后停机

    我们的 Tomcat 6 0 29 在达到最大线程数后就崩溃了 我真的很感激任何帮助 因为它是一个生产服务器 以下是 catalina log 文件的一部分 INFO Maximum number of threads 600 create
  • MongoDB 聚合不同文档中两个数组中的项目计数?

    这是我的 MongoDB 集合架构 company String model String cons String array of tags that were marked as cons pros String array of ta
  • 用于传入文件的 Apache Mina SFTP 服务器端通道侦听器

    我正在尝试弄清楚如何为基于 Java 的 SFTP 服务器实现服务器端侦听器 以提醒我传入的文件传输 我正在使用最新版本的 Apache Mina 我的场景是我的服务器简单地从客户端接收文件 并在存储之前对文件执行 某些操作 这可能是错误检
  • 尝试获取非对象的属性 - CodeIgniter

    我正在尝试制作更新表单 它将检索所选特定 ID 的数据 并填写表单 以便其可用于更新 当我单击特定条目 在我的例子中为产品 上的编辑时 它会将我带到edit product view 但指出错误 试图获得非物体的财产 对于我使用的每个变量s
  • 自动化 Web 活动,包括表单提交、JavaScript 和 SSL

    我正在尝试自动登录我的小型社区银行 浏览多个链接 然后下载 OFX 我似乎找不到一个足够强大的开源工具来处理这种情况 像 mechanize 这样的自动化框架无法处理 Javascript 我需要它在无图形环境中运行 通过 cron 所以我
  • 如何删除工作副本中所有未版本控制/忽略的文件/文件夹?

    如果我有 Subversion 存储库的工作副本 是否可以使用单个命令或工具删除该工作副本中所有未版本控制或忽略的文件 本质上 我正在寻找 SVN 类似物git clean http www kernel org pub software
  • 使用 KnpPaginatorBundle 对 Symfony 表单集合进行分页

    like in 如何处理包含 500 多个项目的 Symfony 表单集合 https stackoverflow com questions 18718952 how to handle symfony form collection w
  • 如何在R中对字符串中数字的所有实例求和

    假设我有一个字符串如下 The specimen is 34 x 1 x 5 mm and there is also another thing in there that is 22 x 4 x 1 mm and a further t
  • SQL 计算连胜和连败

    如果我有一个如下所示的 SQL 表 我如何计算当前的连胜或连败 以及按赛季分组 重置连胜或连败 我想更新表格并填充每条记录的条纹 因此 对于 1 连胜将是 1 2 将是 1 3 将是 2 但一旦我们下降到 7 它将再次重置为 1 1 表示
  • 如何将 SAFEARRAY 从 C# 传递到 COM?

    我有一个 ATL COM 服务器 其中接口的方法是 CVivsBasic UpdateSwitchPlan BSTR plan name SAFEARRAY plan 这个函数的 IDL 看起来像 typedef struct LONG t
  • 使用 php jquery ajax 从 mysql 获取图像并将其显示在 DIV 内的 html 页面中

    我在深入搜索我的问题后正在编辑我的问题基本上我的网站是一个时尚展示网站它显示鞋布和包等现在很明显我将有很多图片我正在用 jquery 和 javascript 解决我的问题用户单击索引页面上的缩略图 或者转到菜单并单击鞋子链接 javasc
  • 忽略空格的 NSPredicate

    我需要使用 NSPredicate 来匹配两个字符串 不区分大小写 不区分变音符号 和空白不敏感 谓词看起来像这样 NSPredicate predicateWithFormat Key cdw userInputKey w 修饰符是一种发
  • LINQ 比简单循环慢很多吗? [复制]

    这个问题在这里已经有答案了 可能的重复 是否应该避免使用 LINQ 因为它很慢 https stackoverflow com questions 3769989 should linq be avoided because its slo
  • 如果我使用 4 倍曼哈顿距离作为 15-Puzzle 的启发式,为什么 A* 会更快

    我已经实现了 A 算法来解决 15 个难题 我进行了一项研究 寻找一些可行或可接受的启发法 寻找快速解决方案 我发现使用 4 曼哈顿距离作为启发法总是可以在不到一秒的时间内解决任何 15 个谜题 我尝试过这个并且有效 我试图找到答案 但找不
  • 加载 SSIS 包或新项目时 SSDT 崩溃

    随着 SSDT 2016 GA 的发布 我已经加载了 SQL Server 2016 GA Developer Edition 新的 SSMS 2016 独立版本 甚至 Visual Studio 2015 Update 2 专业版 但每当
  • 发送电子邮件广播

    我正在开发一个应用程序 该应用程序允许管理层定期或根据各种其他标准向注册用户 选择加入 发送广播电子邮件 无论如何 我很好奇是否应该向每个收件人发送单独的电子邮件 还是在一条消息中密件抄送所有收件人 目前 电子邮件列表大约有 1500 个收
  • ubuntu 18.04 中 dpdk 和 ovs 上的 testpmd 出现问题

    我有一个 X520 SR2 10G 网卡 我将用它来创建 2 个使用 dpdk 编译的 OpenvSwitch 虚拟接口 从 ubuntu 18 04 的存储库安装 并使用 testpmd 测试这个虚拟接口 我做了以下工作 创建桥梁 ovs