From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46510) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOlJR-0008RJ-Ps for qemu-devel@nongnu.org; Tue, 02 Sep 2014 06:27:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XOlJN-00079S-09 for qemu-devel@nongnu.org; Tue, 02 Sep 2014 06:27:45 -0400 Received: from mnementh.archaic.org.uk ([81.2.115.146]:46822) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XOlJM-00079I-Pt for qemu-devel@nongnu.org; Tue, 02 Sep 2014 06:27:40 -0400 From: Peter Maydell Date: Tue, 2 Sep 2014 11:24:14 +0100 Message-Id: <1409653457-27863-3-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1409653457-27863-1-git-send-email-peter.maydell@linaro.org> References: <1409653457-27863-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH v2 2/5] util/qemu-sockets.c: Support specifying IPv4 or IPv6 in socket_dgram() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Markus Armbruster , Anthony Liguori , patches@linaro.org Currently you can specify whether you want a UDP chardev backend to be IPv4 or IPv6 using the ipv4 or ipv6 options if you use the QemuOpts parsing code in inet_dgram_opts(). However the QMP struct parsing code in socket_dgram() doesn't provide this flexibility (which in turn prevents us from converting the UDP backend handling to the new style QAPI framework). Use the existing inet_addr_to_opts() function to convert the remote->inet address to option strings; this handles ipv4 and ipv6 flags as well as host and port. (It will also convert any 'to' specification, which is harmless as it is ignored in this context.) Signed-off-by: Peter Maydell --- util/qemu-sockets.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 5d38395..4a25585 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -966,8 +966,7 @@ int socket_dgram(SocketAddress *remote, SocketAddress *local, Error **errp) opts = qemu_opts_create(&socket_optslist, NULL, 0, &error_abort); switch (remote->kind) { case SOCKET_ADDRESS_KIND_INET: - qemu_opt_set(opts, "host", remote->inet->host); - qemu_opt_set(opts, "port", remote->inet->port); + inet_addr_to_opts(opts, remote->inet); if (local) { qemu_opt_set(opts, "localaddr", local->inet->host); qemu_opt_set(opts, "localport", local->inet->port); -- 1.9.1