Spdk/lib/nvme
Shuhei Matsumoto 4a6f858872 nvme_rdma: Set REUSEADDR to reuse source address among multiple CM IDs
When we specify source address for admin and I/O qpairs,
rdma_resolve_addr() succeeded only for admin qpair and failed for
following all I/O qpairs because rdma_resolve_addr() returned
-EADDRINUSE.

To reuse source address among multiple qpairs, set the REUSEADDR option
for each CM ID before executing rdma_resolve_addr() if source address
is specified.

We may miss something. Even if rdma_set_option() fails, execute
rdma_resolve_addr().

Fixes issue #2604

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: If03f82d4499cf83c0e428a62e91c9d9e6aad28e0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14229
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
2022-08-29 11:41:17 +00:00
..
Makefile nvme: Increase major SO version 2022-08-11 19:16:32 +00:00
nvme_ctrlr_cmd.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_ctrlr_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ctrlr.c nvme: add spdk_nvme_ctrlr_disable_read_changed_ns_list_log_page() 2022-08-25 07:31:44 +00:00
nvme_cuse.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_cuse.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_discovery.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_fabric.c nvme_fabrics: Lock mutext when prcessing set/get regs 2022-07-15 16:06:54 +00:00
nvme_internal.h nvme: complete register_operations in the correct process 2022-08-18 10:09:55 +00:00
nvme_io_msg.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_io_msg.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns_cmd.c nvme: add support for verify command 2022-08-16 10:25:01 +00:00
nvme_ns_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_opal_internal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_opal.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_pcie_common.c nvme/pcie, nvme/tcp: add cb_arg context tracepoint argument 2022-08-19 11:06:31 +00:00
nvme_pcie_internal.h nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
nvme_pcie.c nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
nvme_poll_group.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_qpair.c nvme: complete register_operations in the correct process 2022-08-18 10:09:55 +00:00
nvme_quirks.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_rdma.c nvme_rdma: Set REUSEADDR to reuse source address among multiple CM IDs 2022-08-29 11:41:17 +00:00
nvme_tcp.c nvme/pcie, nvme/tcp: add cb_arg context tracepoint argument 2022-08-19 11:06:31 +00:00
nvme_transport.c nvme: complete register_operations in the correct process 2022-08-18 10:09:55 +00:00
nvme_vfio_user.c nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
nvme_zns.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme.c nvme: add disable_read_changed_ns_list_log_page 2022-08-18 10:08:40 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_disable_read_changed_ns_list_log_page() 2022-08-25 07:31:44 +00:00