From nobody Fri Oct 23 15:34:19 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=none dis=none) header.from=vates.tech ARC-Seal: i=1; a=rsa-sha256; t=1791011927; cv=none; d=zohomail.com; s=zohoarc; b=hJzYjKZqhBnYSunY3XbWcRf51xx08RdlJwZq9dyeJFvl4V05n6Zsos0Hwwn7jeOyPE+XsT/ag26VxF/HFottHixD9hblbW4RWWnIKdd76W8FUL/ZIp2Bkqd+t1RJxx+YEG36j6ceqFtgf/B5swUbFzVLkNN81X+tHdPkRRcNO/Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1791011927; h=Content-Type:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=kuhMXlzLQhzBkqyeUZIQiDM9y+82KwWx/ujm11Nry/8=; b=IfGRfRDj9ei8TsugbQRd5zM2bnVYyRJemeKYlT1zlfqLO6evJu4kC+T2pAGKciy6vEwLY8TA0lYioIlOdgTkWmFtB+W01c7v2zZ+hshyv7ZNTyzZ8PcvK9hU1IC73rhi1nvf5OvmfGS+Dyop7K5hI9iKyJ8wxPKMYu8kzzMNyxw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1791011927029494.83731162264223; Sat, 3 Oct 2026 00:18:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1439698.1657922 (Exim 4.92) (envelope-from ) id 1xCu0b-0000wh-D2; Sat, 03 Oct 2026 07:18:13 +0000 Received: by outflank-mailman (output) from mailman id 1439698.1657922; Sat, 03 Oct 2026 07:18:13 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xCu0b-0000wa-A4; Sat, 03 Oct 2026 07:18:13 +0000 Received: by outflank-mailman (input) for mailman id 1439698; Sat, 03 Oct 2026 07:18:12 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1xCu0Z-0000wU-L4 for xen-devel@lists.xenproject.org; Sat, 03 Oct 2026 07:18:12 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1xCu0Y-006vYJ-Iw for xen-devel@lists.xenproject.org; Sat, 03 Oct 2026 09:18:10 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6ac0abd6-8faa-0a2a0a5109dd-0a2a450a8582-46 for ; Sat, 03 Oct 2026 09:18:10 +0200 Received: from [185.255.28.34] (helo=prod-mta-13-01.swg-srv.net) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6ac0ac31-f2d2-0a2a450a0019-b9ff1c228be9-3 for ; Sat, 03 Oct 2026 09:18:10 +0200 Received: from mail2.vates.fr ([37.26.189.201] mail2.vates.fr) (Authenticated sender: 8631fc262581453bbf619ec5b2062170/smtp/7773de5a-2839-4720-82ee-e06722ae1d3e) by prod-mta-13-01.swg-srv.net (ZoneMTA - prod-mta-13) with ESMTPSA id 1a100a0936a0003f66.001 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Sat, 03 Oct 2026 07:18:05 +0000 Received: from Skynet-1 (lfbn-gre-1-317-75.w90-112.abo.wanadoo.fr [90.112.38.75]) (Authenticated sender: olivier.lambert@vates.tech) by mail2.vates.fr (Postfix) with ESMTPSA id 80A7581DB5; Sat, 3 Oct 2026 09:18:04 +0200 (CEST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Feedback-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.tech; q=dns/txt; s=selector1; bh=kuhMXlzLQhzBkqyeUZIQiDM9y+82KwWx/ujm11Nry/8=; h=from:subject:date:message-id:to:cc:mime-version:content-type:feedback-id; b=UNNRGC+/ZZWlHVpKtJBPEpIMlgw9tYXAeRReER31ZUYd9wgZ39gSush1Sk06Zb9twLuVcwXVd fyN9MbnPQuVaJipwfjBf+t3HuGSYSf4DHvL4DYBlvD50lKFBNodGqMbE7rGTqUnCexNC6yk0zoI lUIgwUm6Go1suvXmPyX2J7zPoXwj2u6ryxN3QyieubuRr/MH9JxVgooLZZkTlZg8WgJL+Hl5Oug eNbEUBsNTVjj1hvCM+xJL2y/tE2Kq6dv0a/fCA9gTgemhDbNZPjCx7HG/LZtMOt/S94Qa4uwMIG hTHfk/5Nx/SrVicqiAyZNt0WHEq7SD9A6AMzkPAq6/Dg== X-Zone-Loop: ca38c5e183fd368921df6943f3ad47bbde0e5e836044 x-campaign-type: default x-transaction-id: c06c0669-3c46-4e5f-bf3b-c9b2f401764b x-swg-uid: 01-c9b4bd64-35ea-48d0-9d6d-542ce6be78d8 X-Mailer: Sweego Message-ID: <1791011886.8631fc262581453bbf619ec5b2062170.1a100a0936a0003f66@vates.tech> x-swg-bid: 1791011886.8631fc262581453bbf619ec5b2062170.1a100a0936a0003f66 Feedback-ID: default:8631fc262581453bbf619ec5b2062170:Sweego x-campaign-id: default x-client-id: 8631fc262581453bbf619ec5b2062170 X-Originating-IP: [37.26.189.201] From: Olivier Lambert To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Juergen Gross Subject: [PATCH] tools/libxenstat: don't lose all VIFs when dom0 has no Linux bridge Date: Sat, 3 Oct 2026 07:17:43 +0000 MIME-Version: 1.0 X-BM-Disclaimer: Yes Content-Type: multipart/alternative; boundary="-=Part.600.859a17acc0054a89.1a100a08e37.e03ae745e3f7e19f=-" X-Bm-Milter-Handled: 4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2 X-Bm-Transport-Timestamp: 1791011884603 X-purgate-ID: tlsNG-4011c0/1791011890-593C4CFC-0C8114A7/0/0 X-purgate-type: clean X-purgate-size: 2191 X-ZohoMail-DKIM: pass (identity @vates.tech) X-ZM-MESSAGEID: 1791011927923158500 ---=Part.600.859a17acc0054a89.1a100a08e37.e03ae745e3f7e19f=- Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" xenstat_collect_networks() looks for a Linux bridge (a /sys/class/net/*/bridge directory) so that, with bonding, dom0 can be given the bridge's counters. When there is none, as on hosts using Open vSwitch (the XCP-ng default), routed networking or only libvirt's virbr0 (which is excluded on purpose), getBridge() leaves devBridge empty. strstr(iface, "") then matches every interface, and devNoBridge is just "p", so every VIF with a standard name (vifN.M, vifN.M-emu) takes the bridge branch instead of being attached to its domain. Every domain ends up with zero networks, and xentop shows NETS 0. Only take the bridge branch when a bridge was actually found. Fixes: 1fd93d4f8cb8 ("xenstat: Linux dom0 statistics for case we use networ= k bonding") Assisted-by: Claude-Code:claude-opus-5-5 Signed-off-by: Olivier Lambert Acked-by: Anthony PERARD Reviewed-by: Jason Andryuk Tested-by: Jason Andryuk --- tools/libs/stat/xenstat_linux.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/libs/stat/xenstat_linux.c b/tools/libs/stat/xenstat_linu= x.c index b60e3fdcab..2a7d2f1a96 100644 --- a/tools/libs/stat/xenstat_linux.c +++ b/tools/libs/stat/xenstat_linux.c @@ -322,7 +322,8 @@ int xenstat_collect_networks(xenstat_node * node) =20 /* If the device parsed is network bridge and both tx & rx packets are z= ero, we are most */ /* likely using bonding so we alter the configuration for dom0 to have b= ridge stats */ - if ((strstr(iface, devBridge) !=3D NULL) && + if ((devBridge[0] !=3D '\0') && + (strstr(iface, devBridge) !=3D NULL) && (strstr(iface, devNoBridge) =3D=3D NULL) && ((domain =3D xenstat_node_domain(node, 0)) !=3D NULL)) { for (i =3D 0; i < domain->num_networks; i++) { --=20 2.53.0 --=20 Olivier Lambert | Vates CEO XCP-ng & Xen Orchestra - Vates solutions Book a meeting with me: https://calrs.vates.tech/u/olivier-lambert web: https://vates.tech ---=Part.600.859a17acc0054a89.1a100a08e37.e03ae745e3f7e19f=---