From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id A36751FF09C for ; Mon, 02 Nov 2026 13:50:21 +0100 (CET) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 3DA50219A5; Mon, 02 Nov 2026 13:48:45 +0100 (CET) From: Christoph Heiss To: pve-devel@lists.proxmox.com Subject: [PATCH installer v4 29/30] gui: network: list bond member candidates sharing a MAC address once Date: Mon, 2 Nov 2026 13:45:35 +0100 Message-ID: <20261102124539.1008075-30-c.heiss@proxmox.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20261102124539.1008075-1-c.heiss@proxmox.com> References: <20261102124539.1008075-1-c.heiss@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1793623691039 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.183 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: D7QW2PVN442GCTWQYQUJSOR5TI44O2W5 X-Message-ID-Hash: D7QW2PVN442GCTWQYQUJSOR5TI44O2W5 X-MailFrom: c.heiss@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Bond members are identified by their MAC address, so physical links sharing one, for example on hardware that does not assign each port a unique address, cannot be told apart in the bond configuration anyway. Such links got a checkbox each, but only the last one was kept for the MAC address, so the others were never labeled and showed up as empty checkboxes without any effect. Also, the label of the kept checkbox was taken from whichever of these links came first in hash order. Only list the first of these links by name, and label each checkbox from the link it was created for. Originally-by: Thomas Lamprecht Signed-off-by: Christoph Heiss --- Changes v3 -> v4: * no changes Changes v2 -> v3: * new patch proxinstall | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/proxinstall b/proxinstall index 6b8c7e8..c0f2664 100755 --- a/proxinstall +++ b/proxinstall @@ -545,9 +545,11 @@ my sub create_network_bond_page { $vbox->pack_start($if_label, 0, 0, 0); my $checkboxes = {}; + my $member_ifaces = {}; for my $ifname (sort keys $interfaces->%*) { my $iface = $interfaces->{$ifname}; - next if !defined($iface->{pinned_id}); + # members are identified by MAC address, so links sharing one cannot be told apart + next if !defined($iface->{pinned_id}) || defined($checkboxes->{ $iface->{mac} }); # without a label, as one passed here would be parsed for mnemonics, eating underscores my $checkbox = Gtk3::CheckButton->new(); @@ -557,6 +559,7 @@ my sub create_network_bond_page { $vbox->pack_start($checkbox, 0, 0, 5); $checkboxes->{ $iface->{mac} } = $checkbox; + $member_ifaces->{ $iface->{mac} } = $iface; } my $set_sensitive = sub { -- 2.55.0