From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 509181FF0C0 for ; Wed, 21 Oct 2026 17:46:59 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id BDD19215E6; Wed, 21 Oct 2026 17:46:56 +0200 (CEST) Message-ID: Date: Wed, 21 Oct 2026 17:46:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH installer 10/15] gui: network: add bond setup options to advanced options dialog To: Lukas Sichert References: <20261020112327.641633-1-c.heiss@proxmox.com> <20261020112327.641633-11-c.heiss@proxmox.com> Content-Language: en-US From: Christoph Heiss In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1792597612313 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.240 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: 6WMPO7TBX63E2PW2MICZ57NYSQZRSYKN X-Message-ID-Hash: 6WMPO7TBX63E2PW2MICZ57NYSQZRSYKN 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 CC: pve-devel@lists.proxmox.com X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Thanks for the thorough review! On 10/21/26 17:36, Lukas Sichert wrote: > [..] >> + my $set_sensitive = sub { >> + my ($active) = @_; >> + >> + $opts_grid->foreach(sub { >> + $_[0]->set_sensitive($active); >> + }); >> + >> + if ($active) { >> + # if activating all inputs, observe the rules applied by the mode change handler >> + $on_mode_changed->(Proxmox::Install::Config::get_mngmt_bond_opt('mode')); >> + } > > > Currently the font of the label of the bond primary textfield and the > hash policy field are not greyed out if they are deactivated. This is > especially confusing for the bond primary, because greyed out textfield > and sensitive textfield look really similar. I think this could either > be done in the on_mode_changed function or even in the foreach loop > above. I'll implement that for v3, definitely makes things a bit more clear. > > Also I am a bit confused as to why the on_mode changed function is > called with a parameter, as it does not process one (see above). Good catch, that's just some leftover from a previous iteration. >> [..] >> + my $name = >> + $pinning_active >> + ? $name_mapping->{ $iface->{mac} } >> + : $iface->{name}; > > Here probably $mapping was intended to be used instead of $name_mapping, > but I am not sure if this will actually refresh interface names, > as the map is only set on OK. Yep, should have been `$mapping` indeed. > >> + my $label = "$name ($iface->{mac}, $iface->{driver}, $iface->{state})"; >> + $checkboxes->{ $iface->{mac} }->set_label($label); >> + } >> + }; >> + $refresh_if_names->($gtk_state->{network_pinning_enabled}); >> + > >> + my ($device_active_map, $device_active_reverse_map) = ({}, {}); > >> - my ($device_active_map, $device_active_reverse_map) = ({}, {}); > > I am not too sure about this refactor here. I think it should be done in > a separate commit as it touches the non bonding setup as well. Also you > use > $device_active_map->{$i} = $label; > compared to > $device_active_map->{$i} = $name; > before without changing the $device_change_handler. I already removed that bit locally in my working copy for v3. Initially this was due to some issue with the bond implementation, which was actually fixed with the ``` [..] if defined($device_active_reverse_map->{$nic}) ``` snippet below - just didn't re-check it with that bit removed again.