[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/9] vhost-user: support cross-endian vnet headers
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 4/9] vhost-user: support cross-endian vnet headers |
Date: |
Thu, 14 Feb 2019 18:35:51 +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] [PATCH v2 0/9] vhost: enable for all targets, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 3/9] vhost: restrict Linux dependency to kernel vhost, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 4/9] vhost-user: support cross-endian vnet headers,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 9/9] vhost-user-test: create a temporary directory per TestServer, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 8/9] vhost-user-test: small changes to init_hugepagefs, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 2/9] vhost-net-user: add stubs for when no virtio-net device is present, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 6/9] vhost-net: revamp configure logic, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 5/9] vhost-net: compile it on all targets that have virtio-net., Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 1/9] vhost-net: move stubs to a separate file, Paolo Bonzini, 2019/02/14
- [Qemu-devel] [PATCH 7/9] vhost-user-test: create a main loop per TestServer, Paolo Bonzini, 2019/02/14
- Re: [Qemu-devel] [PATCH v2 0/9] vhost: enable for all targets, Michael S. Tsirkin, 2019/02/14
- Re: [Qemu-devel] [PATCH v2 0/9] vhost: enable for all targets, Michael S. Tsirkin, 2019/02/14