[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tools/libxenstat: don't lose all VIFs when dom0 has no Linux bridge
- To: Olivier Lambert <olivier.lambert@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Jason Andryuk <jason.andryuk@xxxxxxx>
- Date: Mon, 5 Oct 2026 16:49:43 -0400
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=vates.tech smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0w6jWtdINVHVmzdvgqip4QyD9f4egVMf1ySpBZhIwew=; b=e8x20l53JG+82wcibhoaTZZVeNf/Pl71yuDNYIonHAAZcpBZtyx29C0pW4LsvTQ87BF0OSBO54OrD1vT6D1qb5aoknBAJiFeCssCdr9CfkBJX4Ot5mTJ2zv9F0MjuG/FiJiIk6RKewHEFnArnHP6HJEP5ICAMikyqdG5y6p4PBftW9/UOCVgOnX1gv6E8gyGa8mimPDrAH8zFAvxmnNpP07DAAHUEG5vEanS+ad3d3z8e06dIso86QjPksdyEOg8egplib9NRrnm7cSe6PfElo7lBEcbwddoWkiWsiGK8zJGjncieRfDRU3anOiJnoEohVuaH1YWbzbum/jlYoWLnA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lO4it2AeDYd395LjRRcoHqOhuC/iZzKEsQ8mrQWG2Bt3s+3LcBLuwWqLuVz9tMrTedHyRh0N2+pp37E/mF5wQDB5rHE4WdBSfhOGJb2PzNmu7ZZmM7xdHhyNiQo1xAPIkgoDYBreo2OPEt90tnO1zTBmzF4Qy8SMCcjF2LJThS1InlsKBi5ZhfHkaelOlFHqwod+6tBWYEuUdWpPlvdZOrjWj969yp3zyAo2jcgh+7XdQSab7WuTaridSJewMUFNvTrHhttJnzyCkfnwMbjjxXr1/AUs9RwPTEDQnWTPG2UNP0EpLiyon82SisuO9aefg6MYvu9pCgaWccxwCl4PkA==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=amd.com header.i="@amd.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
- Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
- Delivery-date: Mon, 05 Oct 2026 20:50:04 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 2026-10-03 03:17, Olivier Lambert wrote:
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 network
bonding")
Assisted-by: Claude-Code:claude-opus-5-5
Signed-off-by: Olivier Lambert <olivier.lambert@xxxxxxxxxx>
Tested-by: Jason Andryuk <jason.andryuk@xxxxxxx>
Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
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_linux.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)
/* If the device parsed is network bridge and both tx & rx packets are zero, we are most */
/* likely using bonding so we alter the configuration for dom0
to have bridge stats */
- if ((strstr(iface, devBridge) != NULL) &&
+ if ((devBridge[0] != '\0') &&
+ (strstr(iface, devBridge) != NULL) &&
(strstr(iface, devNoBridge) == NULL) &&
((domain = xenstat_node_domain(node, 0)) != NULL)) {
for (i = 0; i < domain->num_networks; i++) {
|