qemu/migration
Jack Wang 0bafd6e9cb migration/rdma: Remove qemu_rdma_broken_ipv6_kernel
I hit following error which testing migration in pure RoCE env:
"-incoming rdma:[::]:8089: RDMA ERROR: You only have RoCE / iWARP devices in your
systems and your management software has specified '[::]', but IPv6 over RoCE /
iWARP is not supported in Linux.#012'."

In our setup, we use rdma bind on ipv6 on target host, while connect from source
with ipv4, remove the qemu_rdma_broken_ipv6_kernel, migration just work
fine.

Checking the git history, the function was added since introducing of
rdma migration, which is more than 10 years ago. linux-rdma has
improved support on RoCE/iWARP for ipv6 over past years. There are a few fixes
back in 2016 seems related to the issue, eg:
aeb76df46d11 ("IB/core: Set routable RoCE gid type for ipv4/ipv6 networks")

other fixes back in 2018, eg:
052eac6eeb56 RDMA/cma: Update RoCE multicast routines to use net namespace
8d20a1f0ecd5 RDMA/cma: Fix rdma_cm raw IB path setting for RoCE
9327c7afdce3 RDMA/cma: Provide a function to set RoCE path record L2 parameters
5c181bda77f4 RDMA/cma: Set default GID type as RoCE when resolving RoCE route
3c7f67d1880d IB/cma: Fix default RoCE type setting
be1d325a3358 IB/core: Set RoCEv2 MGID according to spec
63a5f483af0e IB/cma: Set default gid type to RoCEv2

So remove the outdated function and it's usage.

Cc: Peter Xu <peterx@redhat.com>
Cc: Li Zhijian <lizhijian@fujitsu.com>
Cc: Yu Zhang <yu.zhang@ionos.com>
Cc: Fabiano Rosas <farosas@suse.de>
Cc: qemu-devel@nongnu.org
Cc: linux-rdma@vger.kernel.org
Cc: michael@flatgalaxy.com
Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Tested-by: Li zhijian <lizhijian@fujitsu.com>
Reviewed-by: Michael Galaxy <mrgalaxy@nvidia.com>
Link: https://lore.kernel.org/r/20250402051306.6509-1-jinpu.wang@ionos.com
[peterx: some cosmetic changes]
Signed-off-by: Peter Xu <peterx@redhat.com>
2025-05-02 11:09:36 -04:00
..
block-active.c migration/block-active: Remove global active flag 2025-02-06 14:26:51 +01:00
block-dirty-bitmap.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
channel-block.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
channel-block.h migration: introduce a QIOChannel impl for BlockDriverState VMState 2022-06-22 19:33:43 +01:00
channel.c migration: Fix hang after error in destination setup phase 2025-02-14 15:19:05 -03:00
channel.h migration: check magic value for deciding the mapping of channels 2023-02-06 19:22:57 +01:00
colo-failover.c migration/colo: Improve an x-colo-lost-heartbeat error message 2023-02-23 14:10:17 +01:00
colo-stubs.c migration/colo: make colo_incoming_co() return void 2024-05-22 17:34:31 -03:00
colo.c migration: Add MIG_CMD_SWITCHOVER_START and its load handler 2025-03-06 06:47:33 +01:00
cpr-transfer.c migration: cpr-transfer save and load 2025-01-29 11:43:05 -03:00
cpr.c migration: cpr_is_incoming 2025-03-14 09:29:19 -03:00
cpu-throttle.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dirtyrate.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
dirtyrate.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
exec.c migration: simplify exec migration functions 2024-03-04 07:12:40 +01:00
exec.h migration: convert exec backend to accept MigrateAddress. 2023-11-02 11:35:04 +01:00
fd.c migration: Allow pipes to keep working for fd migrations 2024-11-25 16:21:55 -05:00
fd.h migration: Revert mapped-ram multifd support to fd: URI 2024-03-22 12:12:08 -04:00
file.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
file.h migration/multifd: Pass in MultiFDPages_t to file_write_ramblock_iov 2024-09-03 16:24:35 -03:00
global_state.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
meson.build migration/multifd: Device state transfer support - send side 2025-03-06 06:47:33 +01:00
migration-hmp-cmds.c migration: Add MIG_CMD_SWITCHOVER_START and its load handler 2025-03-06 06:47:33 +01:00
migration-stats.c migration: migration_rate_limit_reset() don't need the QEMUFile 2023-10-31 08:44:33 +01:00
migration-stats.h migration: Remove transferred atomic counter 2023-10-31 08:44:33 +01:00
migration.c migration: Add save_postcopy_prepare() savevm handler 2025-05-02 11:09:36 -04:00
migration.h migration: Add thread pool of optional load threads 2025-03-06 06:47:33 +01:00
multifd-device-state.c migration: Add save_live_complete_precopy_thread handler 2025-03-06 06:47:33 +01:00
multifd-nocomp.c Miscellaneous patches for 2025-04-24 2025-04-24 13:44:57 -04:00
multifd-qatzip.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd-qpl.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd-uadk.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd-zero-page.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd-zlib.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd-zstd.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
multifd.c migration/multifd: move macros to multifd header 2025-05-02 11:09:36 -04:00
multifd.h migration/multifd: move macros to multifd header 2025-05-02 11:09:36 -04:00
options.c migration: Fix latent bug in migrate_params_test_apply() 2025-05-02 11:09:36 -04:00
options.h migration: check RDMA and capabilities are compatible on both sides 2025-05-02 11:09:36 -04:00
page_cache.c migration: Fix cache_init()'s "Failed to allocate" error messages 2021-02-08 11:19:51 +00:00
page_cache.h migration: Clean up signed vs. unsigned XBZRLE cache-size 2021-02-08 11:19:51 +00:00
postcopy-ram.c include/system: Move exec/ramblock.h to system/ramblock.h 2025-04-23 14:08:26 -07:00
postcopy-ram.h migration/postcopy: Add postcopy-recover-setup phase 2024-06-21 09:47:59 -03:00
qemu-file.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
qemu-file.h migration/qemu-file: Define g_autoptr() cleanup function for QEMUFile 2025-03-06 06:47:34 +01:00
ram.c migration/postcopy: Spatial locality page hint for preempt mode 2025-05-02 11:09:36 -04:00
ram.h migration/ram: Move RAM_SAVE_FLAG* into ram.h 2025-01-09 17:38:15 -03:00
rdma.c migration/rdma: Remove qemu_rdma_broken_ipv6_kernel 2025-05-02 11:09:36 -04:00
rdma.h migration: Unfold control_save_page() 2025-05-02 11:09:36 -04:00
savevm.c migration: Add save_postcopy_prepare() savevm handler 2025-05-02 11:09:36 -04:00
savevm.h migration: Add save_postcopy_prepare() savevm handler 2025-05-02 11:09:36 -04:00
socket.c migration: Remove unused socket_send_channel_create_sync 2024-10-08 15:28:55 -04:00
socket.h migration: Remove unused socket_send_channel_create_sync 2024-10-08 15:28:55 -04:00
target.c vfio: Introduce a new header file for external migration services 2025-04-25 09:01:37 +02:00
threadinfo.c migration/multifd: Protect accesses to migration_threads 2023-07-26 10:55:56 +02:00
threadinfo.h migration/multifd: Protect accesses to migration_threads 2023-07-26 10:55:56 +02:00
tls.c migration/multifd: Terminate the TLS connection 2025-02-14 15:19:04 -03:00
tls.h migration/multifd: Terminate the TLS connection 2025-02-14 15:19:04 -03:00
trace-events migration: Add MIG_CMD_SWITCHOVER_START and its load handler 2025-03-06 06:47:33 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmstate-types.c migration: cpr-transfer mode 2025-01-29 11:56:24 -03:00
vmstate.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
xbzrle.c migration/xbzrle: Use i386 host/cpuinfo.h 2023-05-23 16:51:18 -07:00
xbzrle.h migration/xbzrle: Use i386 host/cpuinfo.h 2023-05-23 16:51:18 -07:00
yank_functions.c migration/yank: Use channel features 2024-01-29 11:02:12 +08:00
yank_functions.h migration: Move the yank unregister of channel_close out 2021-07-26 12:45:03 +01:00