DPDK程序 exception path 的实现方案

      最后更新:2022-05-21 22:59:00 手机定位技术交流文章

      目录

      • 背景
      • 例外的路径描述
      • 实现撤离路线的战略
        • Pcap PMD或传统Tun/Tap
        • KNI(Kernel NIC Interface)
        • 基于SR-IOV的免费拆分
        • 与内核进行通信时,使用virtio_user作为交换途径。

      背景

      在这里插入图片描述

      例外的路径描述

      DPDK是一种绕过核心子包装软件。这就是为什么它表现高。然而,从DPDK收到的货运(例如管制报告)必须转交内核网络协议处理。在 DPDK 中, 这被称为退出路径 。

      实现撤离路线的战略

      Pcap PMD或传统Tun/Tap

      Pcap PMD或传统Tun/Tap;这种方式的主要问题是这些端口的PMD需要调用syscall进入到内核态来收发包,这样的切换会导致DPDK应用性能大幅下降。

      在此可找到 TunTap Poll 模式驱动程序 。
      Libpcap和环球赛模式驱动器是两个例子。

      KNI(Kernel NIC Interface)

      KNI是DPDK用户目前使用的主要软件,它通过内核模块建立了虚拟网络接口,并通过FIFO队列和用户状态为DPDK建立了应用程序交换包。
      这个计划的缺点是 KNI的内核模块 无法内核流, 维修费用昂贵。
      例如,为了构建 rte_kni.Ko 的匹配版本, 需要一个以功能计算机为基础的内核 。

      基于SR-IOV的免费拆分

      这一解决方案利用了个人网页卡SR-IOV的虚拟化能力,使许多网页卡(一个PF和几个VF)虚拟化。有些存在于内核和DPDK申请中。它还使用网络卡的转移引擎,将特定的网络流引向由内核提供动力和控制的虚拟网络卡。这种方法基于硬件包进行分类和过滤的能力。需要硬件支持,不够灵活、通用。但是如果硬件支持,则有较好的性能。
      在这里插入图片描述

      与内核进行通信时,使用virtio_user作为交换途径。

      要进行virtio_user和内核通信,装载内核模块 vhost.ko 并允许它作为virtio_user的后端通信驱动程序运行,正如集装箱网络的应用一样。
      在这里插入图片描述

      另见:以用户为主的新法律解释路径

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25686.html

          热门文章

          文章分类