]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
rdma/cm: only listen on IB devices when using AF_IB
authorSean Hefty <sean.hefty@intel.com>
Wed, 7 Apr 2010 00:22:36 +0000 (17:22 -0700)
committerSean Hefty <sean.hefty@intel.com>
Thu, 13 May 2010 01:05:44 +0000 (18:05 -0700)
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.hefty@intel.com>
drivers/infiniband/core/cma.c

index 635ff49a65c9fbba48d70b8f7829920c168af293..f7ed942f91b71c87288f35afe03f64bff7be5d70 100644 (file)
@@ -1543,6 +1543,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,
                            id_priv->id.qp_type);
        if (IS_ERR(id))