DPDK文档翻译DPDK学习指南程序员

DPDK编程指南(翻译)( 二十七)

2017-11-10  本文已影响219人  半天妖

27. Vhost 库

Vhost库实现了一个用户空间virtio网络服务器,允许用户直接操作virtio。 换句话说,它允许用户通过VM virtio网络设备获取/发送数据包。 为了达到这个功能,一个vhost库需要实现:

访问guest内存:

27.1. Vhost API 概述

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

27.2. Vhost-user 实现

Vhost-user 使用Unix套接字来传递消息。这意味着DPDK vhost-user的实现具有两种角色:

无论使用哪种模式,建立连接之后,DPDK vhost-user 都将开始接收和处理来自QEMU的vhost消息。

对于带有文件描述符的消息,文件描述符可以直接在vhost进程中使用,因为它已经被Unix套接字安装了。

当前支持的vhost 消息包括:

对于 VHOST_SET_MEM_TABLE 消息,QEMU将在消息的辅助数据中为每个存储区域及其文件描述符发送信息。 文件描述符用于映射该区域。

VHOST_SET_VRING_KICK 用作将vhost设备放入数据面的信号, VHOST_GET_VRING_BASE 用作从数据面移除vhost设备的信号。

当套接字连接关闭,vhost将销毁设备。

27.3. 支持Vhost的vSwitch

有关更多vhost详细信息以及如何在vSwitch中支持vhost,请参阅《DPDK Sample Applications Guide》。

上一篇 下一篇

猜你喜欢

热点阅读