Current File : //usr/share/man/man3/ibv_share_pd.3
'\" te
.\" -*- nroff -*-
.\"
.TH IBV_SHARE_PD 3 2012-02-29 libibverbs "Libibverbs Programmer's Manual"
.SH "NAME"
ibv_share_pd \- share a protection domain (PD). 
.SH "SYNOPSIS"
.nf
.B #include <infiniband/verbs.h>
.sp
.BI "struct ibv_pd *ibv_share_pd(struct ibv_context " "*context" ", "
.BI "                            struct ibv_shpd " "*shpd" ", uint64_t " "share_key");
.sp
.fi
.SH "DESCRIPTION"
.B ibv_share_pd()
shares the protection domain specified by a unique identifier 
.I shpd
for the RDMA device context 
.I context\fR.
.I share_key
is the 64 bit key used to generate the unique identifier 
.I shpd\fR.
.I ibv_pd\fRs created using
.B ibv_share_pd()
can be deallocated using
.B ibv_dealloc_pd()\fR.
Libibverbs 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 deallocated.
.SH "RETURN VALUE"
.B ibv_share_pd()
returns a pointer to the shared pd or NULL if the request fails.


.\" Oracle has added the ARC stability level to this manual page
.SH ATTRIBUTES
See
.BR attributes (5)
for descriptions of the following attributes:
.sp
.TS
box;
cbp-1 | cbp-1
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE 
=
Availability	network/open-fabrics
=
Stability	Volatile
.TE 
.PP
.SH "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 
.I mr1
created under ibv_pd
.I pd1
(which is an instance of shared PD 
.I shPD1\fR)
will end whenever
.I pd1
is deallocated, even though underlying 
.I shPD1
may continue to live on.
.PP
Sharing PD is not supported among 'ibv_context' created for different RDMA devices.
.SH "SEE ALSO"
.BR ibv_alloc_shpd (3),
.BR ibv_dealloc_pd (3)

.SH "AUTHORS"
.TP
Arun Kaimalettu <gotoarunk at gmail dot com>


.\" Oracle has added source availability information to this manual page
This software was built from source available at https://java.net/projects/solaris-userland.  The original community source was downloaded from  ['http://download.oracle.com/otn-pub/oss/networking/libsif-1.0.tar.gz', 'http://www.openfabrics.org/downloads/ibutils/ibutils-1.5.7.tar.gz', 'http://www.openfabrics.org/downloads/libibverbs/libibverbs-1.1.4-1.22.g7257cd3.tar.gz', 'http://www.openfabrics.org/downloads/libmlx4/libmlx4-1.0.1-1.18.gb810a27.tar.gz', 'http://www.openfabrics.org/downloads/libsdp/libsdp-1.1.108-0.15.gd7fdb72.tar.gz', 'http://www.openfabrics.org/downloads/management/infiniband-diags-1.5.8.tar.gz', 'http://www.openfabrics.org/downloads/management/libibmad-1.3.7.tar.gz', 'http://www.openfabrics.org/downloads/management/libibumad-1.3.7.tar.gz', 'http://www.openfabrics.org/downloads/management/opensm-3.3.9.tar.gz', 'http://www.openfabrics.org/downloads/perftest/perftest-1.3.0-0.42.gf350d3d.tar.gz', 'http://www.openfabrics.org/downloads/qperf/qperf-0.4.6-0.1.gb81434e.tar.gz', 'http://www.openfabrics.org/downloads/rdmacm/librdmacm-1.0.14.1.tar.gz', 'http://www.openfabrics.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/.