##
{ 'include': 'common.json' }
+{ 'include': 'sockets.json' }
##
# @MigrationStats:
# @compression: migration compression statistics, only returned if compression
# feature is on and status is 'active' or 'completed' (Since 3.1)
#
+# @socket-address: Only used for tcp, to know what the real port is (Since 4.0)
+#
# Since: 0.14.0
##
{ 'struct': 'MigrationInfo',
'*error-desc': 'str',
'*postcopy-blocktime' : 'uint32',
'*postcopy-vcpu-blocktime': ['uint32'],
- '*compression': 'CompressionStats'} }
+ '*compression': 'CompressionStats',
+ '*socket-address': ['SocketAddress'] } }
##
# @query-migrate:
# devices (and thus take locks) immediately at the end of migration.
# (since 3.0)
#
+# @x-ignore-shared: If enabled, QEMU will not migrate shared memory (since 4.0)
+#
# Since: 1.2
##
{ 'enum': 'MigrationCapability',
'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram',
'block', 'return-path', 'pause-before-switchover', 'x-multifd',
- 'dirty-bitmaps', 'postcopy-blocktime', 'late-block-activate' ] }
+ 'dirty-bitmaps', 'postcopy-blocktime', 'late-block-activate',
+ 'x-ignore-shared' ] }
##
# @MigrationCapabilityStatus:
#
# Migration parameters enumeration
#
+# @announce-initial: Initial delay (in milliseconds) before sending the first
+# announce (Since 4.0)
+#
+# @announce-max: Maximum delay (in milliseconds) between packets in the
+# announcement (Since 4.0)
+#
+# @announce-rounds: Number of self-announce packets sent after migration
+# (Since 4.0)
+#
+# @announce-step: Increase in delay (in milliseconds) between subsequent
+# packets in the announcement (Since 4.0)
+#
# @compress-level: Set the compression level to be used in live migration,
# the compression level is an integer between 0 and 9, where 0 means
# no compression, 1 means the best compression speed, and 9 means best
#
# @max-cpu-throttle: maximum cpu throttle percentage.
# Defaults to 99. (Since 3.1)
+#
# Since: 2.4
##
{ 'enum': 'MigrationParameter',
- 'data': ['compress-level', 'compress-threads', 'decompress-threads',
+ 'data': ['announce-initial', 'announce-max',
+ 'announce-rounds', 'announce-step',
+ 'compress-level', 'compress-threads', 'decompress-threads',
'compress-wait-thread',
'cpu-throttle-initial', 'cpu-throttle-increment',
'tls-creds', 'tls-hostname', 'max-bandwidth',
##
# @MigrateSetParameters:
#
+# @announce-initial: Initial delay (in milliseconds) before sending the first
+# announce (Since 4.0)
+#
+# @announce-max: Maximum delay (in milliseconds) between packets in the
+# announcement (Since 4.0)
+#
+# @announce-rounds: Number of self-announce packets sent after migration
+# (Since 4.0)
+#
+# @announce-step: Increase in delay (in milliseconds) between subsequent
+# packets in the announcement (Since 4.0)
+#
# @compress-level: compression level
#
# @compress-threads: compression thread count
# TODO either fuse back into MigrationParameters, or make
# MigrationParameters members mandatory
{ 'struct': 'MigrateSetParameters',
- 'data': { '*compress-level': 'int',
+ 'data': { '*announce-initial': 'size',
+ '*announce-max': 'size',
+ '*announce-rounds': 'size',
+ '*announce-step': 'size',
+ '*compress-level': 'int',
'*compress-threads': 'int',
'*compress-wait-thread': 'bool',
'*decompress-threads': 'int',
#
# The optional members aren't actually optional.
#
+# @announce-initial: Initial delay (in milliseconds) before sending the
+# first announce (Since 4.0)
+#
+# @announce-max: Maximum delay (in milliseconds) between packets in the
+# announcement (Since 4.0)
+#
+# @announce-rounds: Number of self-announce packets sent after migration
+# (Since 4.0)
+#
+# @announce-step: Increase in delay (in milliseconds) between subsequent
+# packets in the announcement (Since 4.0)
+#
# @compress-level: compression level
#
# @compress-threads: compression thread count
# Since: 2.4
##
{ 'struct': 'MigrationParameters',
- 'data': { '*compress-level': 'uint8',
+ 'data': { '*announce-initial': 'size',
+ '*announce-max': 'size',
+ '*announce-rounds': 'size',
+ '*announce-step': 'size',
+ '*compress-level': 'uint8',
'*compress-threads': 'uint8',
'*compress-wait-thread': 'bool',
'*decompress-threads': 'uint8',
# Example:
#
# -> { "execute": "query-colo-status" }
-# <- { "return": { "mode": "primary", "active": true, "reason": "request" } }
+# <- { "return": { "mode": "primary", "reason": "request" } }
#
# Since: 3.1
##