[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 48/54] vhost-user: support cross-endian vnet headers
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 48/54] vhost-user: support cross-endian vnet headers |
Date: |
Wed, 12 Dec 2018 16:23:09 +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 38/54] includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)", (continued)
- [Qemu-devel] [PULL 38/54] includes: Replace QEMU_GNUC_PREREQ with "__has_builtin || !defined(__clang__)", Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 40/54] hw/watchdog/wdt_i6300esb : remove a unnecessary comment, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 46/54] vhost-user-test: use g_cond_broadcast, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 42/54] vhost-net-user: add stubs for when no virtio-net device is present, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 43/54] vhost: restrict Linux dependency to kernel vhost, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 39/54] Remove QEMU_ARTIFICIAL macro, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 54/54] vhost-user-test: create a temporary directory per TestServer, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 49/54] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 53/54] vhost-user-test: small changes to init_hugepagefs, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 52/54] vhost-user-test: create a main loop per TestServer, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 48/54] vhost-user: support cross-endian vnet headers,
Paolo Bonzini <=
- [Qemu-devel] [PULL 50/54] vhost-user-test: skip if there is no memory at address 0, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 44/54] vhost-net: compile it on all targets that have virtio-net., Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 51/54] vhost-user-test: reduce usage of global_qtest, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 45/54] vhost-net: revamp configure logic, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 41/54] vhost-net: move stubs to a separate file, Paolo Bonzini, 2018/12/12
- [Qemu-devel] [PULL 47/54] vhost-user-test: signal data_cond when s->rings changes, Paolo Bonzini, 2018/12/12
- Re: [Qemu-devel] [PULL 00/54] Misc patches for 2018-12-12, Eric Blake, 2018/12/12
- Re: [Qemu-devel] [PULL 00/54] Misc patches for 2018-12-12, no-reply, 2018/12/12