]>
git.proxmox.com Git - mirror_qemu.git/blob - migration/channel.c
2e78905cc759925db7bb74bf49b6cffe89093962
2 * QEMU live migration channel operations
4 * Copyright Red Hat, Inc. 2016
7 * Daniel P. Berrange <berrange@redhat.com>
9 * Contributions after 2012-01-13 are licensed under the terms of the
10 * GNU GPL, version 2 or (at your option) any later version.
13 #include "qemu/osdep.h"
15 #include "migration/migration.h"
16 #include "qemu-file-channel.h"
18 #include "qapi/error.h"
19 #include "io/channel-tls.h"
21 void migration_channel_process_incoming(MigrationState
*s
,
24 trace_migration_set_incoming_channel(
25 ioc
, object_get_typename(OBJECT(ioc
)));
27 if (s
->parameters
.tls_creds
&&
28 *s
->parameters
.tls_creds
&&
29 !object_dynamic_cast(OBJECT(ioc
),
30 TYPE_QIO_CHANNEL_TLS
)) {
31 Error
*local_err
= NULL
;
32 migration_tls_channel_process_incoming(s
, ioc
, &local_err
);
34 error_report_err(local_err
);
37 QEMUFile
*f
= qemu_fopen_channel_input(ioc
);
38 migration_fd_process_incoming(f
);
43 void migration_channel_connect(MigrationState
*s
,
47 trace_migration_set_outgoing_channel(
48 ioc
, object_get_typename(OBJECT(ioc
)), hostname
);
50 if (s
->parameters
.tls_creds
&&
51 *s
->parameters
.tls_creds
&&
52 !object_dynamic_cast(OBJECT(ioc
),
53 TYPE_QIO_CHANNEL_TLS
)) {
54 Error
*local_err
= NULL
;
55 migration_tls_channel_connect(s
, ioc
, hostname
, &local_err
);
57 migrate_fd_error(s
, local_err
);
58 error_free(local_err
);
61 QEMUFile
*f
= qemu_fopen_channel_output(ioc
);
65 migrate_fd_connect(s
);