ibv_share_pd
(3)
Name
ibv_share_pd - share a protection domain (PD).
Synopsis
#include <infiniband/verbs.h>
struct ibv_pd *ibv_share_pd(struct ibv_context *context,
struct ibv_shpd *shpd, uint64_t share_key);
Description
Libibverbs Programmer's Manual IBV_SHARE_PD(3)
NAME
ibv_share_pd - share a protection domain (PD).
SYNOPSIS
#include <infiniband/verbs.h>
struct ibv_pd *ibv_share_pd(struct ibv_context *context,
struct ibv_shpd *shpd, uint64_t share_key);
DESCRIPTION
ibv_share_pd() shares the protection domain specified by a unique iden-
tifier shpd for the RDMA device context context. share_key is the 64
bit key used to generate the unique identifier shpd. ibv_pds created
using ibv_share_pd() can be deallocated using ibv_dealloc_pd(). Libib-
verbs keeps track of each instance of the shared PD and removes the PD
from RDMA device when the last instance of the shared PD is deallo-
cated.
RETURN VALUE
ibv_share_pd() returns a pointer to the shared pd or NULL if the
request fails.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------+
|Availability | network/open-fabrics |
+---------------+-----------------------+
|Stability | Pass-through volatile |
+---------------+-----------------------+
NOTES
Even though the same PD is shared by multiple contexts of an RDMA
device or processes, the life span of each resource created in an
'ibv_pd' linked to a context or process is limited by the life span of
that instance of 'ibv_pd'. e.g. The life span of an MR mr1 created
under ibv_pd pd1 (which is an instance of shared PD shPD1) will end
whenever pd1 is deallocated, even though underlying shPD1 may continue
to live on.
Sharing PD is not supported among 'ibv_context' created for different
RDMA devices.
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from ['https://www.openfabrics.org/down-
loads/ibutils/ibutils-1.5.7-0.2.gbd7e502.tar.gz', 'https://www.openfab-
rics.org/downloads/libibverbs/libibverbs-1.1.8.tar.gz',
'https://www.openfabrics.org/downloads/libmlx4/libmlx4-1.0.6.tar.gz',
'https://www.openfabrics.org/downloads/libsdp/lib-
sdp-1.1.108-0.15.gd7fdb72.tar.gz', 'https://www.openfabrics.org/down-
loads/management/infiniband-diags-1.6.5.tar.gz', 'https://www.openfab-
rics.org/downloads/management/libibmad-1.3.12.tar.gz',
'https://www.openfabrics.org/downloads/management/libibu-
mad-1.3.10.2.tar.gz', 'https://www.openfabrics.org/downloads/manage-
ment/opensm-3.3.19.tar.gz', 'https://www.openfabrics.org/down-
loads/perftest/perftest-1.3.0-0.42.gf350d3d.tar.gz', 'https://www.open-
fabrics.org/downloads/qperf/qperf-0.4.9.tar.gz', 'https://www.openfab-
rics.org/downloads/rdmacm/librdmacm-1.0.21.tar.gz', 'https://www.open-
fabrics.org/downloads/rds-tools/rds-tools-2.0.4.tar.gz'].
Further information about this software can be found on the open source
community website at http://www.openfabrics.org/.
SEE ALSO
ibv_alloc_shpd(3), ibv_dealloc_pd(3)
AUTHORS
Arun Kaimalettu <gotoarunk at gmail dot com>
libibverbs 2012-02-29 IBV_SHARE_PD(3)