qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: lvivier@redhat.com, mst@redhat.com, jasowang@redhat.com,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [Qemu-devel] [PATCH 04/10] vhost-user: support cross-endian vnet headers
Date: Thu, 15 Nov 2018 15:31:18 +0100	[thread overview]
Message-ID: <20181115143124.19234-5-pbonzini@redhat.com> (raw)
In-Reply-To: <20181115143124.19234-1-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.

Signed-off-by: Paolo Bonzini <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 a39f9c9974..cd9659df87 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,
-- 
2.19.1

  parent reply	other threads:[~2018-11-15 14:32 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-15 14:31 [Qemu-devel] [PATCH for-3.2 00/10] vhost: preparation for qgraph conversion of vhost-user-test Paolo Bonzini
2018-11-15 14:31 ` [Qemu-devel] [PATCH 01/10] vhost-user-test: use g_cond_broadcast Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 02/10] vhost-user-test: signal data_cond when s->rings changes Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 03/10] vhost-net: compile it for all targets Paolo Bonzini
2018-11-15 18:42   ` Paolo Bonzini
2018-11-20  8:50     ` Marc-André Lureau
2019-01-15  3:50     ` Michael S. Tsirkin
2019-01-15  7:18       ` Paolo Bonzini
2018-11-15 14:31 ` Paolo Bonzini [this message]
2018-11-20  8:50   ` [Qemu-devel] [PATCH 04/10] vhost-user: support cross-endian vnet headers Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 05/10] vhost-user-test: support VHOST_USER_PROTOCOL_F_CROSS_ENDIAN Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 06/10] vhost-user-test: skip if there is no memory at address 0 Paolo Bonzini
2018-11-15 14:31 ` [Qemu-devel] [PATCH 07/10] vhost-user-test: reduce usage of global_qtest Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 08/10] vhost-user-test: create a main loop per TestServer Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-15 14:31 ` [Qemu-devel] [PATCH 09/10] vhost-user-test: small changes to init_hugepagefs Paolo Bonzini
2018-11-15 14:55   ` Philippe Mathieu-Daudé
2018-11-15 18:41     ` Paolo Bonzini
2018-11-15 18:45       ` Philippe Mathieu-Daudé
2018-11-15 18:46         ` Paolo Bonzini
2018-11-15 14:31 ` [Qemu-devel] [PATCH 10/10] vhost-user-test: create a temporary directory per TestServer Paolo Bonzini
2018-11-20  8:50   ` Marc-André Lureau
2018-11-16  0:43 ` [Qemu-devel] [PATCH for-3.2 00/10] vhost: preparation for qgraph conversion of vhost-user-test no-reply

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=20181115143124.19234-5-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mst@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).