[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 10/49] vhost-user: support cross-endian vnet headers
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 10/49] vhost-user: support cross-endian vnet headers |
Date: |
Mon, 21 Jan 2019 19:05:41 +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/49] Misc patches for 2019-01-21, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 06/49] vhost-net: compile it on all targets that have virtio-net., Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 04/49] vhost-net-user: add stubs for when no virtio-net device is present, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 08/49] vhost-user-test: use g_cond_broadcast, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 09/49] vhost-user-test: signal data_cond when s->rings changes, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 07/49] vhost-net: revamp configure logic, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 10/49] vhost-user: support cross-endian vnet headers,
Paolo Bonzini <=
- [Qemu-devel] [PULL 01/49] scripts/update-linux-headers.sh: adjust for Linux 4.21-rc1 (or 5.0-rc1), Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 11/49] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 17/49] tap: flush STDOUT on newline, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 19/49] cpu-exec: add assert_no_pages_locked() after longjmp, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 14/49] vhost-user-test: create a main loop per TestServer, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 20/49] cpu-exec: reset BQL after longjmp in cpu_exec_step_atomic, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 12/49] vhost-user-test: skip if there is no memory at address 0, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 03/49] vhost-net: move stubs to a separate file, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 13/49] vhost-user-test: reduce usage of global_qtest, Paolo Bonzini, 2019/01/21
- [Qemu-devel] [PULL 05/49] vhost: restrict Linux dependency to kernel vhost, Paolo Bonzini, 2019/01/21