Skip to content

Commit 6ac3c85

Browse files
gerd-rauschjfvogel
authored andcommitted
ib/core: Adding match_net_dev_ignore_port workaround.
Oracle's failover solution works with the assumption that listeners bound to a specific IP-address (rdma_bind_addr) will travel with the migration of that IP-address. The check for a specific port / device was introduced with upstream commit 4c21b5b ("IB/cma: Add net_dev and private data checks to RDMA CM") For now, just ignore the port check, so a listener bound to a neighboring port still matches. Orabug: 28167460 Signed-off-by: Gerd Rausch <[email protected]> Reviewed-by: Håkon Bugge <[email protected]>
1 parent 5b028f7 commit 6ac3c85

File tree

1 file changed

+5
-1
lines changed
  • drivers/infiniband/core

1 file changed

+5
-1
lines changed

drivers/infiniband/core/cma.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ static int debug_level;
9292
module_param_named(debug_level, debug_level, int, 0644);
9393
MODULE_PARM_DESC(debug_level, "debug level default=0");
9494

95+
static bool match_net_dev_ignore_port = true;
96+
module_param(match_net_dev_ignore_port, bool, 0644);
97+
9598
static const char * const cma_events[] = {
9699
[RDMA_CM_EVENT_ADDR_RESOLVED] = "address resolved",
97100
[RDMA_CM_EVENT_ADDR_ERROR] = "address error",
@@ -1460,7 +1463,8 @@ static bool cma_match_net_dev(const struct rdma_cm_id *id,
14601463

14611464
if (!net_dev)
14621465
/* This request is an AF_IB request or a RoCE request */
1463-
return (!id->port_num || id->port_num == port_num) &&
1466+
return (match_net_dev_ignore_port ||
1467+
!id->port_num || id->port_num == port_num) &&
14641468
(addr->src_addr.ss_family == AF_IB ||
14651469
cma_protocol_roce_dev_port(id->device, port_num));
14661470

0 commit comments

Comments
 (0)