From nobody Sun Feb 8 05:07:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 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=1556627966; cv=none; d=zoho.com; s=zohoarc; b=dwck4Evo1uPiFVpvlF4eFW/CznQRL1NOFzFZXE2k/xh6/TdVb9xalLXozZR138XksAIai0b1r2bGZ8mie3Pm2RcPQ2dAapeRZdi447iUI7CKRWHBpBveXQeLfqnxQxLMxMxj5w+qKOr842t4qA0PxsgXCJV6x8EYCsbobvKAIBA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1556627966; h=Content-Type:Content-Transfer-Encoding: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:ARC-Authentication-Results; bh=qSwXFu8a5TxWI/fosn/2G4G6iQ0vePqOsfVyzEg0MKE=; b=K/VbWC7BCCzYkmra/v4DaRL0Bl3ZyGRhUIbr23IsmUABtFMdzOxvOi/A6OBxcZbUJBnTGdnmU7FuNF1Lr4I6eeCZ+L3f2BGEE3KcDGGAroX9Uxysc4FwcEQCIJh0ANmCR11gGl2OmkTA0G5TaC4ahyux9XBAN0V4DeSEUho8xqA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1556627966734670.6008197071451; Tue, 30 Apr 2019 05:39:26 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8F2B181E14; Tue, 30 Apr 2019 12:39:24 +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 694CF78DEC; Tue, 30 Apr 2019 12:39:24 +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 2B1D918089D3; Tue, 30 Apr 2019 12:39:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x3UCaxXC001375 for ; Tue, 30 Apr 2019 08:36:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id CD5066D0BE; Tue, 30 Apr 2019 12:36:59 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.22.189]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5F5006DA87; Tue, 30 Apr 2019 12:36:57 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Tue, 30 Apr 2019 13:36:47 +0100 Message-Id: <20190430123647.31155-3-berrange@redhat.com> In-Reply-To: <20190430123647.31155-1-berrange@redhat.com> References: <20190430123647.31155-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/2] Revert "network: use 'bridge' as actual type instead of 'network'" 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: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Tue, 30 Apr 2019 12:39:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This caused the live XML to report the 'bridge' type instead of the 'network' type, which is a behavioural regression. It also breaks 'virsh domif-setlink', 'virsh update-device' and 'virsh domiftune' This reverts commit 518026e15959ab0e19b659a9f2ff502a54946498. --- src/conf/domain_conf.c | 33 +++---------------- src/network/bridge_driver.c | 11 +++++-- src/qemu/qemu_driver.c | 2 +- .../disk-secinfo-upgrade-out.xml | 2 +- .../migration-in-params-in.xml | 2 +- .../migration-out-nbd-out.xml | 2 +- .../migration-out-nbd-tls-out.xml | 2 +- .../migration-out-params-in.xml | 2 +- tests/qemustatusxml2xmldata/modern-in.xml | 2 +- 9 files changed, 20 insertions(+), 38 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6331424635..b4fb6cf981 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5128,19 +5128,6 @@ virDomainNetDefPostParse(virDomainNetDefPtr net) return -1; } =20 - /* Older libvirtd uses actualType=3D=3Dnetwork, but we now - * just use actualType=3D=3Dbridge, as nothing needs to - * distinguish the two cases, and this simplifies virt - * drive code */ - if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK && - net->data.network.actual !=3D NULL && - net->data.network.actual->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK)= { - char mac[VIR_MAC_STRING_BUFLEN]; - virMacAddrFormat(&net->mac, mac); - VIR_DEBUG("Updating NIC %s actual type to bridge", mac); - net->data.network.actual->type =3D VIR_DOMAIN_NET_TYPE_BRIDGE; - } - return 0; } =20 @@ -11281,21 +11268,11 @@ virDomainActualNetDefParseXML(xmlNodePtr node, } =20 bandwidth_node =3D virXPathNode("./bandwidth", ctxt); - if (bandwidth_node) { - /* type =3D=3D NETWORK is legacy config, converted to BRIDGE - * in post-parse function, but this code runs before - * post-parse logic, so we must account for configs still - * using legacy type =3D=3D NETWORK - */ - bool allowFloor =3D - (actual->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK) || - (actual->type =3D=3D VIR_DOMAIN_NET_TYPE_BRIDGE && - actual->data.bridge.brname !=3D NULL); - if (virNetDevBandwidthParse(&actual->bandwidth, - bandwidth_node, - allowFloor) < 0) - goto error; - } + if (bandwidth_node && + virNetDevBandwidthParse(&actual->bandwidth, + bandwidth_node, + actual->type =3D=3D VIR_DOMAIN_NET_TYPE_NE= TWORK) < 0) + goto error; =20 vlanNode =3D virXPathNode("./vlan", ctxt); if (vlanNode && virNetDevVlanParse(vlanNode, ctxt, &actual->vlan) < 0) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 77206b4584..26f7f80418 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -4489,7 +4489,11 @@ networkAllocateActualDevice(virNetworkPtr net, case VIR_NETWORK_FORWARD_NAT: case VIR_NETWORK_FORWARD_ROUTE: case VIR_NETWORK_FORWARD_OPEN: - iface->data.network.actual->type =3D VIR_DOMAIN_NET_TYPE_BRIDGE; + /* for these forward types, the actual net type really *is* + * NETWORK; we just keep the info from the portgroup in + * iface->data.network.actual + */ + iface->data.network.actual->type =3D VIR_DOMAIN_NET_TYPE_NETWORK; =20 /* we also store the bridge device and macTableManager settings * in iface->data.network.actual->data.bridge for later use @@ -5433,8 +5437,9 @@ networkBandwidthGenericChecks(virDomainNetDefPtr ifac= e, virNetDevBandwidthPtr ifaceBand; unsigned long long old_floor, new_floor; =20 - if (virDomainNetGetActualType(iface) !=3D VIR_DOMAIN_NET_TYPE_BRIDGE || - iface->data.network.actual->data.bridge.brname =3D=3D NULL) { + if (virDomainNetGetActualType(iface) !=3D VIR_DOMAIN_NET_TYPE_NETWORK = && + (virDomainNetGetActualType(iface) !=3D VIR_DOMAIN_NET_TYPE_BRIDGE = || + iface->data.network.actual->data.bridge.brname =3D=3D NULL)) { /* This is not an interface that's plugged into a network. * We don't care. Thus from our POV bandwidth change is allowed. */ return false; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c072bed1ce..b2ac737d1f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4567,7 +4567,7 @@ processNicRxFilterChangedEvent(virQEMUDriverPtr drive= r, syncNicRxFilterDeviceOptions(def->ifname, guestFilter, hostFilter); } =20 - if (virDomainNetGetActualType(def) =3D=3D VIR_DOMAIN_NET_TYPE_BRIDGE) { + if (virDomainNetGetActualType(def) =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK)= { const char *brname =3D virDomainNetGetActualBridgeName(def); =20 /* For libivrt network connections, set the following TUN/TAP netw= ork diff --git a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml b/tes= ts/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml index 2ff4e5249c..7a26e93aa4 100644 --- a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml +++ b/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml @@ -458,7 +458,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/migration-in-params-in.xml b/tests= /qemustatusxml2xmldata/migration-in-params-in.xml index 2d72050782..03f18b4f3d 100644 --- a/tests/qemustatusxml2xmldata/migration-in-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-in-params-in.xml @@ -329,7 +329,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml b/tests/= qemustatusxml2xmldata/migration-out-nbd-out.xml index b7b03c380a..315d8e4c1a 100644 --- a/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml +++ b/tests/qemustatusxml2xmldata/migration-out-nbd-out.xml @@ -370,7 +370,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml b/te= sts/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml index ec79ef7304..869f37d488 100644 --- a/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml +++ b/tests/qemustatusxml2xmldata/migration-out-nbd-tls-out.xml @@ -407,7 +407,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/migration-out-params-in.xml b/test= s/qemustatusxml2xmldata/migration-out-params-in.xml index cdcde09fe8..ae2064830a 100644 --- a/tests/qemustatusxml2xmldata/migration-out-params-in.xml +++ b/tests/qemustatusxml2xmldata/migration-out-params-in.xml @@ -343,7 +343,7 @@ - + diff --git a/tests/qemustatusxml2xmldata/modern-in.xml b/tests/qemustatusxm= l2xmldata/modern-in.xml index f0afbff3c4..08f7f40761 100644 --- a/tests/qemustatusxml2xmldata/modern-in.xml +++ b/tests/qemustatusxml2xmldata/modern-in.xml @@ -390,7 +390,7 @@ - + --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list