From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 10/49] vhost-user: support cross-endian vnet headers
Date: Mon, 21 Jan 2019 19:05:41 +0100 [thread overview]
Message-ID: <1548093980-43088-11-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1548093980-43088-1-git-send-email-pbonzini@redhat.com>
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 <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <1543851204-41186-9-git-send-email-pbonzini@redhat.com>
---
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
next prev parent reply other threads:[~2019-01-21 18:06 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-21 18:05 [Qemu-devel] [PULL 00/49] Misc patches for 2019-01-21 Paolo Bonzini
2019-01-21 18:05 ` [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 18:05 ` [Qemu-devel] [PULL 02/49] include: update Linux headers to 4.21-rc1/5.0-rc1 Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 03/49] vhost-net: move stubs to a separate file Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 04/49] vhost-net-user: add stubs for when no virtio-net device is present Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 05/49] vhost: restrict Linux dependency to kernel vhost Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 06/49] vhost-net: compile it on all targets that have virtio-net Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 07/49] vhost-net: revamp configure logic Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 08/49] vhost-user-test: use g_cond_broadcast Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 09/49] vhost-user-test: signal data_cond when s->rings changes Paolo Bonzini
2019-01-21 18:05 ` Paolo Bonzini [this message]
2019-01-21 18:05 ` [Qemu-devel] [PULL 11/49] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 12/49] vhost-user-test: skip if there is no memory at address 0 Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 13/49] vhost-user-test: reduce usage of global_qtest Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 14/49] vhost-user-test: create a main loop per TestServer Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 15/49] vhost-user-test: small changes to init_hugepagefs Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 16/49] vhost-user-test: create a temporary directory per TestServer Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 17/49] tap: flush STDOUT on newline Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 18/49] tests/hexloader-test: Don't pass -nographic to the QEMU under test Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 19/49] cpu-exec: add assert_no_pages_locked() after longjmp Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 20/49] cpu-exec: reset BQL after longjmp in cpu_exec_step_atomic Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 21/49] configure: Add a proper check for openpty() in libutil Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 22/49] cpus: ignore ESRCH in qemu_cpu_kick_thread() Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 23/49] elf: Add optional function ptr to load_elf() to parse ELF notes Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 24/49] elf-ops.h: Add get_elf_note_type() Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 25/49] pvh: Add x86/HVM direct boot ABI header file Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 26/49] pvh: Boot uncompressed kernel using direct boot ABI Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 27/49] pvh: load initrd and expose it through fw_cfg Paolo Bonzini
2019-01-21 18:05 ` [Qemu-devel] [PULL 28/49] linuxboot_dma: remove duplicate definitions of FW_CFG Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 29/49] linuxboot_dma: move common functions in a new header Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 30/49] hw/i386/pc: use PVH option rom Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 31/49] optionrom/pvh: load initrd from fw_cfg Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 32/49] i386: remove the new CPUID 'PCONFIG' from Icelake-Server CPU model Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 33/49] i386: remove the 'INTEL_PT' CPUID bit from named CPU models Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 34/49] Revert "i386: Add CPUID bit for PCONFIG" Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 35/49] target-i386: hvf: remove MPX support Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 36/49] contrib/elf2dmp: fix elf.h including Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 37/49] contrib/elf2dmp: use GLib in ELF processing Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 38/49] contrib/elf2dmp: use GLib in PDB processing Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 39/49] contrib/elf2dmp: fix structures definitions Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 41/49] configure: enable elf2dmp build for Windows hosts Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 42/49] monitor: do not use QTAILQ_FOREACH_SAFE across critical sections Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 43/49] crypto: finish removing TABs Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 44/49] ui: vnc: " Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 45/49] unify len and addr type for memory/address APIs Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 46/49] hw/core/loader.c: Read as long as possible in load_image_size() Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 47/49] i386: import & use bootparam.h Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 48/49] i386: allow to load initrd below 4 GB for recent linux Paolo Bonzini
2019-01-21 18:06 ` [Qemu-devel] [PULL 49/49] docker: disable Xen on CentOS 7 Paolo Bonzini
2019-01-24 12:07 ` Daniel P. Berrangé
2019-01-22 17:19 ` [Qemu-devel] [PULL 00/49] Misc patches for 2019-01-21 Peter Maydell
2019-01-23 11:06 ` Stefano Garzarella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1548093980-43088-11-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).