If an rdma_cm_id is bound to AF_IB, with a wild card address,
only listen on IB devices.

Signed-off-by: Sean Hefty <sean.he...@intel.com>
---

 drivers/infiniband/core/cma.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 0d3c4ef..c5bb70c 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core/cma.c
@@ -1535,6 +1535,10 @@ static void cma_listen_on_dev(struct rdma_id_private 
*id_priv,
        struct rdma_cm_id *id;
        int ret;
 
+       if (id_priv->id.route.addr.src_addr.ss_family == AF_IB &&
+           rdma_node_get_transport(cma_dev->device->node_type) != 
RDMA_TRANSPORT_IB)
+               return;
+
        id = rdma_create_id(cma_listen_handler, id_priv, id_priv->id.ps);
        if (IS_ERR(id))
                return;



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to