Instead of printing a separate line for each altname, the tool now
only prints one line per physical interface. The primary name is used
as an identifier and the altnames are printed additionally in
parentheses (if they exist). Additionally, the output is now sorted by
ifindex (just as the pin order), so interfaces should now be printed
in ascending order.

Signed-off-by: Stefan Hanreich <s.hanre...@proxmox.com>
---
 PVE/CLI/proxmox_network_interface_pinning.pm | 22 ++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/PVE/CLI/proxmox_network_interface_pinning.pm 
b/PVE/CLI/proxmox_network_interface_pinning.pm
index 05b1de38a..2fb5338e9 100644
--- a/PVE/CLI/proxmox_network_interface_pinning.pm
+++ b/PVE/CLI/proxmox_network_interface_pinning.pm
@@ -414,8 +414,26 @@ __PACKAGE__->register_method({
                 exit 0;
             }
 
-            for my $old_name (sort keys $mapping->%*) {
-                print "Name for link '$old_name' will change to 
'$mapping->{$old_name}'\n";
+            my $altnames = PVE::Network::altname_mapping($ip_links);
+
+            my @sorted_links = sort {
+                my $a_name = $altnames->{$a} // $a;
+                my $b_name = $altnames->{$b} // $b;
+
+                $ip_links->{$a_name}->{ifindex} <=> 
$ip_links->{$b_name}->{ifindex};
+            } grep { $ip_links->{$_} } keys $mapping->%*;
+
+            for my $old_name (@sorted_links) {
+                my $altname_string = '';
+
+                if (my $interface_altnames = 
$ip_links->{$old_name}->{altnames}) {
+                    $altname_string = join(', ', $interface_altnames->@*);
+                }
+
+                print "Name for link '$old_name' ";
+                print "($altname_string) " if $altname_string;
+                print "will change to '$mapping->{$old_name}'\n";
+
             }
 
             generate_link_files($ip_links, $mapping);
-- 
2.39.5


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to