From nobody Fri May 17 07:47:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 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=1660050852; cv=none; d=zohomail.com; s=zohoarc; b=V3k4ev27EfapJMXnwL2/zgsqyUJzL3oeAQdJkBFuQ5oEa6ihmp2s6Ucos3mi+wZQbnIx8EEf2AOzOgH0CLW19/+yk6X98eExFYzIhy6vz9qVFCnAgLWqfQRNKVnqLOTy2tnaLMvRDr8ew5BYY228qiJcx9Cg/fwtAX/YPRAL628= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660050852; 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; bh=/IxGmcVAq1wlJq5/92GJYZEY1wUqByr6WFzyXFFKPfc=; b=QixG6z/Lp60NGGGQpEFZUPGm6sQBsZT4I+nuRmehWGfLzbusdHXtl0/l1ukxmInHOUBeTqXvRBXpdGml4vsatTZGiIwx/BEqH4Owgydfb8UbSBl3F4ZN2T2NyqQLYIcUZtPPm/QoEljRHHcW2hnV13bEetk/wuiUsZ836GAi8LE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1660050852540259.4595096074635; Tue, 9 Aug 2022 06:14:12 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-623-Z_D3TcRMNJKmnu8vcir-eA-1; Tue, 09 Aug 2022 09:14:06 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7D2E982406E; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 638492166B26; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E24D51946A69; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 198661946A41 for ; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 04BC2400DFA6; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id A4AEA40CFD0A for ; Tue, 9 Aug 2022 13:13:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660050851; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=/IxGmcVAq1wlJq5/92GJYZEY1wUqByr6WFzyXFFKPfc=; b=gkG3KRQ9xshCxVCe6S80F1zjuxjwgN1Naswui8HKiNrd5lX4RmDpKikvk2lbG5PInSUg+S ssy84GkYt2zEZlQ5Hq/7hzW+lel+eeeHH88qFKziIcoZuf1gr4PAeLt+2C1curXcy7yHKp +85G1v5xmIsqDQeGqK++cunDox91JDk= X-MC-Unique: Z_D3TcRMNJKmnu8vcir-eA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 1/5] bridge_driver: Set @dnsmasqStarted only after successful dnsmasq spawn Date: Tue, 9 Aug 2022 15:13:53 +0200 Message-Id: <0629f482c143b7de0d66c15b00ca19131be897f5.1660050814.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1660050853475100001 Content-Type: text/plain; charset="utf-8"; x-default="true" The networkStartNetworkVirtual() function handles starting of networks of different forward types (none, nat, route, open). And as a part of startup process dnsmasq might be spawned but doesn't have to be (depending on the network configuration). The @dnsmasqStarted variable is supposed to track whether dnsmasq was started or not (so that it can be killed when starting network fails after it was started). But the variable is set even when the code decided not to start it. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 11696a9459..7ad9f278a2 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -2052,11 +2052,12 @@ networkStartNetworkVirtual(virNetworkDriverState *d= river, =20 =20 /* start dnsmasq if there are any IP addresses (v4 or v6) */ - if ((v4present || v6present) && - networkStartDhcpDaemon(driver, obj) < 0) - goto error; + if (v4present || v6present) { + if (networkStartDhcpDaemon(driver, obj) < 0) + goto error; =20 - dnsmasqStarted =3D true; + dnsmasqStarted =3D true; + } =20 if (virNetDevBandwidthSet(def->bridge, def->bandwidth, true, true) < 0) goto error; --=20 2.35.1 From nobody Fri May 17 07:47:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1660050932; cv=none; d=zohomail.com; s=zohoarc; b=UdRF2oP/PhuJlFrpLNQ3iJOunVEqksK2jGj8x+7eFRh3PL8x2lxXCpYAodjnRC9CnfdQ5wILLONHS98DvUsWSwCkDrnNBM73dIEdDb2VD42EdiD+D3xIuCtvlnMc38l9hdKDP6LGfUoP5JJF5bkY+J8SFP9CWzCgYxeopCTGc2Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660050932; 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; bh=KQRU9XtLXjkauOtxzgNp1BMSWB4GWxRIIvlp+5ZexaQ=; b=Zwlc8j4Bpx7PUnDtm89AWjROalM5zR6dptAuwFeBv7GMhLTZnIlhbmxq5YyNm45mLO69UXC4WOkh5rHYPQBUIV9DMx0i1a0awawUgdhY6fbg0bWC9EbH/WDxNgJ/dbJeRQP1Q43l4fiDEQMGfxpkuaQZHn/nduhvQ8PixAU78uk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1660050932726197.7597387823596; Tue, 9 Aug 2022 06:15:32 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-414-P9KidmJ6P--sGrajcVCYsw-1; Tue, 09 Aug 2022 09:14:09 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id ECED21C01B5D; Tue, 9 Aug 2022 13:14:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id DA88A1121314; Tue, 9 Aug 2022 13:14:02 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 8C2AE1946A52; Tue, 9 Aug 2022 13:14:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C319E1946A5A for ; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 8F37A40CFD0A; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3AF3640CF8EB for ; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660050930; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=KQRU9XtLXjkauOtxzgNp1BMSWB4GWxRIIvlp+5ZexaQ=; b=W55L6lLB05VaoaunF9hVlL1jRFC52WmTWlBlsHzox73yuoJS7LnQjoAbMp/uR1j3aAEAz8 CgQZrdYSiZSVnqsQDU8S1PNPMEX7wPS6MCVGn+w6f1j/jVkDXjtRx8+vCuo4nXbL1iwAno 0s6XpPgbheItqQcNx3csgVyubPgy660= X-MC-Unique: P9KidmJ6P--sGrajcVCYsw-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 2/5] bridge_driver: Use g_autoptr() for virMacMap Date: Tue, 9 Aug 2022 15:13:54 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1660050933952100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Let's annotate virMacMap variables in bridge_driver.c with g_autoptr() so that they are automatically freed upon error. This may look like a needless commit, since there's no memory leak currently, but it simplifies the next commit. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 7ad9f278a2..a07af55390 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -450,7 +450,7 @@ networkUpdateState(virNetworkObj *obj, virNetworkDef *def; virNetworkDriverState *driver =3D opaque; g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); - virMacMap *macmap; + g_autoptr(virMacMap) macmap =3D NULL; g_autofree char *macMapFile =3D NULL; VIR_LOCK_GUARD lock =3D virObjectLockGuard(obj); =20 @@ -476,6 +476,7 @@ networkUpdateState(virNetworkObj *obj, return -1; =20 virNetworkObjSetMacMap(obj, macmap); + macmap =3D NULL; =20 break; =20 @@ -1938,7 +1939,7 @@ networkStartNetworkVirtual(virNetworkDriverState *dri= ver, virErrorPtr save_err =3D NULL; virNetworkIPDef *ipdef; virNetDevIPRoute *routedef; - virMacMap *macmap; + g_autoptr(virMacMap) macmap =3D NULL; g_autofree char *macMapFile =3D NULL; bool dnsmasqStarted =3D false; bool devOnline =3D false; --=20 2.35.1 From nobody Fri May 17 07:47:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1660050925; cv=none; d=zohomail.com; s=zohoarc; b=oFStTh05vzEnKKV64obY/BvXYkejOyUdsR3dU0Fcs1jx1sJNqvX3Sna/1+nFxLIRK6bkCIwajD73b0KlaIdwQcqo2hMqmk9+VgM2mbpJQzg0+/1frNYBU4Seh5CNIFKyeVMnlKDvbRaU/+FkjbLsoQ2LLJ/PjgWAPdkIl2oCz/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660050925; 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; bh=oH8zXvqwjGeQSBR8uRzgsNlwZwI1IUMCgLW6jYUm01Y=; b=irRXzD0HOn/NrBvbf0Re0dhWD5gTcBsTm99wsrXQRAI2+QE3BJEuy0wj9OWutQKsVDeK+Y5laWYr3FxtI3nHqxXivxJL0wvBVdAeW8uJ9Q44rfW7LEnKpCI751qoR46vJCaWUW4/SCz9uWB3NJ3n/K4DBPoCDQqrNaMnhCapctc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1660050925648646.670198196296; Tue, 9 Aug 2022 06:15:25 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-318-olS25E-FN3ik9usZad7pug-1; Tue, 09 Aug 2022 09:14:09 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AC1A41035340; Tue, 9 Aug 2022 13:14:01 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9616B2166B26; Tue, 9 Aug 2022 13:14:01 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 3E3141946A4C; Tue, 9 Aug 2022 13:14:01 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 33A8D194F847 for ; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 25638402494D; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id C544140CF8EB for ; Tue, 9 Aug 2022 13:13:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660050923; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=oH8zXvqwjGeQSBR8uRzgsNlwZwI1IUMCgLW6jYUm01Y=; b=SwaPAs7GoYdgxoroRUpk3yJmBwZPwkGvB6hXENaZyupr12wGOt82ugc6c6bhhqX6gqbrVr t0emF6rtTX+ey6mxVUZy8cUBXvoUiNqcWODyTdr1NFXlN3kEuU8+Cf12s3tKEEn0Xtt+rR TlJOKr6e/Bhwo2gRgIsLs1qVlC53yWs= X-MC-Unique: olS25E-FN3ik9usZad7pug-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 3/5] virNetworkObjSetMacMap: take double pointer of @macmap Date: Tue, 9 Aug 2022 15:13:55 +0200 Message-Id: <0336092dc8c26e8baadf81a8ef8d2c59e1c2de0d.1660050814.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1660050925929100001 Content-Type: text/plain; charset="utf-8"; x-default="true" The virNetworkObjSetMacMap() API effectively steals passed @macmap argument. However, the argument is a plain, first order pointer. This requires every caller to set the argument to NULL after the function was called. Let's make the function take double pointer instead to make it obvious that the argument is consumed. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/conf/virnetworkobj.c | 4 ++-- src/conf/virnetworkobj.h | 2 +- src/network/bridge_driver.c | 6 ++---- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 46b499db58..cc3b93db6d 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -240,9 +240,9 @@ virNetworkObjSetFloorSum(virNetworkObj *obj, =20 void virNetworkObjSetMacMap(virNetworkObj *obj, - virMacMap *macmap) + virMacMap **macmap) { - obj->macmap =3D macmap; + obj->macmap =3D g_steal_pointer(macmap); } =20 =20 diff --git a/src/conf/virnetworkobj.h b/src/conf/virnetworkobj.h index fadd277cbd..7d34fa3204 100644 --- a/src/conf/virnetworkobj.h +++ b/src/conf/virnetworkobj.h @@ -78,7 +78,7 @@ virNetworkObjSetFloorSum(virNetworkObj *obj, =20 void virNetworkObjSetMacMap(virNetworkObj *obj, - virMacMap *macmap); + virMacMap **macmap); =20 void virNetworkObjUnrefMacMap(virNetworkObj *obj); diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index a07af55390..024487b359 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -475,8 +475,7 @@ networkUpdateState(virNetworkObj *obj, if (!(macmap =3D virMacMapNew(macMapFile))) return -1; =20 - virNetworkObjSetMacMap(obj, macmap); - macmap =3D NULL; + virNetworkObjSetMacMap(obj, &macmap); =20 break; =20 @@ -1972,8 +1971,7 @@ networkStartNetworkVirtual(virNetworkDriverState *dri= ver, !(macmap =3D virMacMapNew(macMapFile))) goto error; =20 - virNetworkObjSetMacMap(obj, macmap); - macmap =3D NULL; + virNetworkObjSetMacMap(obj, &macmap); =20 /* Set bridge options */ =20 --=20 2.35.1 From nobody Fri May 17 07:47:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1660050853; cv=none; d=zohomail.com; s=zohoarc; b=DYG+dlL2ZNL5U1N12BHg51HkA8BP55+Ak4tt2xW46/5jCxQJGEFIugEqsXV7MLGBHAe6gYqOYC58HTyJ/mQSdDDcIeM7j+iPBgakZinrqnt76dQw8ETrYZaQmT1dMFX0YBX7NboEja6Uu5oApFuiGOqd1PRfo8lqVAy5767aWHs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660050853; 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; bh=gdr8SR8PUvxGJtlJT1UWDYMdLtUlrJQCvndMuF2bSF0=; b=ltNHAYLVwWllj9EQrDdyh0Sng7TsAdFUzjVRe4dtB8bil7KMQH6TEITRPIe2+oMLpvrdSRZDHs2o3O6XWj/Y5nwCxg0+rgKVRLby3f2/yvHfjlSJKkJtFhoBnSFXtG0rE5SM945ZNZsyIsULgsDzbnXoqQqoFjD611YRCBJaW5M= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1660050853319994.2257235560879; Tue, 9 Aug 2022 06:14:13 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-628-uWgtogueOj2ka4KDbdvkhA-1; Tue, 09 Aug 2022 09:14:09 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A2AFF1035357; Tue, 9 Aug 2022 13:14:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8CC92C15BA6; Tue, 9 Aug 2022 13:14:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2E5F11946A5D; Tue, 9 Aug 2022 13:14:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id C38CE1946A41 for ; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id B3A9940CF8EB; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5F38940CFD0E for ; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660050852; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=gdr8SR8PUvxGJtlJT1UWDYMdLtUlrJQCvndMuF2bSF0=; b=JL5H8mQCHWhrONo49A7pxuAxi8Q3s6S1GCVGysmofsB1ATYvso1TqqPvjJSaJ7Gkz1Ffyp XPIBJT5zbum2K95QPgiiobleOXTJyulJkKfnILXYr/oA5U+ovZCuo+yaNY8pg2bxz/tS8m gJKZCIHmTNiQpL3MDLY3GXhuYE+o8jw= X-MC-Unique: uWgtogueOj2ka4KDbdvkhA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 4/5] bridge_driver: Introduce a helper for virNetworkObjSetMacMap() Date: Tue, 9 Aug 2022 15:13:56 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1660050855483100005 Content-Type: text/plain; charset="utf-8"; x-default="true" Currently, whenever virNetworkObjSetMacMap() is called the same pattern is used: 1) call virMacMapFileName() to generate a filename, 2) pass this filename to virMacMapNew(), and finally 3) pass retval from previous step to virNetworkObjSetMacMap(). Move this code into a helper (networkSetMacMap()) and replace both pattern occurrences with its call. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 024487b359..7098054f77 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -443,6 +443,24 @@ networkUpdatePort(virNetworkPortDef *port, return false; } =20 +static int +networkSetMacMap(virNetworkDriverState *driver, + virNetworkObj *obj) +{ + virNetworkDef *def =3D virNetworkObjGetDef(obj); + g_autoptr(virMacMap) macmap =3D NULL; + g_autofree char *macMapFile =3D NULL; + + if (!(macMapFile =3D virMacMapFileName(driver->dnsmasqStateDir, + def->bridge))) + return -1; + if (!(macmap =3D virMacMapNew(macMapFile))) + return -1; + + virNetworkObjSetMacMap(obj, &macmap); + return 0; +} + static int networkUpdateState(virNetworkObj *obj, void *opaque) @@ -450,8 +468,6 @@ networkUpdateState(virNetworkObj *obj, virNetworkDef *def; virNetworkDriverState *driver =3D opaque; g_autoptr(dnsmasqCaps) dnsmasq_caps =3D networkGetDnsmasqCaps(driver); - g_autoptr(virMacMap) macmap =3D NULL; - g_autofree char *macMapFile =3D NULL; VIR_LOCK_GUARD lock =3D virObjectLockGuard(obj); =20 if (!virNetworkObjIsActive(obj)) @@ -468,15 +484,9 @@ networkUpdateState(virNetworkObj *obj, if (!(def->bridge && virNetDevExists(def->bridge) =3D=3D 1)) virNetworkObjSetActive(obj, false); =20 - if (!(macMapFile =3D virMacMapFileName(driver->dnsmasqStateDir, - def->bridge))) + if (networkSetMacMap(driver, obj) < 0) return -1; =20 - if (!(macmap =3D virMacMapNew(macMapFile))) - return -1; - - virNetworkObjSetMacMap(obj, &macmap); - break; =20 case VIR_NETWORK_FORWARD_BRIDGE: @@ -1938,8 +1948,6 @@ networkStartNetworkVirtual(virNetworkDriverState *dri= ver, virErrorPtr save_err =3D NULL; virNetworkIPDef *ipdef; virNetDevIPRoute *routedef; - g_autoptr(virMacMap) macmap =3D NULL; - g_autofree char *macMapFile =3D NULL; bool dnsmasqStarted =3D false; bool devOnline =3D false; bool firewalRulesAdded =3D false; @@ -1966,13 +1974,9 @@ networkStartNetworkVirtual(virNetworkDriverState *dr= iver, if (virNetDevBridgeCreate(def->bridge, &def->mac) < 0) return -1; =20 - if (!(macMapFile =3D virMacMapFileName(driver->dnsmasqStateDir, - def->bridge)) || - !(macmap =3D virMacMapNew(macMapFile))) + if (networkSetMacMap(driver, obj) < 0) goto error; =20 - virNetworkObjSetMacMap(obj, &macmap); - /* Set bridge options */ =20 if (def->mtu && virNetDevSetMTU(def->bridge, def->mtu) < 0) --=20 2.35.1 From nobody Fri May 17 07:47:12 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 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=1660050852; cv=none; d=zohomail.com; s=zohoarc; b=YoKEVPDfVYcuU3ZSLSy7SdmzpU7qprD8Yq6RlsbxFD5NwMuijlIcKyD+EIh8uOx89LcFpAgGQSuPUr7tlYekW2PgpS+k9F9FY3X2FkOJ+QqENpQg/Zt308wweT8ow4HYGxXUTBIiMEAt2k8w5kz9gQ8/eCk340a4PFxHnD2iyKs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660050852; 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; bh=FHMF8lZ1ySpVI/yiGx1riIfm9MIGavsjyxAK+s0ePHw=; b=g5LkaO8ST/8d1fMXAFddX5dNVSfv4h1z0m4vX7wXKZB+NXMZiTe60Ax04rY771ZWbjyhRzQfZtf+uSjScNBUBCGghwEBsh7Rj+1b6S20ej6yiDTa8hnI6+TYxp38VwHx817eiR9um5xojOXOZjl7EGjoicds4+twaKARRtK3X3s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 166005085223091.8391499521033; Tue, 9 Aug 2022 06:14:12 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-593-kx32apvVOOuL4G7RhkL6HA-1; Tue, 09 Aug 2022 09:14:09 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 619B480600A; Tue, 9 Aug 2022 13:14:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4BB262166B26; Tue, 9 Aug 2022 13:14:03 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id DB7F0193221E; Tue, 9 Aug 2022 13:14:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 767F61946A66 for ; Tue, 9 Aug 2022 13:14:01 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 4949940CF8EB; Tue, 9 Aug 2022 13:14:01 +0000 (UTC) Received: from maggie.redhat.com (unknown [10.43.2.39]) by smtp.corp.redhat.com (Postfix) with ESMTP id E98B740CFD0A for ; Tue, 9 Aug 2022 13:14:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1660050851; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=FHMF8lZ1ySpVI/yiGx1riIfm9MIGavsjyxAK+s0ePHw=; b=SKwe6DjrqBjbNja23Hx35xjQIJyHijFL+1YVJEkR/ELuAbbV/361pd+rCvVIEB/CVahSQ/ EtiekbXx7iy6U/PMe8rumyrjP3yUlArVD7ccve5aP2lsB1YcmTqhAKck6laMsNpdMxnFXk lYovg5XGIgcrkUqv6IytQq2NKVtf8zc= X-MC-Unique: kx32apvVOOuL4G7RhkL6HA-1 X-Original-To: libvir-list@listman.corp.redhat.com From: Michal Privoznik To: libvir-list@redhat.com Subject: [PATCH 5/5] bridge_driver: Enable virMacMap iff dnsmasq is started Date: Tue, 9 Aug 2022 15:13:57 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.11.54.1 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1660050853486100002 Content-Type: text/plain; charset="utf-8"; x-default="true" The virMacMap module is used only for libvirt_guests NSS module as it records list of MAC addresses used by certain guest. But the module itself is usable if and only if the network assigns IP addresses (i.e. has dnsmasq running). If it's some other authority that assigns IP addresses then we do not need the virMacMap module at all. For instance, a network with no type and no DHCP set won't create /var/lib/libvirt/dnsmasq/ dir which is what the module expects to exist. But there's no need for the module to even care about such network. Resolves: https://gitlab.com/libvirt/libvirt/-/issues/348 Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 7098054f77..f6538d2638 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -484,9 +484,6 @@ networkUpdateState(virNetworkObj *obj, if (!(def->bridge && virNetDevExists(def->bridge) =3D=3D 1)) virNetworkObjSetActive(obj, false); =20 - if (networkSetMacMap(driver, obj) < 0) - return -1; - break; =20 case VIR_NETWORK_FORWARD_BRIDGE: @@ -521,6 +518,9 @@ networkUpdateState(virNetworkObj *obj, if (virNetworkObjIsActive(obj) && def->ips && (def->nips > 0)) { pid_t dnsmasqPid; =20 + if (networkSetMacMap(driver, obj) < 0) + return -1; + ignore_value(virPidFileReadIfAlive(driver->pidDir, def->name, &dnsmasqPid, @@ -1974,9 +1974,6 @@ networkStartNetworkVirtual(virNetworkDriverState *dri= ver, if (virNetDevBridgeCreate(def->bridge, &def->mac) < 0) return -1; =20 - if (networkSetMacMap(driver, obj) < 0) - goto error; - /* Set bridge options */ =20 if (def->mtu && virNetDevSetMTU(def->bridge, def->mtu) < 0) @@ -2056,6 +2053,9 @@ networkStartNetworkVirtual(virNetworkDriverState *dri= ver, =20 /* start dnsmasq if there are any IP addresses (v4 or v6) */ if (v4present || v6present) { + if (networkSetMacMap(driver, obj) < 0) + goto error; + if (networkStartDhcpDaemon(driver, obj) < 0) goto error; =20 --=20 2.35.1