From nobody Mon Apr 29 08:33:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1575610631; cv=none; d=zohomail.com; s=zohoarc; b=ipWeGmLdmyAq28ENf8dSJc+oM3EnVjtE7pf4aBxgGBTB5HWzabWoj9zx7Hbh2bJBHqT/zfZFFeJvN242zB8BVk7enZPdxxIiZIog+SBKFhfWHiEBMbUyuyItXBbDP88EYns9mJJhOwg7Czssp+/BKeEf4cFH5QEx8P8kxZ0ez3A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575610631; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7rktF2McdIhACS7yic5Q860CdP7tQi4QMzdfdWiftPY=; b=Pb+7voWTyGeIgnTr5LuaVqkBl81y5/DGxTPX9OYDENd66YNNxou3CHJ7zDq9gJseDrKUTOLx9ab/Zb6dwcXzLxQLEcB9eALlPYbnNSWqB4+6xak5qztgJZPnXQg+f3HOVCrZBEYU9SK8ZAdUi1zD2tVa54CzLE2t9l9vsOxz7Mk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1575610631314169.7970116161481; Thu, 5 Dec 2019 21:37:11 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-371-mdwV3RrkPQaDQx9j0Uniuw-1; Fri, 06 Dec 2019 00:37:07 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 986F2100726A; Fri, 6 Dec 2019 05:37:02 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 71A855D6BB; Fri, 6 Dec 2019 05:37:02 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 2A5D965D35; Fri, 6 Dec 2019 05:37:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xB65anpo013535 for ; Fri, 6 Dec 2019 00:36:49 -0500 Received: by smtp.corp.redhat.com (Postfix) id 76A6760FCC; Fri, 6 Dec 2019 05:36:49 +0000 (UTC) Received: from thuth.com (ovpn-116-97.ams2.redhat.com [10.36.116.97]) by smtp.corp.redhat.com (Postfix) with ESMTP id 11FC560FC1; Fri, 6 Dec 2019 05:36:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575610630; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=7rktF2McdIhACS7yic5Q860CdP7tQi4QMzdfdWiftPY=; b=D+kO582sWr5jzHLS/3UMDMw1LbG+uzva8xwsx2do12w42NSLKx02iMJmqDMKm9vPGJUOHM jKxPZY2JdQsPAL1nuqv5jwtPwoW+HH0xxUu6OhI4FqiKkiqIjbybbGfQGRhMtPlxmDgEEo BS4I0Qglm05VViG5uhQBu2z6ljo9Jts= From: Thomas Huth To: qemu-devel@nongnu.org, Jason Wang , Eric Blake , Markus Armbruster Date: Fri, 6 Dec 2019 06:36:39 +0100 Message-Id: <20191206053640.29368-2-thuth@redhat.com> In-Reply-To: <20191206053640.29368-1-thuth@redhat.com> References: <20191206053640.29368-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/2] net: Drop the legacy "name" parameter from the -net option X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: mdwV3RrkPQaDQx9j0Uniuw-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" It's been deprecated since QEMU v3.1, so it's time to finally remove it. The "id" parameter can simply be used instead. Signed-off-by: Thomas Huth Reviewed-by: Eric Blake --- net/net.c | 10 +--------- qapi/net.json | 4 +--- qemu-deprecated.texi | 12 +++++++----- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/net/net.c b/net/net.c index 84aa6d8d00..ee4a76eb3e 100644 --- a/net/net.c +++ b/net/net.c @@ -969,12 +969,10 @@ static int net_client_init1(const void *object, bool = is_netdev, Error **errp) { Netdev legacy =3D {0}; const Netdev *netdev; - const char *name; NetClientState *peer =3D NULL; =20 if (is_netdev) { netdev =3D object; - name =3D netdev->id; =20 if (netdev->type =3D=3D NET_CLIENT_DRIVER_NIC || !net_client_init_fun[netdev->type]) { @@ -987,12 +985,6 @@ static int net_client_init1(const void *object, bool i= s_netdev, Error **errp) const NetLegacyOptions *opts =3D net->opts; legacy.id =3D net->id; netdev =3D &legacy; - /* missing optional values have been initialized to "all bits zero= " */ - name =3D net->has_id ? net->id : net->name; - - if (net->has_name) { - warn_report("The 'name' parameter is deprecated, use 'id' inst= ead"); - } =20 /* Map the old options to the new flat type */ switch (opts->type) { @@ -1052,7 +1044,7 @@ static int net_client_init1(const void *object, bool = is_netdev, Error **errp) } } =20 - if (net_client_init_fun[netdev->type](netdev, name, peer, errp) < 0) { + if (net_client_init_fun[netdev->type](netdev, netdev->id, peer, errp) = < 0) { /* FIXME drop when all init functions store an Error */ if (errp && !*errp) { error_setg(errp, QERR_DEVICE_INIT_FAILED, diff --git a/qapi/net.json b/qapi/net.json index 335295be50..ff280ccd16 100644 --- a/qapi/net.json +++ b/qapi/net.json @@ -488,18 +488,16 @@ # # @id: identifier for monitor commands # -# @name: identifier for monitor commands, ignored if @id is present -# # @opts: device type specific properties (legacy) # # Since: 1.2 # # 'vlan': dropped in 3.0 +# 'name': dropped in 5.0 ## { 'struct': 'NetLegacy', 'data': { '*id': 'str', - '*name': 'str', 'opts': 'NetLegacyOptions' } } =20 ## diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi index 2850f9a520..2f9efb45ba 100644 --- a/qemu-deprecated.texi +++ b/qemu-deprecated.texi @@ -42,11 +42,6 @@ The 'file' driver for drives is no longer appropriate fo= r character or host devices and will only accept regular files (S_IFREG). The correct driver for these file types is 'host_cdrom' or 'host_device' as appropriate. =20 -@subsection -net ...,name=3D@var{name} (since 3.1) - -The @option{name} parameter of the @option{-net} option is a synonym -for the @option{id} parameter, which should now be used instead. - @subsection -smp (invalid topologies) (since 3.1) =20 CPU topology properties should describe whole machine topology including @@ -371,6 +366,13 @@ What follows is a record of recently removed, formerly= deprecated features that serves as a record for users who have encountered trouble after a recent upgrade. =20 +@section System emulator command line arguments + +@subsection -net ...,name=3D@var{name} (removed in 5.0) + +The @option{name} parameter of the @option{-net} option was a synonym +for the @option{id} parameter, which should now be used instead. + @section Human Monitor Protocol (HMP) commands =20 @subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (remo= ved in 5.0) --=20 2.18.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Mon Apr 29 08:33:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1575610624; cv=none; d=zohomail.com; s=zohoarc; b=AwMy5jVgm2NXzTrVlf+lp1544yvgO9a1+MFlJxy5L1YsGTIp8+C2sj7po48HUxRnDYYPrml4b5YSB2g605KqhsIyxbz+k+/nZC3wxlAhd54NoN2M4TXFwmbprPgN2BDxZ58hLYtZQlCTLo2GNSKxgIHSuMxA45xAHnwobTZM3Ac= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1575610624; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zu3NGnLSOK8kGKWFNzixbkVKnxxKXHwH7FAUgNf8VOA=; b=j3U6tNSCXXFdncWcgW8tFHpFVUtN8IRlnRN+KRbcCptJURExuU6Zwm+9K/7wh/re8s1deVwLNswUJv3B0/sTOU/9DVZ8RDfa7PmDdtNcXgysKUjuGRuvUiqij3wAjq8ta5WHZExM2rBB1/cQahbdnk0hBzS1i4uQvB2hHEa8FpI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1575610624564975.941772990871; Thu, 5 Dec 2019 21:37:04 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-246-tL0oSWSaOdirqwq-Z4Ibew-1; Fri, 06 Dec 2019 00:37:00 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B140318036B0; Fri, 6 Dec 2019 05:36:55 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6987C5D6A3; Fri, 6 Dec 2019 05:36:54 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 733CF18089CF; Fri, 6 Dec 2019 05:36:53 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xB65ap6n013544 for ; Fri, 6 Dec 2019 00:36:51 -0500 Received: by smtp.corp.redhat.com (Postfix) id 5B2CE60FC5; Fri, 6 Dec 2019 05:36:51 +0000 (UTC) Received: from thuth.com (ovpn-116-97.ams2.redhat.com [10.36.116.97]) by smtp.corp.redhat.com (Postfix) with ESMTP id E06BD60FC4; Fri, 6 Dec 2019 05:36:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1575610623; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=zu3NGnLSOK8kGKWFNzixbkVKnxxKXHwH7FAUgNf8VOA=; b=LV5P+4qZ5kUy0Vj5rC2Qj49nbRT638hPi1XS6H7XQHskxdu0ApNwk+BLV+cxzApZu48Hg8 gZXCfaivopm0JWyD5ce+7Ejnh2Z41JUKqRybRynUwlOEpWC+DY8fiGQb25J26KBEhGOVHV 5vI6ozPXDsW2wBTFn7plLVlQvdj0w+Q= From: Thomas Huth To: qemu-devel@nongnu.org, Jason Wang , Eric Blake , Markus Armbruster Date: Fri, 6 Dec 2019 06:36:40 +0100 Message-Id: <20191206053640.29368-3-thuth@redhat.com> In-Reply-To: <20191206053640.29368-1-thuth@redhat.com> References: <20191206053640.29368-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/2] net: Drop the NetLegacy structure, always use Netdev instead X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-MC-Unique: tL0oSWSaOdirqwq-Z4Ibew-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Now that the "name" parameter is gone, there is hardly any difference between NetLegacy and Netdev anymore. Drop NetLegacy and always use Netdev to simplify the code quite a bit. Signed-off-by: Thomas Huth --- net/net.c | 74 ++++++++------------------------------------------- qapi/net.json | 51 +---------------------------------- 2 files changed, 12 insertions(+), 113 deletions(-) diff --git a/net/net.c b/net/net.c index ee4a76eb3e..cfe524b4d1 100644 --- a/net/net.c +++ b/net/net.c @@ -967,13 +967,14 @@ static int (* const net_client_init_fun[NET_CLIENT_DR= IVER__MAX])( =20 static int net_client_init1(const void *object, bool is_netdev, Error **er= rp) { - Netdev legacy =3D {0}; - const Netdev *netdev; + const Netdev *netdev =3D object; NetClientState *peer =3D NULL; =20 if (is_netdev) { - netdev =3D object; - + if (!netdev->has_id) { + error_setg(errp, QERR_MISSING_PARAMETER, "id"); + return -1; + } if (netdev->type =3D=3D NET_CLIENT_DRIVER_NIC || !net_client_init_fun[netdev->type]) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "type", @@ -981,56 +982,11 @@ static int net_client_init1(const void *object, bool = is_netdev, Error **errp) return -1; } } else { - const NetLegacy *net =3D object; - const NetLegacyOptions *opts =3D net->opts; - legacy.id =3D net->id; - netdev =3D &legacy; - - /* Map the old options to the new flat type */ - switch (opts->type) { - case NET_LEGACY_OPTIONS_TYPE_NONE: + if (netdev->type =3D=3D NET_CLIENT_DRIVER_NONE) { return 0; /* nothing to do */ - case NET_LEGACY_OPTIONS_TYPE_NIC: - legacy.type =3D NET_CLIENT_DRIVER_NIC; - legacy.u.nic =3D opts->u.nic; - break; - case NET_LEGACY_OPTIONS_TYPE_USER: - legacy.type =3D NET_CLIENT_DRIVER_USER; - legacy.u.user =3D opts->u.user; - break; - case NET_LEGACY_OPTIONS_TYPE_TAP: - legacy.type =3D NET_CLIENT_DRIVER_TAP; - legacy.u.tap =3D opts->u.tap; - break; - case NET_LEGACY_OPTIONS_TYPE_L2TPV3: - legacy.type =3D NET_CLIENT_DRIVER_L2TPV3; - legacy.u.l2tpv3 =3D opts->u.l2tpv3; - break; - case NET_LEGACY_OPTIONS_TYPE_SOCKET: - legacy.type =3D NET_CLIENT_DRIVER_SOCKET; - legacy.u.socket =3D opts->u.socket; - break; - case NET_LEGACY_OPTIONS_TYPE_VDE: - legacy.type =3D NET_CLIENT_DRIVER_VDE; - legacy.u.vde =3D opts->u.vde; - break; - case NET_LEGACY_OPTIONS_TYPE_BRIDGE: - legacy.type =3D NET_CLIENT_DRIVER_BRIDGE; - legacy.u.bridge =3D opts->u.bridge; - break; - case NET_LEGACY_OPTIONS_TYPE_NETMAP: - legacy.type =3D NET_CLIENT_DRIVER_NETMAP; - legacy.u.netmap =3D opts->u.netmap; - break; - case NET_LEGACY_OPTIONS_TYPE_VHOST_USER: - legacy.type =3D NET_CLIENT_DRIVER_VHOST_USER; - legacy.u.vhost_user =3D opts->u.vhost_user; - break; - default: - abort(); } - - if (!net_client_init_fun[netdev->type]) { + if (netdev->type =3D=3D NET_CLIENT_DRIVER_HUBPORT || + !net_client_init_fun[netdev->type]) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "type", "a net backend type (maybe it is not compiled " "into this binary)"); @@ -1039,7 +995,7 @@ static int net_client_init1(const void *object, bool i= s_netdev, Error **errp) =20 /* Do not add to a hub if it's a nic with a netdev=3D parameter. */ if (netdev->type !=3D NET_CLIENT_DRIVER_NIC || - !opts->u.nic.has_netdev) { + !netdev->u.nic.has_netdev) { peer =3D net_hub_add_port(0, NULL, NULL); } } @@ -1137,21 +1093,13 @@ static int net_client_init(QemuOpts *opts, bool is_= netdev, Error **errp) } } =20 - if (is_netdev) { - visit_type_Netdev(v, NULL, (Netdev **)&object, &err); - } else { - visit_type_NetLegacy(v, NULL, (NetLegacy **)&object, &err); - } + visit_type_Netdev(v, NULL, (Netdev **)&object, &err); =20 if (!err) { ret =3D net_client_init1(object, is_netdev, &err); } =20 - if (is_netdev) { - qapi_free_Netdev(object); - } else { - qapi_free_NetLegacy(object); - } + qapi_free_Netdev(object); =20 out: error_propagate(errp, err); diff --git a/qapi/net.json b/qapi/net.json index ff280ccd16..fcf693924e 100644 --- a/qapi/net.json +++ b/qapi/net.json @@ -467,7 +467,7 @@ # 'l2tpv3' - since 2.1 ## { 'union': 'Netdev', - 'base': { 'id': 'str', 'type': 'NetClientDriver' }, + 'base': { '*id': 'str', 'type': 'NetClientDriver' }, 'discriminator': 'type', 'data': { 'nic': 'NetLegacyNicOptions', @@ -481,55 +481,6 @@ 'netmap': 'NetdevNetmapOptions', 'vhost-user': 'NetdevVhostUserOptions' } } =20 -## -# @NetLegacy: -# -# Captures the configuration of a network device; legacy. -# -# @id: identifier for monitor commands -# -# @opts: device type specific properties (legacy) -# -# Since: 1.2 -# -# 'vlan': dropped in 3.0 -# 'name': dropped in 5.0 -## -{ 'struct': 'NetLegacy', - 'data': { - '*id': 'str', - 'opts': 'NetLegacyOptions' } } - -## -# @NetLegacyOptionsType: -# -# Since: 1.2 -## -{ 'enum': 'NetLegacyOptionsType', - 'data': ['none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde', - 'bridge', 'netmap', 'vhost-user'] } - -## -# @NetLegacyOptions: -# -# Like Netdev, but for use only by the legacy command line options -# -# Since: 1.2 -## -{ 'union': 'NetLegacyOptions', - 'base': { 'type': 'NetLegacyOptionsType' }, - 'discriminator': 'type', - 'data': { - 'nic': 'NetLegacyNicOptions', - 'user': 'NetdevUserOptions', - 'tap': 'NetdevTapOptions', - 'l2tpv3': 'NetdevL2TPv3Options', - 'socket': 'NetdevSocketOptions', - 'vde': 'NetdevVdeOptions', - 'bridge': 'NetdevBridgeOptions', - 'netmap': 'NetdevNetmapOptions', - 'vhost-user': 'NetdevVhostUserOptions' } } - ## # @NetFilterDirection: # --=20 2.18.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list