From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 666771FF179 for ; Wed, 10 Dec 2025 19:42:40 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 616EF3535; Wed, 10 Dec 2025 19:43:11 +0100 (CET) From: Stefan Hanreich To: pve-devel@lists.proxmox.com Date: Wed, 10 Dec 2025 19:42:34 +0100 Message-ID: <20251210184236.448600-5-s.hanreich@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251210184236.448600-1-s.hanreich@proxmox.com> References: <20251210184236.448600-1-s.hanreich@proxmox.com> MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.174 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RDNS_NONE 0.793 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [plugin.pm] Subject: [pve-devel] [PATCH pve-network 1/1] fix #6806: vlan: qinq: fix bridge port detection X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" When creating a vlan zone and vnet, pve-network looks at all the physical bridge ports (slaves) and adds them to the generated vlan bridge. The zone plugin gets all the bridge interfaces using `/sys/class/net` and then filters them using a regex. With the introduction of network interface pinning, the restrictions on network interface names have gotten more liberal - they're not required to have specific prefixes anymore. The check for physical interfaces in the zones plugin needs to be adjusted to reflect those changes, otherwise the generated SDN configuration does not contain any pinned physical ports and therefore doesn't work. Use the provided helper from PVE::IPRoute2 instead, that adheres to the new naming policy and uses `ip link` to determine the physical ports of the bridge, instead of relying on a regex. This improves the previous commit 4f19480b - which only allowed the nic / if prefixes, which solved the issue when using the default prefix, but not when using a custom prefix. Fixes: 4f19480b04315afb5dc23e0130463acaea35db18 Signed-off-by: Stefan Hanreich --- src/PVE/Network/SDN/Zones/Plugin.pm | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/PVE/Network/SDN/Zones/Plugin.pm b/src/PVE/Network/SDN/Zones/Plugin.pm index 6dc2f65..826ebdf 100644 --- a/src/PVE/Network/SDN/Zones/Plugin.pm +++ b/src/PVE/Network/SDN/Zones/Plugin.pm @@ -4,6 +4,7 @@ use strict; use warnings; use PVE::Tools qw(run_command); +use PVE::IPRoute2; use PVE::JSONSchema; use PVE::Cluster; use PVE::Network; @@ -341,18 +342,7 @@ sub is_vlanaware { sub get_bridge_ifaces { my ($bridge) = @_; - - my @bridge_ifaces = (); - my $dir = "/sys/class/net/$bridge/brif"; - PVE::Tools::dir_glob_foreach( - $dir, - '(((eth|bond|nic|if)\d+|en[^.]+)(\.\d+)?)', - sub { - push @bridge_ifaces, $_[0]; - }, - ); - - return @bridge_ifaces; + return PVE::IPRoute2::get_physical_bridge_ports($bridge); } sub datacenter_config { -- 2.47.3 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel