network: add unique_ips function

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner 2021-05-10 14:18:16 +02:00 committed by Thomas Lamprecht
parent 8286ef53bb
commit 8f75194cd8

View File

@ -665,4 +665,24 @@ sub canonical_ip {
return $ip_obj->canon();
}
# List of unique, canonical IPs in the provided list.
# Keeps the original order, filtering later duplicates.
sub unique_ips {
my ($ips) = @_;
my $res = [];
my $seen = {};
for my $ip (@{$ips}) {
$ip = canonical_ip($ip);
next if $seen->{$ip};
$seen->{$ip} = 1;
push @{$res}, $ip;
}
return $res;
}
1;