From nobody Mon Feb 9 12:09:25 2026 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=1616054534; cv=none; d=zohomail.com; s=zohoarc; b=QsjIhrIspQFK+03G6hPJhtp0NYBER2dgtKO2J2br8CkW0Q7dCb37iBhrLLliHA5pfbgaJIlXuCcvjC4XmDyv4lmD4BwzYgfrKsDpnXoQHdZ0orhyqKCvoi+DDZ4biVUbGBuzaOzYsADHJxMteIQHbaM8+oikPtTEHqeu1JKLwmI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616054534; 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=XhYjf4Gr66zRg21wucUoU/OEpm9Jn4fCRmlTgN1wJdg=; b=jae1KZFZJlUzvnU3jSoYgS3tYUS0jkdGUaGlf3frIJ8lXo08KhgtO+xiKxz0QSwmMT954MUHa8LtDUuCF/UZiDBhPw0Dz2eA5X8X9X+Z1+j6wBmhnzbbgpPxoOYUH+DCAM2fi/DMVApIre+ZNoie/2n79eIIXKE6ONsTZaXHaS8= 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) header.from= 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 1616054534785203.570409987149; Thu, 18 Mar 2021 01:02:14 -0700 (PDT) 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-138-OTSoxcuaMbiOzaDue0yAgw-1; Thu, 18 Mar 2021 04:02:09 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98E58107B7CC; Thu, 18 Mar 2021 08:02:03 +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 6CE9D70911; Thu, 18 Mar 2021 08:02:03 +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 2873B4A713; Thu, 18 Mar 2021 08:02:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 12I81aEf028230 for ; Thu, 18 Mar 2021 04:01:36 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0B5A562951; Thu, 18 Mar 2021 08:01:36 +0000 (UTC) Received: from work.redhat.com (ovpn-112-180.ams2.redhat.com [10.36.112.180]) by smtp.corp.redhat.com (Postfix) with ESMTP id 521E766A16; Thu, 18 Mar 2021 08:01:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1616054531; 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=XhYjf4Gr66zRg21wucUoU/OEpm9Jn4fCRmlTgN1wJdg=; b=JxOwbF7jV+U3j9sUI2fzcgLmuDnUycGgp8zM7qZvZc8B0hox4FTmtK+GdFmKSioXY4EuSI ZWxfKse7fxMr4b7TgdkM0w8Djau/a/9CNOthTXa9R9CvYcRpVLQCSkDlVeOapENxzChcuG K5lhIJqQjQiNa6Ul1ezJDZ6VpLDjbrU= X-MC-Unique: OTSoxcuaMbiOzaDue0yAgw-1 From: Tim Wiederhake To: libvir-list@redhat.com Subject: [libvirt PATCH 12/38] domain_conf: Use virXMLProp(OnOff|YesNo) in virDomainNetDefParseXML Date: Thu, 18 Mar 2021 09:00:51 +0100 Message-Id: <20210318080117.70255-13-twiederh@redhat.com> In-Reply-To: <20210318080117.70255-1-twiederh@redhat.com> References: <20210318080117.70255-1-twiederh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Cc: Tim Wiederhake 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Tim Wiederhake --- src/conf/domain_conf.c | 166 +++++++++-------------------------------- 1 file changed, 37 insertions(+), 129 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 52e1668010..54c647bfd5 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -10759,7 +10759,6 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlop= t, g_autofree char *queues =3D NULL; g_autofree char *rx_queue_size =3D NULL; g_autofree char *tx_queue_size =3D NULL; - g_autofree char *str =3D NULL; g_autofree char *filter =3D NULL; g_autofree char *internal =3D NULL; g_autofree char *mode =3D NULL; @@ -10769,8 +10768,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlop= t, g_autofree char *vhostuser_mode =3D NULL; g_autofree char *vhostuser_path =3D NULL; g_autofree char *vhostuser_type =3D NULL; - g_autofree char *trustGuestRxFilters =3D NULL; g_autofree char *vhost_path =3D NULL; + virTristateBool trustGuestRxFilters =3D VIR_TRISTATE_BOOL_ABSENT; const char *prefix =3D xmlopt ? xmlopt->config.netPrefix : NULL; =20 if (!(def =3D virDomainNetDefNew(xmlopt))) @@ -10789,15 +10788,9 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlo= pt, def->type =3D VIR_DOMAIN_NET_TYPE_USER; } =20 - trustGuestRxFilters =3D virXMLPropString(node, "trustGuestRxFilters"); - if (trustGuestRxFilters && - ((def->trustGuestRxFilters - =3D virTristateBoolTypeFromString(trustGuestRxFilters)) <=3D 0))= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown trustGuestRxFilters value '%s'"), - trustGuestRxFilters); + if (virXMLPropYesNo(node, "trustGuestRxFilters", &trustGuestRxFilters)= < 0) goto error; - } + def->trustGuestRxFilters =3D trustGuestRxFilters; =20 cur =3D node->children; while (cur !=3D NULL) { @@ -11367,128 +11360,43 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xm= lopt, } =20 if ((tmpNode =3D virXPathNode("./driver/host", ctxt))) { - if ((str =3D virXMLPropString(tmpNode, "csum"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host csum mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.csum =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "gso"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host gso mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.gso =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "tso4"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host tso4 mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.tso4 =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "tso6"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host tso6 mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.tso6 =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "ecn"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host ecn mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.ecn =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "ufo"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host ufo mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.ufo =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "mrg_rxbuf"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown host mrg_rxbuf mode '%s'"), - str); - goto error; - } - def->driver.virtio.host.mrg_rxbuf =3D val; - } - VIR_FREE(str); + if (virXMLPropOnOff(tmpNode, "csum", &def->driver.virtio.host.= csum) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "gso", &def->driver.virtio.host.g= so) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "tso4", &def->driver.virtio.host.= tso4) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "tso6", &def->driver.virtio.host.= tso6) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "ecn", &def->driver.virtio.host.e= cn) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "ufo", &def->driver.virtio.host.u= fo) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "mrg_rxbuf", &def->driver.virtio.= host.mrg_rxbuf) < 0) + goto error; } =20 if ((tmpNode =3D virXPathNode("./driver/guest", ctxt))) { - if ((str =3D virXMLPropString(tmpNode, "csum"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown guest csum mode '%s'"), - str); - goto error; - } - def->driver.virtio.guest.csum =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "tso4"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown guest tso4 mode '%s'"), - str); - goto error; - } - def->driver.virtio.guest.tso4 =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "tso6"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown guest tso6 mode '%s'"), - str); - goto error; - } - def->driver.virtio.guest.tso6 =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "ecn"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown guest ecn mode '%s'"), - str); - goto error; - } - def->driver.virtio.guest.ecn =3D val; - } - VIR_FREE(str); - if ((str =3D virXMLPropString(tmpNode, "ufo"))) { - if ((val =3D virTristateSwitchTypeFromString(str)) <=3D 0)= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("unknown guest ufo mode '%s'"), - str); - goto error; - } - def->driver.virtio.guest.ufo =3D val; - } + if (virXMLPropOnOff(tmpNode, "csum", &def->driver.virtio.guest= .csum) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "tso4", &def->driver.virtio.guest= .tso4) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "tso6", &def->driver.virtio.guest= .tso6) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "ecn", &def->driver.virtio.guest.= ecn) < 0) + goto error; + + if (virXMLPropOnOff(tmpNode, "ufo", &def->driver.virtio.guest.= ufo) < 0) + goto error; } def->backend.vhost =3D g_steal_pointer(&vhost_path); } --=20 2.26.2