]> git.proxmox.com Git - pve-common.git/blobdiff - src/PVE/Network.pm
network: cleanup get_local_ip_from_cidr
[pve-common.git] / src / PVE / Network.pm
index cc754452aa19faafe752b5b3d554b1d2b5a75c61..e91aeb28e55b4cd2964f70611ee659a1ff02021c 100644 (file)
@@ -585,19 +585,12 @@ sub is_ip_in_cidr {
 sub get_local_ip_from_cidr {
     my ($cidr) = @_;
 
-    my $cmd = ['/sbin/ip', 'address', 'show', 'to', $cidr, 'up'];
-
     my $IPs = [];
-
-    my $code = sub {
-       my $line = shift;
-
-       if ($line =~ m!^\s*inet(?:6)?\s+($PVE::Tools::IPRE)(?:/\d+|\s+peer\s+)!) {
+    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+)!) {
            push @$IPs, $1;
        }
-    };
-
-    PVE::Tools::run_command($cmd, outfunc => $code);
+    });
 
     return $IPs;
 }