[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 03/77] vhost-user: support cross-endian vnet headers
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 03/77] vhost-user: support cross-endian vnet headers |
Date: |
Mon, 4 Feb 2019 19:35:05 +0100 |
vhost-user already has a way to communicate the endianness of the guest
via the vring endianness messages. The vring endianness always matches
the vnet header endianness so there is no need to do anything else in
the backend.
Reviewed-by: Marc-André Lureau <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
---
net/vhost-user.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/net/vhost-user.c b/net/vhost-user.c
index a39f9c9..cd9659d 100644
--- a/net/vhost-user.c
+++ b/net/vhost-user.c
@@ -172,6 +172,17 @@ static void net_vhost_user_cleanup(NetClientState *nc)
qemu_purge_queued_packets(nc);
}
+static int vhost_user_set_vnet_endianness(NetClientState *nc,
+ bool enable)
+{
+ /* Nothing to do. If the server supports
+ * VHOST_USER_PROTOCOL_F_CROSS_ENDIAN, it will get the
+ * vnet header endianness from there. If it doesn't, negotiation
+ * fails.
+ */
+ return 0;
+}
+
static bool vhost_user_has_vnet_hdr(NetClientState *nc)
{
assert(nc->info->type == NET_CLIENT_DRIVER_VHOST_USER);
@@ -193,6 +204,8 @@ static NetClientInfo net_vhost_user_info = {
.cleanup = net_vhost_user_cleanup,
.has_vnet_hdr = vhost_user_has_vnet_hdr,
.has_ufo = vhost_user_has_ufo,
+ .set_vnet_be = vhost_user_set_vnet_endianness,
+ .set_vnet_le = vhost_user_set_vnet_endianness,
};
static gboolean net_vhost_user_watch(GIOChannel *chan, GIOCondition cond,
--
1.8.3.1
- [Qemu-devel] [PULL 00/77] Misc patches for 2019-02-04, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 04/77] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 10/77] configure: Add a proper check for openpty() in libutil, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 08/77] cpu-exec: add assert_no_pages_locked() after longjmp, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 06/77] vhost-user-test: reduce usage of global_qtest, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 07/77] tap: flush STDOUT on newline, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 11/77] cpus: ignore ESRCH in qemu_cpu_kick_thread(), Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 03/77] vhost-user: support cross-endian vnet headers,
Paolo Bonzini <=
- [Qemu-devel] [PULL 05/77] vhost-user-test: skip if there is no memory at address 0, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 14/77] pvh: Add x86/HVM direct boot ABI header file, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 09/77] cpu-exec: reset BQL after longjmp in cpu_exec_step_atomic, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 02/77] vhost-user-test: signal data_cond when s->rings changes, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 17/77] linuxboot_dma: remove duplicate definitions of FW_CFG, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 13/77] elf-ops.h: Add get_elf_note_type(), Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 20/77] hw/i386/pc: use PVH option rom, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 01/77] vhost-user-test: use g_cond_broadcast, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 29/77] contrib/elf2dmp: use GLib in PDB processing, Paolo Bonzini, 2019/02/04
- [Qemu-devel] [PULL 16/77] pvh: load initrd and expose it through fw_cfg, Paolo Bonzini, 2019/02/04