diff options
author | Guy Shapiro <guysh@mellanox.com> | 2015-10-22 15:20:10 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-10-28 12:32:48 -0400 |
commit | fa20105e09e97e81aadf02f722c31195e4a75c84 (patch) | |
tree | bb25c580d408a2c4a96abda8c49c2751e72bfe52 /net/9p/trans_rdma.c | |
parent | 4be74b42a6d05a74a21362010cd3920fa17f63c7 (diff) | |
download | lwn-fa20105e09e97e81aadf02f722c31195e4a75c84.tar.gz lwn-fa20105e09e97e81aadf02f722c31195e4a75c84.zip |
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>
Diffstat (limited to 'net/9p/trans_rdma.c')
-rw-r--r-- | net/9p/trans_rdma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/9p/trans_rdma.c b/net/9p/trans_rdma.c index ba1210253f5e..52b4a2f993f2 100644 --- a/net/9p/trans_rdma.c +++ b/net/9p/trans_rdma.c @@ -655,8 +655,8 @@ rdma_create_trans(struct p9_client *client, const char *addr, char *args) return -ENOMEM; /* Create the RDMA CM ID */ - rdma->cm_id = rdma_create_id(p9_cm_event_handler, client, RDMA_PS_TCP, - IB_QPT_RC); + rdma->cm_id = rdma_create_id(&init_net, p9_cm_event_handler, client, + RDMA_PS_TCP, IB_QPT_RC); if (IS_ERR(rdma->cm_id)) goto error; |