From nobody Tue Jun 9 21:16:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1778173589; cv=none; d=zohomail.com; s=zohoarc; b=YxPA5pUUsMDUSE8XAXkTXQlf8qiP0L9YN8nsQZ29OVtXgfMHVyqNEaCn/skPk4aT5/pTRgLzFNuPa/lgP61s5waCetGHuX5WcaN07uBV19UxdAWu/8iCvATVdsksjq2P8ZSOJoDLDnvmkLvTSDo8rqz/S42pcguHtJiC26yybQc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778173589; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=NNYG1ZXOsMccs+DWJ3bmUBA6IQcViT0Dd0CYthw81sA=; b=CL3YSjC1MesUb7Xu0Uj8bIF+OVCd7x3EirmtfKl+3cSw/6CVm41D7yOgjnAQ3PFwdivFUskCsVkBrQ/sprWy8xShbgtnKMcC77pGAoXx5FzeFLcXz/N92Thcmv1P3GKnH98kcLYVVQoMYB43VXCyYP8Ua0ZRFacHDF95Q0Fmnzk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1778173588901144.79097594788288; Thu, 7 May 2026 10:06:28 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id A7921418F6; Thu, 7 May 2026 13:06:27 -0400 (EDT) Received: from [172.19.199.9] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id F2BE64195B; Thu, 7 May 2026 13:03:51 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 826D0417F9; Thu, 7 May 2026 13:03:42 -0400 (EDT) Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E8E5E3F34D for ; Thu, 7 May 2026 13:03:37 -0400 (EDT) Received: from mail-yx1-f71.google.com (mail-yx1-f71.google.com [74.125.224.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id B66D63FBF2 for ; Thu, 7 May 2026 17:03:34 +0000 (UTC) Received: by mail-yx1-f71.google.com with SMTP id 956f58d0204a3-65c41a9bc15so1335218d50.3 for ; Thu, 07 May 2026 10:03:34 -0700 (PDT) Received: from [127.0.1.1] ([147.219.77.79]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-65d8ffcb44csm190714d50.6.2026.05.07.10.03.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 10:03:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_BL_SPAMCOP_NET, RCVD_IN_DNSWL_MED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20251003; t=1778173414; bh=NNYG1ZXOsMccs+DWJ3bmUBA6IQcViT0Dd0CYthw81sA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XsKdQym5cddp1/VbFkPw9a6LzPA0IS31XT/c5ctCQVeUH354CDQVpKLS2f3XI3WjH 9O66Y9AQUKFdZDmF1u0nPn6kJ26hKg3O8K/4vkisigaOc589get+4d+z2LAC64yp6k mMw0J/V3ckZYzIVH0q/1bTEr5Om1V4NujyoJw64yQNBUAWD9PegZbMneNAWwJbX8bD ltnFu3yG1Rz/ap5GWinv9VLOzZH41Ph7sy+yV5RPA9HEilVHUg6hsBy+/CRRHSI7v2 Vw08rRyniucyLNSTtpDXsrG3n2XaiWlcLNJLDmHi9zVxv0IoLsIt9EVHx7MO+7KGiz ZJ/cxFRj83fNUCJ8UKxRwUe4R5p9LEPHa/InXCSBMuvwtTpMey7M02EGtec+8gsMWH zo2uErh5zyRtRWCLCYze1G2pe4LxeMoDlFn1h9w1bfXBoSDHoQvC4xNJYafoJ/DLcF 6CGuxurA/FQ8+fYOsEpqHH5CS1NGjEJiu2XWaIJCnen9wGoLBq1C9XhQC4q0R+u0rF 5NK2To930Ptrcn0eBWPsdvvVgfkNzo4oYbes3cOEq11ln1wMWjj5pzYTs5jpnpIL/0 giNXBuTBAlKUxNH9N8/OUYGpYhYIAMVhyLQvLxpyZLO7DAIQCV+OTzn1IjZxjiOo90 oH6cS8pNxU7b/WOsfMV3/rmQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778173413; x=1778778213; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=NNYG1ZXOsMccs+DWJ3bmUBA6IQcViT0Dd0CYthw81sA=; b=fW5pu0aloeY5lwt+l0/GMCml0uK5sVcEmW1Yc/X/NtLVj1eL3Zs0Je7jypOJSL1IMr 6FxXJhf57qz1GP1Ro/3SYevvir1xr3JowIkZ9MblJMfW9mrukNKQh72dUL2kO3WIeWMI h8lnVxz/dSwUfZVyJ4V8bp6xGZI9vN0PlnZ1WHKjjtQADx5DzzIWuQlF11So9ekvD43c Sepq68ReaoRvEMqt15kZokEHZ0U3Iyg7hK53DNS64gGuqmri2DqOxBXn9TSzoGj+NaOY vPg1HdlHmzwvhvatIOHXCWBNlo0bv/C0GuNxazNY60pcnRTvZ0G7QgvBxmbEwudNrU5N kQrA== X-Gm-Message-State: AOJu0YzRuXHDupaztieMaYR8G3FOX/Ey75Vlgh66WffQAzZr/3br/VJC osHJOJ23TdaWcAQh/9FnLMhn4HRgsAPOIZbW4Q0i+b5KmN8so3qhogn3VW61ljFYMuK7sFBkkVS KO1Q4/TBbY35YgZk9cr+eHDJOR6VN1ZxHn5rhar4RzAbSW9YgTlhDmnnRYRd0iDCaD0UGRTEdmP f2rE0zn7E= X-Gm-Gg: Acq92OHEzoPLoZ73hNRz1L/3Vz1VIJMFzPDm6oSEGThNVYa4xHzRl9UhfzcDz2gJ3ok xR2T/hevMGCXop/d8js6N6HHfFByq2EVkWqu4tldA02PjxEM4YS6rKp9uFDjgpzg1o91OwUV5um BLiqiUGXS1LVBNXsGejJH1GStNxMFQCy9LSy9rwPkSyxAtm9/Z5x1GJktRh58YzBkDN1ya8iD6Y Sh9msVhIW69Mo3yrmpa3hxpRtXLUyqFofp43vxM8go3cz/MG2+Ehuf6PBxOAbWmSjWQJ4qkQCCr uJ24V1xbz0NJzjpIVzfuMGAgFForrdpMlU0nfyNiw36Ol4ixLEeBr/df9XsLeuhrIPSsU9crxZh 5Yyoa+i9rtSjt73pSckS28efGKvIZk051skba0Ay1AkJKJ0d+DuFg6me/gmIx+JIMBT5BplLPlp GYVWVf X-Received: by 2002:a53:d246:0:b0:65c:6220:5fc8 with SMTP id 956f58d0204a3-65c79a1df25mr6451702d50.57.1778173413315; Thu, 07 May 2026 10:03:33 -0700 (PDT) X-Received: by 2002:a53:d246:0:b0:65c:6220:5fc8 with SMTP id 956f58d0204a3-65c79a1df25mr6451681d50.57.1778173412956; Thu, 07 May 2026 10:03:32 -0700 (PDT) Date: Thu, 07 May 2026 12:03:14 -0500 Subject: [PATCH 1/2] virnetdevbandwidth: Split virNetDevBandwidthClear into two helpers MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-qdisc-clear-v1-1-8487695afc31@canonical.com> References: <20260507-qdisc-clear-v1-0-8487695afc31@canonical.com> In-Reply-To: <20260507-qdisc-clear-v1-0-8487695afc31@canonical.com> To: devel@lists.libvirt.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3004; i=wesley.hershberger@canonical.com; h=from:subject:message-id; bh=0L94VIGEQyQd5Ra3+S2oCFz7GqvL1NCfZM8QLM7JnzI=; b=owEB7QES/pANAwAKAfkogKziOh25AcsmYgBp/MXiHtLTKK49HP+xCapwa+5DPmGtvLZnVQz/M 4uxFFNMd3aJAbMEAAEKAB0WIQQsIHxFLwpehxEbQ8r5KICs4joduQUCafzF4gAKCRD5KICs4jod uaJNC/99CuSDG/saiAgisslwFiy33zPJjfeOh91CCagT3LWJ300085cxGIPfdiyZishq37rGTKW c3q2CnrMGjF7T1EkmJ3bMX0ZM+SkuGqllTSLOT4C3LIN3mOStx97osNrJFXad/HwPnVKtByu8hn D8d6QMirlS9UDUiqObabDkq8+EOsNQ3tQsZzv+3io42ZfjgSLvnzMtVRARZNSXJZLO05awg2Yw1 S/qIzzseBebUTI/SZlt0qNE6yWgsHVE8wU71BFWAlN7cd+yQS876qeZLw5Pdke+pbSsJBMEekEq u8n3DcH4eK6tEflw7Ro4XGLeJXekZJPG8ZKxw9LUNlY+rG0NDYwvFMYprujFDRJG6vAwqUDY5Ps QSIrcYbF9sY68PShafa9tAy8Uv/QZunwETOYYnTXdJXrCSqiWWCvlWomsVjyRjo6Jt7FXMme76F br3EjDvJggrkepTFIA16xtTKJF5qqTy+JffaqYhUWYOfFBw8zidG1605W8YCw2gCAn3Hk= X-Developer-Key: i=wesley.hershberger@canonical.com; a=openpgp; fpr=2C207C452F0A5E87111B43CAF92880ACE23A1DB9 Message-ID-Hash: XWTEFFQMRKP622ZLNO4PJNSBC4D5RGJP X-Message-ID-Hash: XWTEFFQMRKP622ZLNO4PJNSBC4D5RGJP X-MailFrom: wesley.hershberger@canonical.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Wesley Hershberger X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Wesley Hershberger via Devel Reply-To: Wesley Hershberger X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1778173592806158500 This allows virNetDevBandwidthSet to clear only the interface's qdisc for directions where bandwidth is defined (see the next patch) Signed-off-by: Wesley Hershberger Reviewed-by: Michal Privoznik --- src/util/virnetdevbandwidth.c | 52 +++++++++++++++++++++++++++++----------= ---- src/util/virnetdevbandwidth.h | 2 ++ 2 files changed, 37 insertions(+), 17 deletions(-) diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c index b141a38b10..8de0b57943 100644 --- a/src/util/virnetdevbandwidth.c +++ b/src/util/virnetdevbandwidth.c @@ -427,6 +427,38 @@ virNetDevBandwidthSet(const char *ifname, return ret; } =20 +int +virNetDevBandwidthClearRoot(const char *ifname) +{ + int ret =3D 0; + int dummy; /* for ignoring the exit status */ + g_autoptr(virCommand) cmd =3D NULL; + + cmd =3D virCommandNew("tc"); + virCommandAddArgList(cmd, "qdisc", "del", "dev", ifname, "root", NULL); + + if (virCommandRun(cmd, &dummy) < 0) + ret =3D -1; + + return ret; +} + +int +virNetDevBandwidthClearIngress(const char *ifname) +{ + int ret =3D 0; + int dummy; /* for ignoring the exit status */ + g_autoptr(virCommand) cmd =3D NULL; + + cmd =3D virCommandNew("tc"); + virCommandAddArgList(cmd, "qdisc", "del", "dev", ifname, "ingress", N= ULL); + + if (virCommandRun(cmd, &dummy) < 0) + ret =3D -1; + + return ret; +} + /** * virNetDevBandwidthClear: * @ifname: on which interface @@ -440,27 +472,13 @@ virNetDevBandwidthSet(const char *ifname, int virNetDevBandwidthClear(const char *ifname) { - int ret =3D 0; - int dummy; /* for ignoring the exit status */ - g_autoptr(virCommand) rootcmd =3D NULL; - g_autoptr(virCommand) ingresscmd =3D NULL; - if (!ifname) return 0; =20 - rootcmd =3D virCommandNew("tc"); - virCommandAddArgList(rootcmd, "qdisc", "del", "dev", ifname, "root", N= ULL); + if (virNetDevBandwidthClearRoot(ifname) < 0) + return -1; =20 - if (virCommandRun(rootcmd, &dummy) < 0) - ret =3D -1; - - ingresscmd =3D virCommandNew("tc"); - virCommandAddArgList(ingresscmd, "qdisc", "del", "dev", ifname, "ingr= ess", NULL); - - if (virCommandRun(ingresscmd, &dummy) < 0) - ret =3D -1; - - return ret; + return virNetDevBandwidthClearIngress(ifname); } =20 /* diff --git a/src/util/virnetdevbandwidth.h b/src/util/virnetdevbandwidth.h index 9f271c5283..eaddb4f3d7 100644 --- a/src/util/virnetdevbandwidth.h +++ b/src/util/virnetdevbandwidth.h @@ -50,6 +50,8 @@ int virNetDevBandwidthSet(const char *ifname, unsigned int flags) G_GNUC_WARN_UNUSED_RESULT; =20 +int virNetDevBandwidthClearRoot(const char *ifname); +int virNetDevBandwidthClearIngress(const char *ifname); int virNetDevBandwidthClear(const char *ifname); int virNetDevBandwidthCopy(virNetDevBandwidth **dest, const virNetDevBandwidth *src) --=20 2.53.0 From nobody Tue Jun 9 21:16:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1778174002; cv=none; d=zohomail.com; s=zohoarc; b=RYgiyhhTih+WbrUfNL9/gsll/pjnX7lBhwpIWtQP0RlLxxFYaGVr/iMBODJQkXv7AZ9Vjb2kXy1/tVdYpFCXuOagAXuOd+dUKpHjPcGn/V4TugBd5Il14vH25BA/JYc9sYK/MAyWSspXTkbvBADqZBovyIe1ZML1p+JjLHNFAds= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778174002; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id; bh=vTN0K7lvyw0yKCVlogSRcWidaw2qPgzSv0C+gTxtxms=; b=hEQQ9scUxvRXNHKQzd0dv2ir1mFWGczNQGEH3V+x3cfYl3DIx7Cnu/L4bdxfA58NN3a/d4Bdaf3EKToHrOyoNWOOcA7GvTUdau2D5Dx1H9mJHX8MRzk1ueX1lBC4ZensPPEe4QD3ahFeMDPsaRDZ+2dgq3ozrE0/kkst5QaSsHY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 177817400232492.8239084757007; Thu, 7 May 2026 10:13:22 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 2B8C93F281; Thu, 7 May 2026 13:13:21 -0400 (EDT) Received: from [172.19.199.9] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 8828D41A96; Thu, 7 May 2026 13:04:03 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id F0B634185E; Thu, 7 May 2026 13:03:46 -0400 (EDT) Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 780963F2F4 for ; Thu, 7 May 2026 13:03:38 -0400 (EDT) Received: from mail-yx1-f70.google.com (mail-yx1-f70.google.com [74.125.224.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 5BA793FBF7 for ; Thu, 7 May 2026 17:03:35 +0000 (UTC) Received: by mail-yx1-f70.google.com with SMTP id 956f58d0204a3-651b8f743aaso2118072d50.3 for ; Thu, 07 May 2026 10:03:35 -0700 (PDT) Received: from [127.0.1.1] ([147.219.77.79]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-65d8ffcb44csm190714d50.6.2026.05.07.10.03.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 10:03:33 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20251003; t=1778173415; bh=vTN0K7lvyw0yKCVlogSRcWidaw2qPgzSv0C+gTxtxms=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sVRLeWZQ+8OFRJVCEQXUsqqcZqPe9J0/hZrD1IS5LJU0kDZeLofOdxW26QltG0Qcf Z5zn3IUcE6UfGACXaYXqFEC3hiY/gsvdlvxN6VC4xi1RYVQRJKTaUi40N44OaZvr8g 99pW55deCLK2VxDuOD5xHNskhwJaQ1MXNKGRPIAnOJy4ODHXSNrD/8I++henZ6V6b6 ydZVrro8WXoaTiuzFLbapzNtmE3iVfZ8kLx93MObRrz53wUsirZSQwuwys9imQBus3 PEwgO3RiqF1337SWVac+d6SlpHSVKGZE3e/3J3Y2ujh68hJ9JdBBlYAgySrQamPDH/ 648UlFaMSv3KJkgBfazyH4Ruod70EAWuHYBMf1SUJBWx4Ghn3xzW/zCy65LfwbXcnU DMRnBKGoO/kD6p0TjWrGE1xGLN85MOKZe8RUpB/nFplHhgyzWlN1IxpGsxlt2rpuoc M3xKgTinmdKNILGc3YLF/DO2Z1Ia35F8S9Kg3GmQb+DtHzroEDpLviCd6PdTYZU5qb TG0U0HnO9Ds0TgDXljIJY15hHtOhs51TVEtN8VZBeYPsB54WA5wZ5hiUJvFwdQJXuy 2JymzFU2R/95eaiV+Gz5gU7fpUdfTv+FpkCYb/lISDLhWosQi+HL2jp41usIP8BbQW ohk4RftH54k5AvPoTEGLo8Kg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778173414; x=1778778214; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=vTN0K7lvyw0yKCVlogSRcWidaw2qPgzSv0C+gTxtxms=; b=eO4FrdrYUXYTEdgLGyI86D+UXXKdBb/KDewW5SL2Gs5XwRlSoGnxHx1uV07hvDb+dc 69mvo5abjbmzCaqhhzE0wHUgr6cG4474FQDnjDinZUTgWq+ovCTpgqpMLIrL2zvshic9 XrNc/ZwHflIK3fa2cPsxSjb6zvpGCFIGCE6o+YehEBqD4vAxsRIHomXYP0Kyyt9pZQHa yVLpeUa8jmMZZVIEWY3glizg7iUw/j/H1AtExDey4I5aKuKjrgp6GbqcXra3fg86Y66a 3PO5tWbHhYLURAp4GQXq/FYNx3EiWZZinvDBgufNvvxW0ZTCbFFIpG3JCg+VuAVU7rp7 qScw== X-Gm-Message-State: AOJu0YwozgoiC9IczNDHrDzrbu1Msx/m21ay+n+mSl7NW1S9jTlgUNjx y8MaDTkKWfcyWbhMqrs2OJoeyA/VNsoNlReUFlrewKZD2CWrBGrVGfe6Yj97LyR13z+uv1QBzwJ VVjcIHangGFolLrYk829bchVbCzMjlsqXx0MvxOXenHOIChSTKQDmn3XZXtKMR/eY0Utu8/jOXg I499PU52o= X-Gm-Gg: Acq92OG4OuF3Zf7YADHLuCMwX/CMvPhXDK6RaHnczhmICgTexKJzY+S0Rp/CkwIhEDf c9k60wq1+UA6oQ7/i6ZjNlA+tz0ZaIXwaQJlIS+0i50e6ktjAzc/bdDL7Zofy8WxBPskl59HAS3 oOreSJnUi+FzmMqoUzFPaa+CvmcNI/5ANqdWyikKGw7BgS1obdnPkplp+rtBibPhIjMqprDCBpC zWk+VhmgAe0pe7FWMjLp2vXRdyQ26C7ym2nZlmVgHjZMpQklh6xBPBG1t7OEAwB12y3pA9mzlcM Rygc/jBZfd2AfjTehrPThbLret4qa//+bHuwa+bQusBEk/RQpzUa2006QWMrn09TZLJ9u39Lrpn o/4N61KdMPT1z6I7HConUyIRVY2uUi7u8B/PWIaQjOb5KpQHfPyVT9LQx+b+Xwz5+KttE6g== X-Received: by 2002:a53:b4d1:0:b0:65c:b99:607a with SMTP id 956f58d0204a3-65c79ccd5a8mr6482518d50.38.1778173414170; Thu, 07 May 2026 10:03:34 -0700 (PDT) X-Received: by 2002:a53:b4d1:0:b0:65c:b99:607a with SMTP id 956f58d0204a3-65c79ccd5a8mr6482490d50.38.1778173413678; Thu, 07 May 2026 10:03:33 -0700 (PDT) Date: Thu, 07 May 2026 12:03:15 -0500 Subject: [PATCH 2/2] virnetdevbandwidth: Only clear qdisc for defined directions MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260507-qdisc-clear-v1-2-8487695afc31@canonical.com> References: <20260507-qdisc-clear-v1-0-8487695afc31@canonical.com> In-Reply-To: <20260507-qdisc-clear-v1-0-8487695afc31@canonical.com> To: devel@lists.libvirt.org X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2185; i=wesley.hershberger@canonical.com; h=from:subject:message-id; bh=uwwVw1pXrDgjkTK2caOYA25OXveK3+XjxUP2Qa6H0yo=; b=owEB7QES/pANAwAKAfkogKziOh25AcsmYgBp/MXiXRlTuDdAvbSXgP9pb/8N8ZqO4ToVpsjBb Deia30B1S6JAbMEAAEKAB0WIQQsIHxFLwpehxEbQ8r5KICs4joduQUCafzF4gAKCRD5KICs4jod uTVsDADWm1GBnGjLcD2HUpTEimsbxA/XWJTdtYakyVgDg+THnZckjMldPIBNR6BiPlxa5cBYAh/ lMCWROPLvm3xURPbHUv+Uj0BE7NRply04CnI3ZQu/mD2J2O2K3ShwMjp1nP6Hu5bsJWMnIxI4Qj Goau8ltOyEyB/c/QS26ZbxymRwah3LdUxtXvcHliT6QH5ZqKqY52GCEYBogCm8k7lHPfjFjicfZ dMfWluY9YogKK1Lj7rU8CxkO2O+3AXyqL38betr5rrOc3aFMTJ56mkd1lkWc0JCkep2eN3Jq3pq FgQx9pe2LqmmljD/bddxHX2/aoVWiheIxYlVFMdYeNgY28tJvwYGcvABUHNy9vyur3W431owE7O QMC9xeOi7a5hFPlzkH7L4OAIuDYe+oUYxdB4td835O+tpyhlFEAtd9MwF87txZrK2U5TywcRUix ODXcMMj0siqST+FSySGNJqPiExRGtrPpBVzDciuAjP372dSyGzV+gBlnGHtXiiiYgca9U= X-Developer-Key: i=wesley.hershberger@canonical.com; a=openpgp; fpr=2C207C452F0A5E87111B43CAF92880ACE23A1DB9 Message-ID-Hash: 7WGHVLFUDQWBZ42SJUAPQ7YEO3A7ZSHP X-Message-ID-Hash: 7WGHVLFUDQWBZ42SJUAPQ7YEO3A7ZSHP X-MailFrom: wesley.hershberger@canonical.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Wesley Hershberger X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Wesley Hershberger via Devel Reply-To: Wesley Hershberger X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1778174005032158500 When virNetDevBandwidthSet is called for a macvtap device in qemu_command and qemu_hotplug, qemuDomainInterfaceSetDefaultQDisc has been called already, setting the iface qdisc to 'noqueue'. If the interface has an inbound-only bandwidth limit, the outgoing qdisc on the device will be reset to the system default. ... This only clears the qdisc on an interface before a bandwidth limit is actually set. Closes: https://gitlab.com/libvirt/libvirt/-/work_items/875 Signed-off-by: Wesley Hershberger Reviewed-by: Michal Privoznik --- src/util/virnetdevbandwidth.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/util/virnetdevbandwidth.c b/src/util/virnetdevbandwidth.c index 8de0b57943..9c14d84807 100644 --- a/src/util/virnetdevbandwidth.c +++ b/src/util/virnetdevbandwidth.c @@ -253,13 +253,13 @@ virNetDevBandwidthSet(const char *ifname, tx =3D bandwidth->out; } =20 - /* Only if the caller requests, clear everything including root - * qdisc and all filters before adding everything. - */ - if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL) - virNetDevBandwidthClear(ifname); - if (tx && tx->average) { + /* Only if the caller requests, clear the root qdisc and all filte= rs + * before adding everything. + */ + if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL) + virNetDevBandwidthClearRoot(ifname); + average =3D g_strdup_printf("%llukbps", tx->average); if (tx->peak) peak =3D g_strdup_printf("%llukbps", tx->peak); @@ -383,6 +383,12 @@ virNetDevBandwidthSet(const char *ifname, } =20 if (rx) { + /* Only if the caller requests, clear the ingress qdisc and all + * filters before adding everything. + */ + if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL) + virNetDevBandwidthClearIngress(ifname); + average =3D g_strdup_printf("%llukbps", rx->average); =20 if (rx->burst) { --=20 2.53.0