在 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 之间转发数据包 的相关文章

  • 如何使用 qemu 编译和构建 aarch64 的 python 包?

    我正在尝试为一个包构建 python 轮子 lap https github com gatagat lap 为了aarch64建筑学 我的主机环境是 WSL2 和 Ubuntu 20 04docker 目标是BuildrootGNU Li
  • WPF 自定义布局/虚拟化

    这就是我试图通过 WPF 实现的目标 作为标题的文本块和下面的按钮wrappanel问题是这需要滚动等 我使用 ItemsControl 和每个组的绑定来实现这一点 我有一个 ItemsControl 它有一个 stackpanel 作为
  • DPDK“端口数必须为偶数”一台以太网设备

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

    我编写了一个小型 16 位汇编程序 该程序在某些内存位置写入一些值 有没有办法可以在 Linux 上的 32 位保护模式下测试它 qemu http wiki qemu org Main Page dosbox http www dosbo
  • WPF TreeView 虚拟化

    我正在尝试弄清楚这个虚拟化功能 我不确定我是否理解错误或发生了什么 但我正在使用 ANTS 内存分析器来检查虚拟化 TreeView 中的项目数 并且它只是不断增加 我有一个包含 1 001 个项目 1 个根项目 1000 个子项目 的 T
  • ag-grid支持列虚拟化吗?

    这在有很多列且大多数列不在可见区域的情况下特别重要 是的 正如上面所述文档 https www ag grid com javascript grid accessibility dom order 默认情况下 网格使用虚拟化 网格技术 当
  • ListView 虚拟化值在回收模式下重复

    我对启用虚拟化的 ListView 控件有一个奇怪的问题 我创建了一个非常小的试点应用程序来重现该问题 当我在列表视图中的几个文本框中输入内容然后向下滚动时 几页后 输入的值会在下面未触及的文本框中重复 这是窗口的 XAML
  • Qemu-KVM:将访客物理地址转换为主机虚拟/主机物理地址

    我正在做一个需要翻译的项目qemu guest物理地址到主机虚拟 物理地址 我正在使用 VMI 虚拟机自省 来自省 qemu 进程 KVM VM 并读取存储在 virtio 环缓冲区描述符中的来宾物理地址 因此 我正在寻找一种简单的方法来将
  • 如何在进程结束后自动关闭`qemu`的执行?

    我想要的是qemu打开并显示输出后的窗口运行后自动关闭pintOS 就像我运行命令时一样pintos run alarm multiple in tcshshell qemu 显示过程开始 然后一些alarm notifications然后
  • 将 IVSHMEM 与 libvirt virt-manager 结合使用

    Using ivshmem in qemu需要执行以下步骤 在主机中启动 ivshmem 服务器 ivshmem server这将创建一个unix域套接字 tmp ivshmem socket 使用以下命令行选项启动 qemu charde
  • 如何在没有虚拟化的 Macintosh 上进行“干净”测试?

    我在 Windows 上遇到的一件事是 当您正在开发的 Web 浏览器插件或程序假设安装了默认情况下并不总是存在于 Windows 上的某些内容时 一个完美的例子是 NET 很多运行 Windows XP 的人从未安装过任何版本的 NET
  • x86 虚拟化如何工作

    任何人都可以推荐有关虚拟化的好读物吗 我建议英特尔软件开发人员手册 http www intel com products processor manuals 具体来说卷3B http www intel com Assets PDF ma
  • 记录内存访问足迹

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

    有没有办法从虚拟机内识别您的代码正在虚拟机内运行 我想有或多或少简单的方法来识别特定的虚拟机系统 特别是如果虚拟机安装了提供商的扩展 例如 VirtualBox 或 VMWare 但是有没有一个通用的方法来识别你不是直接在CPU上运行的呢
  • 系统虚拟化:了解 IO 虚拟化和虚拟机管理程序的作用 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想对I O虚拟化有一个正确的理解 上下文是纯 全虚拟化 而不是半虚拟化 我的理解是 虚拟机管理程序虚拟化硬件并向每个沙盒应用程序提供虚拟资源 每个沙
  • 如何编写虚拟机[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • x86 平台中的 KVM 影子页表处理

    据我了解 在没有硬件支持来宾虚拟到主机物理地址转换的处理器上 KVM 使用影子页表 当来宾操作系统修改其页表时 会构建和更新影子页表 硬件中有没有专门的指令 以x86为参考 来修改页表 除非有特殊说明 否则不会对VMM 造成陷阱 Linux
  • 无法使用安装了启用的 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 客户机 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我最近将 Windows 10 版本更新为2004 我还将 WSL 更新为 WSL2 我在尝试通过 VirtualBox 使用虚拟机 Wi
  • Android Studio 模拟器:错误:检测到挂起线程 QEMU2 主循环

    我在 Ubuntu 16 04 上使用 Android Studio 3 0 1 昨天 Android Studio 弹出一条消息 说有可用更新 我总是点击这些更新 然后它通知我它已成功更新模拟器 我的 AVD 之前工作得很好 但更新完成后
  • 虚拟化软件如何工作? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我想知道 VirtualBox 或 VMWare Workstation 等虚拟化软件如何工作 他们如何创建一个被操作系统视为单独计算

随机推荐

  • 错误:“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