Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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)