DPDK Programmer’s Guide(45)Vhost库

官方文档查看地址:
http://doc.dpdk.org/guides/prog_guide/service_cores.html
PDF下载地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-programmers-guide.html

本篇难度系数:
翻译:☆☆☆☆☆
理解:★★☆☆☆

45.Vhost Library
vhost库实现了一个用户空间virtio net服务器,允许用户直接操作virtio环。换句话说,它允许用户从VM virtio net设备获取/放置数据包。要实现这一点,vhost库应该能够:

  • 访问客户内存:
    对于QEMU,这是通过使用-object memory-backend-file,share=on,...选择。这意味着QEMU将创建一个文件作为guest RAM。share=on选项允许另一个进程映射该文件,这意味着它可以访问guest RAM。
  • 了解有关vring的所有必要信息:
    诸如可用环存储在何处之类的信息。Vhost定义一些消息(通过Unix域套接字文件传递),告诉后端它需要知道如何操作vring的所有信息。

45.1Vhost API概述
以下是一些关键的Vhost API函数的概述:

  • rte_vhost_driver_register(path, flags)
    该函数将一个vhost驱动程序注册到系统中。path指定Unix域套接字文件路径。
    目前支持的标志是:
    • RTE_VHOST_USER_CLIENT
      当给出该标志时,DPDK vhost-user将充当客户机。请看下面的解释。
    • RTE_VHOST_USER_NO_RECONNECT
      当DPDK vhost-user作为客户机时,它将继续尝试重新连接到服务器(QEMU),直到成功为止。这在两种情况下是有用的:
      • 当QEMU尚未启动时。
      • 当QEMU重新启动时(例如由于客户OS重新启动)。
        默认情况下启用此重新连接选项。但是,可以通过设置此标志关闭它。
    • RTE_VHOST_USER_DEQUEUE_ZERO_COPY
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值