}
sub next_unused_port {
- my ($range_start, $range_end) = @_;
+ my ($range_start, $range_end, $family) = @_;
# We use a file to register allocated ports.
# Those registrations expires after $expiretime.
next if $ports->{$p}; # reserved
my $sock = IO::Socket::IP->new(Listen => 5,
- LocalAddr => '0.0.0.0',
LocalPort => $p,
ReuseAddr => 1,
+ Family => $family,
Proto => 0);
if ($sock) {
}
sub next_migrate_port {
- return next_unused_port(60000, 60050);
+ my ($family) = @_;
+ return next_unused_port(60000, 60050, $family);
}
sub next_vnc_port {
- return next_unused_port(5900, 6000);
+ my ($family) = @_;
+ return next_unused_port(5900, 6000, $family);
}
sub next_spice_port {
- return next_unused_port(61000, 61099);
+ my ($family) = @_;
+ return next_unused_port(61000, 61099, $family);
}
# NOTE: NFS syscall can't be interrupted, so alarm does