From patchwork Thu Jun 9 10:11:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Marc-Andr=C3=A9_Lureau?= X-Patchwork-Id: 632707 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rQLjC5fqkz9sC3 for ; Thu, 9 Jun 2016 20:13:03 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=b2AxrMHZ; dkim-atps=neutral Received: from localhost ([::1]:33562 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAwxR-0003Ym-Ok for incoming@patchwork.ozlabs.org; Thu, 09 Jun 2016 06:13:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAwwI-0002kq-06 for qemu-devel@nongnu.org; Thu, 09 Jun 2016 06:11:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bAwwF-0006k3-Sr for qemu-devel@nongnu.org; Thu, 09 Jun 2016 06:11:48 -0400 Received: from mail-vk0-x244.google.com ([2607:f8b0:400c:c05::244]:33615) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAwwF-0006jb-NA for qemu-devel@nongnu.org; Thu, 09 Jun 2016 06:11:47 -0400 Received: by mail-vk0-x244.google.com with SMTP id z65so5519516vka.0 for ; Thu, 09 Jun 2016 03:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=d2cTGGTzrfrHMgg2in7SWmoOKo0QlSvwTqqD9+symjU=; b=b2AxrMHZ851Tyxp8cJfWk8KQDbIqKihYtkZFlX8STYZBbvZ/1MyKlujMKrOMY7q+pH 7AV/wNgpiUMi3WrnP9M+BbsMInZs6eDhsFzYPSqBXxCY1YZZpLIMvMvp5K2TqKRyGmAB mY8GBdmjCHc6h1mQmi86rmKIQ+pv1ZwtXABhIm5Ls59FOhYj2eTDxit/RtB1pu10ZLCO 4nRL7Uiip+3YmWCD9OroOLIWDuHhMJnXnLzxzEhGWPNgjzZVpFt1QyVqbzeiErF/5aue ysdKqY9IsAU983E1p7+ph5MZSTrBp0VcKYyrN3YhbcCaNRM10uyjY3EAI5jnf8/7SLXW 07qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=d2cTGGTzrfrHMgg2in7SWmoOKo0QlSvwTqqD9+symjU=; b=hbCPggNmRkU+NUNvMyucsFBnZuR2Q5An2Z7pNQu5NSGoA7Fxlwg/3rw6QzuBIx37Ei cCFlGSDnA+pZDhMiInRyqkLNW4PqaLz5PykQhZGWl8s24LC2RBOYeXPVA2BH89IHwbKr JaiAlr3be2hDBqJREbtjaahOWgCpB5AZMpm9ZtXRlxO/GVg2lw2nLcbjP2J2h0+7wepQ OId7mNv94kYVS35MbDvZs84PudBl0uUNZTxLa3htxcr5A4x0+nfRvxyaDiV3JMxZO4Fb B8xUdYageFBO2AYrZBqvx14M0BsMk5ynLgbqW6qJE4BNCa3DxSRmKIkkjmmlcabIXaeS vaQQ== X-Gm-Message-State: ALyK8tJ0XvgqnxyjZarS7jaoZLGA4BEsh2n9Gyps+TjuFpHCyzhyxm8sMQhDBLcTVJ3eR4lrR7oUAp8ZEHxZUA== X-Received: by 10.31.94.201 with SMTP id s192mr4254025vkb.89.1465467105874; Thu, 09 Jun 2016 03:11:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.1.238 with HTTP; Thu, 9 Jun 2016 03:11:45 -0700 (PDT) In-Reply-To: <20160609125006-mutt-send-email-victork@redhat.com> References: <1465231508-30183-1-git-send-email-marcandre.lureau@redhat.com> <1465231508-30183-3-git-send-email-marcandre.lureau@redhat.com> <20160609125006-mutt-send-email-victork@redhat.com> From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Date: Thu, 9 Jun 2016 12:11:45 +0200 Message-ID: To: Victor Kaplansky X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400c:c05::244 Subject: Re: [Qemu-devel] [PATCH 02/10] tests/vhost-user-bridge: add client mode X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yuanhan Liu , "Michael S . Tsirkin" , QEMU , Tetsuya Mukawa , jonshin@cisco.com, Ilya Maximets Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Hi On Thu, Jun 9, 2016 at 11:53 AM, Victor Kaplansky wrote: > On Mon, Jun 06, 2016 at 06:45:00PM +0200, marcandre.lureau@redhat.com wrote: >> From: Marc-André Lureau >> >> If -c is specified, vubr will try to connect to the socket instead of >> listening for connections. >> >> Signed-off-by: Marc-André Lureau >> Tested-by: Yuanhan Liu >> Reviewed-by: Yuanhan Liu >> --- >> tests/vhost-user-bridge.c | 38 ++++++++++++++++++++++++++------------ >> 1 file changed, 26 insertions(+), 12 deletions(-) >> >> diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c >> index 0779ba2..f907ce7 100644 >> --- a/tests/vhost-user-bridge.c >> +++ b/tests/vhost-user-bridge.c >> @@ -1204,12 +1204,13 @@ vubr_accept_cb(int sock, void *ctx) >> } >> >> static VubrDev * >> -vubr_new(const char *path) >> +vubr_new(const char *path, bool client) >> { >> VubrDev *dev = (VubrDev *) calloc(1, sizeof(VubrDev)); >> dev->nregions = 0; >> int i; >> struct sockaddr_un un; >> + CallbackFunc cb; >> size_t len; >> >> for (i = 0; i < MAX_NR_VIRTQUEUE; i++) { >> @@ -1238,19 +1239,27 @@ vubr_new(const char *path) >> un.sun_family = AF_UNIX; >> strcpy(un.sun_path, path); >> len = sizeof(un.sun_family) + strlen(path); >> - unlink(path); >> >> - if (bind(dev->sock, (struct sockaddr *) &un, len) == -1) { >> - vubr_die("bind"); >> - } >> + if (!client) { >> + unlink(path); >> + >> + if (bind(dev->sock, (struct sockaddr *) &un, len) == -1) { >> + vubr_die("bind"); >> + } >> >> - if (listen(dev->sock, 1) == -1) { >> - vubr_die("listen"); >> + if (listen(dev->sock, 1) == -1) { >> + vubr_die("listen"); >> + } >> + cb = vubr_accept_cb; >> + } else { >> + if (connect(dev->sock, (struct sockaddr *)&un, len) == -1) { >> + vubr_die("connect"); >> + } >> + cb = vubr_receive_cb; >> } >> >> dispatcher_init(&dev->dispatcher); >> - dispatcher_add(&dev->dispatcher, dev->sock, (void *)dev, >> - vubr_accept_cb); >> + dispatcher_add(&dev->dispatcher, dev->sock, (void *)dev, cb); >> >> DPRINT("Waiting for connections on UNIX socket %s ...\n", path); > > I think this message should be issued only for server mode. That should improve this patch: } diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c index 38963e4..36b3cd8 100644 --- a/tests/vhost-user-bridge.c +++ b/tests/vhost-user-bridge.c @@ -1258,6 +1258,8 @@ vubr_new(const char *path, bool client) vubr_die("listen"); } cb = vubr_accept_cb; + + DPRINT("Waiting for connections on UNIX socket %s ...\n", path); } else { if (connect(dev->sock, (struct sockaddr *)&un, len) == -1) { vubr_die("connect"); @@ -1268,7 +1270,6 @@ vubr_new(const char *path, bool client) dispatcher_init(&dev->dispatcher); dispatcher_add(&dev->dispatcher, dev->sock, (void *)dev, cb); - DPRINT("Waiting for connections on UNIX socket %s ...\n", path); return dev; } @@ -1427,13 +1428,14 @@ main(int argc, char *argv[]) out: fprintf(stderr, "Usage: %s ", argv[0]); - fprintf(stderr, "[-u ud_socket_path] [-l lhost:lport] [-r rhost:rport]\n"); + fprintf(stderr, "[-c] [-u ud_socket_path] [-l lhost:lport] [-r rhost:rport]\n"); fprintf(stderr, "\t-u path to unix doman socket. default: %s\n", DEFAULT_UD_SOCKET); fprintf(stderr, "\t-l local host and port. default: %s:%s\n", DEFAULT_LHOST, DEFAULT_LPORT); fprintf(stderr, "\t-r remote host and port. default: %s:%s\n", DEFAULT_RHOST, DEFAULT_RPORT); + fprintf(stderr, "\t-c client mode\n"); return 1;