IB/cma: Add support for network namespaces
authorGuy Shapiro <guysh@mellanox.com>
Thu, 22 Oct 2015 12:20:10 +0000 (15:20 +0300)
committerDoug Ledford <dledford@redhat.com>
Wed, 28 Oct 2015 16:32:48 +0000 (12:32 -0400)
commitfa20105e09e97e81aadf02f722c31195e4a75c84
treebb25c580d408a2c4a96abda8c49c2751e72bfe52
parent4be74b42a6d05a74a21362010cd3920fa17f63c7
IB/cma: Add support for network namespaces

Add support for network namespaces in the ib_cma module. This is
accomplished by:

1. Adding network namespace parameter for rdma_create_id. This parameter is
   used to populate the network namespace field in rdma_id_private.
   rdma_create_id keeps a reference on the network namespace.
2. Using the network namespace from the rdma_id instead of init_net inside
   of ib_cma, when listening on an ID and when looking for an ID for an
   incoming request.
3. Decrementing the reference count for the appropriate network namespace
   when calling rdma_destroy_id.

In order to preserve the current behavior init_net is passed when calling
from other modules.

Signed-off-by: Guy Shapiro <guysh@mellanox.com>
Signed-off-by: Haggai Eran <haggaie@mellanox.com>
Signed-off-by: Yotam Kenneth <yotamke@mellanox.com>
Signed-off-by: Shachar Raindel <raindel@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
14 files changed:
drivers/infiniband/core/cma.c
drivers/infiniband/core/ucma.c
drivers/infiniband/ulp/iser/iser_verbs.c
drivers/infiniband/ulp/isert/ib_isert.c
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
include/rdma/rdma_cm.h
net/9p/trans_rdma.c
net/rds/ib.c
net/rds/ib_cm.c
net/rds/iw.c
net/rds/iw_cm.c
net/rds/rdma_transport.c
net/sunrpc/xprtrdma/svc_rdma_transport.c
net/sunrpc/xprtrdma/verbs.c