get:
Show a patch comment.

patch:
Update a patch comment.

put:
Update a patch comment.

GET /api/patches/139448/comments/169660/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 169660,
    "web_url": "http://patches.dpdk.org/comment/169660/",
    "msgid": "<fb623314-61e6-4d58-ab04-d7d1b036b3d7@redhat.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/fb623314-61e6-4d58-ab04-d7d1b036b3d7@redhat.com",
    "date": "2024-04-25T13:47:42",
    "subject": "Re: [PATCH v2] lib/vhost: add flag for async connection in client\n mode",
    "submitter": {
        "id": 512,
        "url": "http://patches.dpdk.org/api/people/512/?format=api",
        "name": "Maxime Coquelin",
        "email": "maxime.coquelin@redhat.com"
    },
    "content": "On 4/17/24 11:15, Ушков Даниил wrote:\n> This patch introduces a new flag RTE_VHOST_USER_ASYNC_CONNECT,\n> which in combination with the flag RTE_VHOST_USER_CLIENT makes\n> rte_vhost_driver_start connect asynchronously to the vhost server.\n> \n> Signed-off-by: Ушков Даниил <udav@mts.ru>\n> ---\n> Fixes:\n> 1. Fix warning about the name in signature.\n> 2. Fix warning about coding style.\n> \n> P.S.\n> Is it ok that name is not in ascii?\n\nI think it has to be, Thomas do you confirm?\n\n> Sorry, it could be hard to change it now.\n> \n>   lib/vhost/rte_vhost.h |  1 +\n>   lib/vhost/socket.c    | 28 ++++++++++++++++------------\n>   2 files changed, 17 insertions(+), 12 deletions(-)\n> \n> diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h\n> index db92f05344..b0434c4b8d 100644\n> --- a/lib/vhost/rte_vhost.h\n> +++ b/lib/vhost/rte_vhost.h\n> @@ -41,6 +41,7 @@ extern \"C\" {\n>   #define RTE_VHOST_USER_ASYNC_COPY\t(1ULL << 7)\n>   #define RTE_VHOST_USER_NET_COMPLIANT_OL_FLAGS\t(1ULL << 8)\n>   #define RTE_VHOST_USER_NET_STATS_ENABLE\t(1ULL << 9)\n> +#define RTE_VHOST_USER_ASYNC_CONNECT\t(1ULL << 10)\n>   \n>   /* Features. */\n>   #ifndef VIRTIO_NET_F_GUEST_ANNOUNCE\n> diff --git a/lib/vhost/socket.c b/lib/vhost/socket.c\n> index 96b3ab5595..c681d53abb 100644\n> --- a/lib/vhost/socket.c\n> +++ b/lib/vhost/socket.c\n> @@ -45,6 +45,7 @@ struct vhost_user_socket {\n>   \tbool async_copy;\n>   \tbool net_compliant_ol_flags;\n>   \tbool stats_enabled;\n> +\tbool async_connect;\n>   \n>   \t/*\n>   \t * The \"supported_features\" indicates the feature bits the\n> @@ -533,21 +534,23 @@ vhost_user_start_client(struct vhost_user_socket *vsocket)\n>   \tconst char *path = vsocket->path;\n>   \tstruct vhost_user_reconnect *reconn;\n>   \n> -\tret = vhost_user_connect_nonblock(vsocket->path, fd, (struct sockaddr *)&vsocket->un,\n> -\t\t\t\t\t  sizeof(vsocket->un));\n> -\tif (ret == 0) {\n> -\t\tvhost_user_add_connection(fd, vsocket);\n> -\t\treturn 0;\n> -\t}\n> +\tif (!vsocket->async_connect || !vsocket->reconnect) {\n> +\t\tret = vhost_user_connect_nonblock(vsocket->path, fd,\n> +\t\t\t(struct sockaddr *)&vsocket->un, sizeof(vsocket->un));\n> +\t\tif (ret == 0) {\n> +\t\t\tvhost_user_add_connection(fd, vsocket);\n> +\t\t\treturn 0;\n> +\t\t}\n>   \n> -\tVHOST_CONFIG_LOG(path, WARNING, \"failed to connect: %s\", strerror(errno));\n> +\t\tVHOST_CONFIG_LOG(path, WARNING, \"failed to connect: %s\", strerror(errno));\n>   \n> -\tif (ret == -2 || !vsocket->reconnect) {\n> -\t\tclose(fd);\n> -\t\treturn -1;\n> -\t}\n> +\t\tif (ret == -2 || !vsocket->reconnect) {\n> +\t\t\tclose(fd);\n> +\t\t\treturn -1;\n> +\t\t}\n>   \n> -\tVHOST_CONFIG_LOG(path, INFO, \"reconnecting...\");\n> +\t\tVHOST_CONFIG_LOG(path, INFO, \"reconnecting...\");\n> +\t}\n>   \treconn = malloc(sizeof(*reconn));\n>   \tif (reconn == NULL) {\n>   \t\tVHOST_CONFIG_LOG(path, ERR, \"failed to allocate memory for reconnect\");\n> @@ -930,6 +933,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags)\n>   \tvsocket->async_copy = flags & RTE_VHOST_USER_ASYNC_COPY;\n>   \tvsocket->net_compliant_ol_flags = flags & RTE_VHOST_USER_NET_COMPLIANT_OL_FLAGS;\n>   \tvsocket->stats_enabled = flags & RTE_VHOST_USER_NET_STATS_ENABLE;\n> +\tvsocket->async_connect = flags & RTE_VHOST_USER_ASYNC_CONNECT;\n>   \tif (vsocket->is_vduse)\n>   \t\tvsocket->iommu_support = true;\n>   \telse",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 60B9B43F01;\n\tThu, 25 Apr 2024 15:47:50 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3B436435F4;\n\tThu, 25 Apr 2024 15:47:50 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.133.124])\n by mails.dpdk.org (Postfix) with ESMTP id 09A2140284\n for <dev@dpdk.org>; Thu, 25 Apr 2024 15:47:48 +0200 (CEST)",
            "from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])\n by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-484-aHjFLQvWMlSeYJbNyWDaCg-1; Thu,\n 25 Apr 2024 09:47:45 -0400",
            "from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com\n [10.11.54.9])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 873871C3F0EE;\n Thu, 25 Apr 2024 13:47:44 +0000 (UTC)",
            "from [10.39.208.23] (unknown [10.39.208.23])\n by smtp.corp.redhat.com (Postfix) with ESMTPS id 95CAB5C5CC2;\n Thu, 25 Apr 2024 13:47:43 +0000 (UTC)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1714052868;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=22TDrZowjd2BNHV0taVYC2S0NXVUPKMizI6BqkMpq7E=;\n b=bztb1BqoifXKiZkb3eoI50rYKLXTnfd8hEDtOZIAHUz7rBADXEU6l1ARDltsR2rg0TzjlF\n 3s/n1KtQhAOH5hnNMwojpqRUHRU4CTMjpfyrkU4RcY6Q2GdEoar/uR9CCOdZO07sudGMzM\n Lnqk+wSaukmCsA+f1N/T88ZAxFO7X0k=",
        "X-MC-Unique": "aHjFLQvWMlSeYJbNyWDaCg-1",
        "Message-ID": "<fb623314-61e6-4d58-ab04-d7d1b036b3d7@redhat.com>",
        "Date": "Thu, 25 Apr 2024 15:47:42 +0200",
        "MIME-Version": "1.0",
        "User-Agent": "Mozilla Thunderbird",
        "Subject": "Re: [PATCH v2] lib/vhost: add flag for async connection in client\n mode",
        "To": "=?utf-8?b?0KPRiNC60L7QsiDQlNCw0L3QuNC40Ls=?= <udav@mts.ru>,\n \"dev@dpdk.org\" <dev@dpdk.org>, Thomas Monjalon <thomas@monjalon.net>",
        "Cc": "Chenbo Xia <chenbox@nvidia.com>",
        "References": "<20240417083835.164456-1-udav@mts.ru>\n <20240417091250.187218-1-udav@mts.ru>",
        "From": "Maxime Coquelin <maxime.coquelin@redhat.com>",
        "Autocrypt": "addr=maxime.coquelin@redhat.com; keydata=\n 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\n Mwqu3GQ=",
        "In-Reply-To": "<20240417091250.187218-1-udav@mts.ru>",
        "X-Scanned-By": "MIMEDefang 3.4.1 on 10.11.54.9",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Language": "en-US",
        "Content-Type": "text/plain; charset=UTF-8; format=flowed",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "addressed": null
}