Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IBV_REREG_MR(3)		Libibverbs Programmer's	Manual	       IBV_REREG_MR(3)

NAME
       ibv_rereg_mr - re-register a memory region (MR)

SYNOPSIS
       #include	<infiniband/verbs.h>

       int ibv_rereg_mr(struct ibv_mr *mr, int	flags,
			struct ibv_pd *	pd, void  *addr,
			size_t	length,	int  access);

DESCRIPTION
       ibv_rereg_mr()  Modifies	 the  attributes  of an	existing memory	region
       (MR) mr.	 Conceptually, this call  performs  the	 functions  deregister
       memory  region followed by register memory region.  Where possible, re-
       sources are reused instead of deallocated and reallocated.

       flags is	a bit-mask used	to indicate which of the following  properties
       of  the memory region are being modified. Flags should be a combination
       (bit field) of:

       IBV_REREG_MR_CHANGE_TRANSLATION	 Change	 translation   (location   and
       length)

       IBV_REREG_MR_CHANGE_PD  Change protection domain

       IBV_REREG_MR_CHANGE_ACCESS  Change access flags

       When  IBV_REREG_MR_CHANGE_PD  is	used, pd represents the	new PD this MR
       should be registered to.
       When IBV_REREG_MR_CHANGE_TRANSLATION is	used,  addr.   represents  the
       virtual address (user-space pointer) of the new MR, while length	repre-
       sents its length.

       The access and other flags are represented in the field	access.	  This
       field  describes	the desired memory protection attributes; it is	either
       0 or the	bitwise	OR of one or more of ibv_access_flags.

       RETURN VALUE
	      ibv_rereg_mr() returns 0 on success, otherwise an	error has  oc-
	      curred,  enum  ibv_rereg_mr_err_code  represents the error as of
	      below.
	      IBV_REREG_MR_ERR_INPUT - Old MR is valid,	an input error was de-
	      tected by	libibverbs.
	      IBV_REREG_MR_ERR_DONT_FORK_NEW  -	 Old  MR  is valid, failed via
	      don't fork on new	address	range.
	      IBV_REREG_MR_ERR_DO_FORK_OLD - New MR is valid,  failed  via  do
	      fork on old address range.
	      IBV_REREG_MR_ERR_CMD - MR	shouldn't be used, command error.
	      IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW  -  MR  shouldn't  be used,
	      command error, invalid fork state	on new address range.

NOTES
       Even on a failure, the user still needs to call	ibv_dereg_mr  on  this
       MR.

SEE ALSO
       ibv_reg_mr(3), ibv_dereg_mr(3),

AUTHORS
       Matan Barak <matanb@mellanox.com>

       Yishai Hadas <yishaih@mellanox.com>

libibverbs			  2016-03-13		       IBV_REREG_MR(3)

NAME | SYNOPSIS | DESCRIPTION | NOTES | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ibv_rereg_mr&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help