在 SR-IOV 虚拟功能 (VF) NIC 之间转发数据包

2024-01-01

我有一个支持 Intel SR-IOV 的 Intel 82599ES 10G NIC。我已成功创建了 8 个虚拟功能 (VF),并将其分配给 2 个 qemu/kvm VM(每个 VM 2 个 VF)。两台虚拟机都使用分配的 VF 运行 DPDK 应用程序(其中一台为 warp17,另一台为我的自定义应用程序)。我需要做的是通过使用 warp17 发送流量来测试我的自定义 DPDK 应用程序。我的测试设置如下所示, 红色箭头代表交通路径。

我的物理网卡 (PF) 使用 dpdk 轮询模式驱动程序 (igb_uio)。我需要做的是在 VF 之间路由流量,如红色箭头所示。我认为https://doc.dpdk.org/guides/prog_guide/switch_representation.html https://doc.dpdk.org/guides/prog_guide/switch_representation.html已经解释了切换行为,但我无法理解。 warp17 和我的自定义 dpdk 应用程序都可以在物理硬件上完美运行。我想做的是虚拟化我的测试设置以保留资源。有没有人尝试过进行这样的配置?


X710都没有fortville和尼安蒂克82599ESASIC 没有内部桥接或转发VERBor feature。最好的选择是使用软件虚拟交换机,例如SPP, OVS-DPDK或自定义应用程序通过 virtio 或 tap 转发数据包。

如果您仍然想使用物理 NIC 或 x710 或 82599ES,您将需要在另一端建立连接并运行逻辑以将数据包定向到相关 VF(修改 dst mac)。

Edit-1:(根据 DPDK 20.11)VEB 虚拟以太网桥接是一个选项,但需要特定的 NIC 固件和驱动程序才能在 PF 上创建 VEB,然后传播到 VF。一旦完成,网卡将无法接收来自外界的数据包

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

在 SR-IOV 虚拟功能 (VF) NIC 之间转发数据包 的相关文章

  • DPDK pdump 无法热插拔添加设备

    我正在尝试使用 dpdk pdump 从 dpdk 控制下的 NIC 捕获 tx 数据包 Setup DPDK 18 11 4 In config common base CONFIG RTE LIBRTE PMD PCAP y and C
  • VM 上的 Windows Phone 7 模拟器?

    Windows Phone 7 SDK 似乎不支持在虚拟机内运行 在 Parallels 上 当模拟器启动时 整个虚拟机就会崩溃 不过 在网络上 一些人报告说他们可以通过更改大量虚拟机设置来使用它 我必须更改什么才能运行它 我对 Paral
  • vCPU 是否可以使用两台不同硬件计算机的不同 CPU

    我搜索过这个问题 但似乎没有得到公平的答案 假设我不想创建一个具有 vCPU 的虚拟机 并且该 vCPU 必须有 10 个核心 但我只有 2 台计算机 每台计算机有 5 个物理 CPU 核心 是否可以通过依赖这两个物理 CPU 来创建一个
  • 在 qemu 中使用 GDB 调试 Linux 内核无法命中函数或给定地址

    我试图在 qemu 环境中使用 GDB 逐步理解内核启动顺序 以下是我的设置 在一个终端中我正在运行 Qemu arm bin qemu system arm M vexpress a9 dtb arch arm boot dts vexp
  • WPF 自定义布局/虚拟化

    这就是我试图通过 WPF 实现的目标 作为标题的文本块和下面的按钮wrappanel问题是这需要滚动等 我使用 ItemsControl 和每个组的绑定来实现这一点 我有一个 ItemsControl 它有一个 stackpanel 作为
  • 如何从实例创建 Amazon EC2 AMI? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何从实例创建 EC2 AMI 好的 我得到了一个 EC2 帐户 我使用 Fedora 8 Apache MySQL PHP 启动了一个实例 我还配置
  • VMWare 如何防止虚拟机更新其日期和时间

    我想知道虚拟机 VMWare 如何更新其日期和时间以及如何禁用它 因为我注意到 即使我将虚拟机暂停 关闭一年 当我再次打开它时 它也会有正确的时间和日期 对于物理机 我知道主板上固定的中央单元内有一个小电池 有助于在计算机关闭并断开电源时保
  • 您的CPU不支持VT-x

    我已经创建了 AVD 但是当我尝试运行 android 程序时 它显示 错误 您的CPU不支持VT x 我在 BIOS 中启用了虚拟化技术 但当我尝试运行 Android 程序时仍然出现此错误 有两种情况 使用VMware 进入 WM gt
  • 了解 QEMU 的好来源是什么?

    您会推荐什么书或网站来了解 QEMU 我想查看一些使用示例以及如何使用 API 最佳资源 主要 QEMU 使用文档 http wiki qemu org Manual Qemu 手册页 http manpages ubuntu com ma
  • WPF TreeView 虚拟化

    我正在尝试弄清楚这个虚拟化功能 我不确定我是否理解错误或发生了什么 但我正在使用 ANTS 内存分析器来检查虚拟化 TreeView 中的项目数 并且它只是不断增加 我有一个包含 1 001 个项目 1 个根项目 1000 个子项目 的 T
  • Qemu-KVM:将访客物理地址转换为主机虚拟/主机物理地址

    我正在做一个需要翻译的项目qemu guest物理地址到主机虚拟 物理地址 我正在使用 VMI 虚拟机自省 来自省 qemu 进程 KVM VM 并读取存储在 virtio 环缓冲区描述符中的来宾物理地址 因此 我正在寻找一种简单的方法来将
  • 应用程序的沙箱虚拟机(概念)

    我想编写一个沙箱虚拟机来执行已编译的程序 我的目标是将该程序与操作系统的其余部分隔离并控制其执行 以便它不会对主机做出任何有害的事情 我假设 执行的程序被编译为可移植可执行格式 并且是机器代码 而不是任何类型的字节代码或 CLR 执行的程序
  • x86 虚拟化如何工作

    任何人都可以推荐有关虚拟化的好读物吗 我建议英特尔软件开发人员手册 http www intel com products processor manuals 具体来说卷3B http www intel com Assets PDF ma
  • 将纯数据 Docker 容器从一台机器移动到另一台机器的正确方法

    我有一个数据库 Docker 容器 它将其数据写入另一个仅数据容器 纯数据容器有一个存储数据库数据的卷 是否有一种 docker 方式将这个纯数据容器从一台机器迁移到另一台机器 我读到了有关 docker save 和 docker loa
  • 记录内存访问足迹

    I found mtrace https github com aclements mtrace克莱门茨博士 虽然很有用 但是在我需要的情况下却不能正常工作 我打算使用该记录来了解不同场景下的内存访问模式 有人可以分享相关经验吗 任何建议将
  • 如何通过 Pktgen-DPDK 生成随机流量?

    I use range
  • 用于 RHEL 的 gdb-multiarch

    我正在尝试寻找方法来运行gdb 多架构RHEL 中的命令 我已经安装了用于 ARM 处理的 QEMU 模拟器 我想安装GDB进行调试 我能够安装GDB 多体系结构在 Ubuntu 中运行命令成功 sudo apt get GDB multi
  • qemu kvm:如何获取性能监控中断?

    我在操作系统内核中编写了一些函数 以便在指令计数器溢出时发出性能监控中断 PMI 它在我的机器 Intel core i5 上运行良好 但是当我使用 qemu 在 qemu 上运行它时 qemu system x86 64 enable k
  • 检测注册表虚拟化

    我有一组 C v2 应用程序 并且在 Win7 以及较小程度上的 Vista 中的注册表虚拟化方面遇到了困难 我有一个共享注册表配置区域 我的应用程序需要在 HKLM Software Company 中访问该区域 在 Vista 之前 所
  • File.Exists("") 和 FileInfo 存在有什么区别

    我在 Program Files x86 MyApp 文件夹中有一个 exe 文件 在 x86 应用程序中 我检查文件是否存在 64 位系统 简单的 bool fileExists File Exists ProgramFiles x86

随机推荐

  • 错误:“uint8_t”尚未声明[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试在 openSUSE 11 2 中使用 xbox360 控制器作为操纵杆 尝试编译 xboxdrv 时 htt
  • Firefox Webdriver 非常慢

    我们使用设置的 selenium webdriver dll 来运行我的自动化套件 我仅在 Firefox 中运行测试时遇到此问题 Firefox 中的测试运行速度非常慢 加载页面需要 3 4 分钟 但是 当我使用 Firefox 浏览器在
  • React Native fetch() 网络请求失败

    当我使用创建一个全新的项目时react native init RN 版本 0 29 1 并将 fetch 放入公共 facebook demo movie API 的 render 方法中 它会抛出Network Request Fail
  • django 中不同用户类型的单独“管理”界面

    我最近正在尝试创建一个涉及多个级别用户的项目 只是一个缩写和粗略模式的示例 ME Super User Client s Customer s Survey Collections SurveyUser s Invitee s Survey
  • 如何在纵向数据集中进行缩尾(或删除单变量异常值)

    我试图弄清楚如何对纵向数据集中按个体分组的观察结果进行缩尾处理 我从这个开始很好的答案 https stackoverflow com questions 14596373 removing univariate outliers from
  • Ionic 启动画面中的 GIF 文件

    我正在开发一个带有 ionic framework 和 Cordova 插件的混合应用程序 他们问我两个操作系统 iOS 和 Android 上的启动屏幕都有一个小动画 我想象的是 GIF 但如果您可以将 GIF 作为启动屏幕加载 则不会
  • 如何删除 Xamarin.Forms 导航栏?

    有没有办法从 Android 中的 Xamarin Forms Portable xaml 中删除导航栏 我想删除 Xamarin Forms xaml 内容页面上方显示的 小于号 您可以使用以下代码使用 Xamarin Forms 从 X
  • 尝试添加一对多关系时出现 NullReferenceException

    Item可以包含多个Sizes 当我尝试为我的商品添加新尺寸时 它会抛出NullReference错误 当我尝试将图像添加到我的项目时 也会发生同样的情况 你调用的对象是空的 Code var size new Size BasePrice
  • 在 C++ (Win32) 中解析 XML 的方法

    我正在寻找一种在 Windows 中用 C 解析 XML 的方法 我发现了一些方法 例如 MSXML Xerces TinyXml 等 但我想知道哪种方法在性能和功能方面最好 我的要求是它必须能够静态链接或将源代码包含在项目本身中 并且不能
  • Visual Studio 中的国际化

    我对 Visual Studio 相当陌生 想知道如何在我正在启动的新项目中最好地规划翻译 我需要提供英语 德语和法语 我过去经常使用 Eclipse 在那里我刚刚开发了一个新应用程序 当它完成时 我可以启动一个向导将字符串外部化到资源文件
  • Jackson 无法序列化我的领域对象

    我有一个 Route 对象 但我发现无法序列化它 所以我说我将调试并尝试单独序列化其中的对象 这是我的功能 public JSONObject getRouteJson Next Step step JSONObject route new
  • 在模板类中调用模板方法

    我试图找出为什么我无法编译的一些代码 并且我做了相当多的减少和匿名化 最终得到了这个例子 define NULL void 0 template
  • GWT UiBinder 有什么方法可以拥有动态的小部件列表吗?

    Class Foo有一个变量List
  • JavaScript 对数组进行排序

    我的数组未正确排序 有人可以让我知道我做错了什么吗 sortArray new Array hello Link to Google zFile aFile sort array if dir asc sortArray sort func
  • 找到顶点的边(多边形)的最佳算法

    我有大量的顶点 其中一些是边缘 一些是多余的 形状内部 我想删除它们 我能想到的最简单的算法是一一检查它们是否撞到了其他人形成的形状 但这应该是一个非常慢的算法 我考虑从边缘选择一个 每个示例中距原点最远的一个 并计算从这一点开始的最长路径
  • 为什么Python在for和while循环之后使用'else'?

    我理解这个结构是如何工作的 for i in range 10 print i if i 9 print Too big I m giving up break else print Completed successfully 但我不明白
  • 制作嵌套在其他显示对象中的显示对象的视觉克隆,并将克隆添加到相同位置、旋转等的舞台层中

    我希望能够获取嵌套在其他对象中的 DisplayObject 的副本转变的DisplayObjects 旋转 缩放 拉伸的对象 并能够将其标记回相同的视觉位置 但在舞台层上 本质上 能够创建嵌套 DisplayObject 的克隆 但能够将
  • Python: int(3.0) = 2

    观察下面的python程序 def goo y x y float y x float x yup y x 1 x yup str yup yup yup split decimal yup 1 decimal float decimal
  • 数据库管理系统通常绕过文件系统,这是真的吗?

    我对典型数据库管理系统绕过文件系统的一般理解是否正确 据我所知 他们管理自己的磁盘空间 并将实际数据和索引系统 如 B 树 直接写入磁盘块 绕过文件系统的任何中间帮助 这假设 root 将向数据库用户提供直接读取和写入磁盘块的权限 在 Li
  • 在 SR-IOV 虚拟功能 (VF) NIC 之间转发数据包

    我有一个支持 Intel SR IOV 的 Intel 82599ES 10G NIC 我已成功创建了 8 个虚拟功能 VF 并将其分配给 2 个 qemu kvm VM 每个 VM 2 个 VF 两台虚拟机都使用分配的 VF 运行 DPD