From ef737f0b3c0a79fb236539da0307929598d1340a Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 25 Feb 2021 13:07:56 +0100 Subject: [PATCH] net: ip from CIDR: sort result this should not be a real problem yet, but the perl keys hash pseudo random order was an issue way to often to bet on that.. Signed-off-by: Thomas Lamprecht --- src/PVE/Network.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PVE/Network.pm b/src/PVE/Network.pm index 3b1afdd..38019f7 100644 --- a/src/PVE/Network.pm +++ b/src/PVE/Network.pm @@ -600,13 +600,14 @@ sub get_local_ip_from_cidr { my ($cidr) = @_; my $IPs = {}; + my $i = 1; run_command(['/sbin/ip', 'address', 'show', 'to', $cidr, 'up'], outfunc => sub { if ($_[0] =~ m!^\s*inet(?:6)?\s+($PVE::Tools::IPRE)(?:/\d+|\s+peer\s+)!) { - $IPs->{$1} = 1; + $IPs->{$1} = $i++ if !exists($IPs->{$1}); } }); - return [ keys %{$IPs} ]; + return [ sort { $IPs->{$a} <=> $IPs->{$b} } keys %{$IPs} ]; } sub addr_to_ip { -- 2.39.2