]> git.proxmox.com Git - qemu-server.git/commitdiff
pass port family to next_*_port() calls
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Tue, 12 May 2015 10:14:03 +0000 (12:14 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Tue, 12 May 2015 10:28:56 +0000 (12:28 +0200)
PVE/API2/Qemu.pm
PVE/QemuMigrate.pm
PVE/QemuServer.pm

index c0a6bc3106aeafa1fef915b4178d60a516027adf..fae28720b1422958b793539e4ee2be4b8be1a32e 100644 (file)
@@ -1299,17 +1299,19 @@ __PACKAGE__->register_method({
        $sslcert = PVE::Tools::file_get_contents("/etc/pve/pve-root-ca.pem", 8192)
            if !$sslcert;
 
-       my $port = PVE::Tools::next_vnc_port();
-
-       my $remip;
+       my ($remip, $family);
        my $remcmd = [];
 
        if ($node ne 'localhost' && $node ne PVE::INotify::nodename()) {
-           $remip = PVE::Cluster::remote_node_ip($node);
+           ($remip, $family) = PVE::Cluster::remote_node_ip($node);
            # NOTE: kvm VNC traffic is already TLS encrypted or is known unsecure
            $remcmd = ['/usr/bin/ssh', '-T', '-o', 'BatchMode=yes', $remip];
+       } else {
+           $family = PVE::Tools::get_host_address_family($node);
        }
 
+       my $port = PVE::Tools::next_vnc_port($family);
+
        my $timeout = 10;
 
        my $realcmd = sub {
index f6eb3f5119916e9ddf6ffa734e944cf6d483401b..5eb488f574dc57375f808957617884b8fe0de210 100644 (file)
@@ -354,7 +354,8 @@ sub phase2 {
 
     ## create tunnel to remote port
     $self->log('info', "starting ssh migration tunnel");
-    my $lport = ($raddr eq "localhost") ? PVE::Tools::next_migrate_port() : undef;
+    my $pfamily = PVE::Tools::get_host_address_family($nodename);
+    my $lport = ($raddr eq "localhost") ? PVE::Tools::next_migrate_port($pfamily) : undef;
     $self->{tunnel} = $self->fork_tunnel($self->{nodeip}, $lport, $rport);
 
     my $start = time();
index 08be8ba17583604ab41134de17b8c9396dad6d09..3ac0eae4425812c0a3507a841b1e7c945776f49b 100644 (file)
@@ -3020,7 +3020,9 @@ sub config_to_command {
 
        my $pciaddr = print_pci_addr("spice", $bridges);
 
-       $spice_port = PVE::Tools::next_spice_port();
+       my $nodename = PVE::INotify::nodename();
+       my $pfamily = PVE::Tools::get_host_address_family($nodename);
+       $spice_port = PVE::Tools::next_spice_port($pfamily);
 
        push @$devices, '-spice', "tls-port=${spice_port},addr=127.0.0.1,tls-ciphers=DES-CBC3-SHA,seamless-migration=on";
 
@@ -4194,11 +4196,12 @@ sub vm_start {
            if ($statefile eq 'tcp') {
                my $localip = "localhost";
                my $datacenterconf = PVE::Cluster::cfs_read_file('datacenter.cfg');
+               my $nodename = PVE::INotify::nodename();
                if ($datacenterconf->{migration_unsecure}) {
-                       my $nodename = PVE::INotify::nodename();
                        $localip = PVE::Cluster::remote_node_ip($nodename, 1);
                }
-               $migrate_port = PVE::Tools::next_migrate_port();
+               my $pfamily = PVE::Tools::get_host_address_family($nodename);
+               $migrate_port = PVE::Tools::next_migrate_port($pfamily);
                $migrate_uri = "tcp:${localip}:${migrate_port}";
                push @$cmd, '-incoming', $migrate_uri;
                push @$cmd, '-S';