]>
Commit | Line | Data |
---|---|---|
1f0776f1 JQ |
1 | /* |
2 | * QEMU migration capabilities | |
3 | * | |
4 | * Copyright (c) 2012-2023 Red Hat Inc | |
5 | * | |
6 | * Authors: | |
7 | * Orit Wasserman <owasserm@redhat.com> | |
8 | * Juan Quintela <quintela@redhat.com> | |
9 | * | |
10 | * This work is licensed under the terms of the GNU GPL, version 2 or later. | |
11 | * See the COPYING file in the top-level directory. | |
12 | */ | |
13 | ||
14 | #ifndef QEMU_MIGRATION_OPTIONS_H | |
15 | #define QEMU_MIGRATION_OPTIONS_H | |
16 | ||
f9436522 JQ |
17 | #include "hw/qdev-properties.h" |
18 | #include "hw/qdev-properties-system.h" | |
19 | ||
f9436522 JQ |
20 | /* migration properties */ |
21 | ||
22 | extern Property migration_properties[]; | |
23 | ||
1f0776f1 JQ |
24 | /* capabilities */ |
25 | ||
26 | bool migrate_auto_converge(void); | |
27 | bool migrate_background_snapshot(void); | |
9d4b1e5f | 28 | bool migrate_block(void); |
5e804644 | 29 | bool migrate_colo(void); |
a7a94d14 | 30 | bool migrate_compress(void); |
1f0776f1 | 31 | bool migrate_dirty_bitmaps(void); |
dc623955 | 32 | bool migrate_dirty_limit(void); |
b890902c | 33 | bool migrate_events(void); |
1f0776f1 JQ |
34 | bool migrate_ignore_shared(void); |
35 | bool migrate_late_block_activate(void); | |
51b07548 | 36 | bool migrate_multifd(void); |
1f0776f1 JQ |
37 | bool migrate_pause_before_switchover(void); |
38 | bool migrate_postcopy_blocktime(void); | |
39 | bool migrate_postcopy_preempt(void); | |
40 | bool migrate_postcopy_ram(void); | |
17cba690 | 41 | bool migrate_rdma_pin_all(void); |
1f0776f1 | 42 | bool migrate_release_ram(void); |
38ad1110 | 43 | bool migrate_return_path(void); |
6574232f | 44 | bool migrate_switchover_ack(void); |
1f0776f1 | 45 | bool migrate_validate_uuid(void); |
87dca0c9 | 46 | bool migrate_xbzrle(void); |
1f0776f1 | 47 | bool migrate_zero_blocks(void); |
b4bc342c | 48 | bool migrate_zero_copy_send(void); |
1f0776f1 | 49 | |
f774fde5 JQ |
50 | /* |
51 | * pseudo capabilities | |
52 | * | |
53 | * These are functions that are used in a similar way to capabilities | |
54 | * check, but they are not a capability. | |
55 | */ | |
56 | ||
77c259a4 | 57 | bool migrate_multifd_flush_after_each_section(void); |
f774fde5 | 58 | bool migrate_postcopy(void); |
10d4703b | 59 | bool migrate_tls(void); |
f774fde5 | 60 | |
77608706 JQ |
61 | /* capabilities helpers */ |
62 | ||
63 | bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp); | |
f80196b7 | 64 | bool migrate_cap_set(int cap, bool value, Error **errp); |
77608706 | 65 | |
1dfc4b9e JQ |
66 | /* parameters */ |
67 | ||
b804b35b | 68 | const BitmapMigrationNodeAliasList *migrate_block_bitmap_mapping(void); |
3cba22c9 JQ |
69 | bool migrate_has_block_bitmap_mapping(void); |
70 | ||
6f8be708 | 71 | bool migrate_block_incremental(void); |
f94a858f | 72 | uint32_t migrate_checkpoint_delay(void); |
1dfc4b9e JQ |
73 | int migrate_compress_level(void); |
74 | int migrate_compress_threads(void); | |
75 | int migrate_compress_wait_thread(void); | |
9605c2ac | 76 | uint8_t migrate_cpu_throttle_increment(void); |
2a8ec380 | 77 | uint8_t migrate_cpu_throttle_initial(void); |
873f674c | 78 | bool migrate_cpu_throttle_tailslow(void); |
1dfc4b9e | 79 | int migrate_decompress_threads(void); |
f5da8ba4 | 80 | uint64_t migrate_downtime_limit(void); |
24155bd0 | 81 | uint8_t migrate_max_cpu_throttle(void); |
9c894df3 | 82 | uint64_t migrate_max_bandwidth(void); |
52033349 | 83 | uint64_t migrate_max_postcopy_bandwidth(void); |
1dfc4b9e JQ |
84 | int migrate_multifd_channels(void); |
85 | MultiFDCompression migrate_multifd_compression(void); | |
86 | int migrate_multifd_zlib_level(void); | |
87 | int migrate_multifd_zstd_level(void); | |
6499efdb | 88 | uint8_t migrate_throttle_trigger_threshold(void); |
2eb0308b | 89 | const char *migrate_tls_authz(void); |
d5c3e195 | 90 | const char *migrate_tls_creds(void); |
1f2f366c | 91 | const char *migrate_tls_hostname(void); |
1dfc4b9e JQ |
92 | uint64_t migrate_xbzrle_cache_size(void); |
93 | ||
87c22901 JQ |
94 | /* parameters setters */ |
95 | ||
96 | void migrate_set_block_incremental(bool value); | |
97 | ||
09d6c965 JQ |
98 | /* parameters helpers */ |
99 | ||
100 | bool migrate_params_check(MigrationParameters *params, Error **errp); | |
61a174e2 | 101 | void migrate_params_init(MigrationParameters *params); |
b1a87956 | 102 | void block_cleanup_parameters(void); |
09d6c965 | 103 | |
1f0776f1 | 104 | #endif |