Re-registration MR allows the user to change attributes of the memory region. The user may change the PD, access flag or the address and length of the memory region.
MR Registration/Re-Registration Experimental vs. RDMA-Core Verbs
Experimental Verbs | RDMA-Core Verbs | ||
---|---|---|---|
ibv_exp_reg_mr | ibv_reg_mr | ||
IBV_EXP_ACCESS_* | IBV_ACCESS_* | ||
IBV_EXP_ACCESS_ALLOCATE_MR | Please refer to the Contiguous Pages section | ||
IBV_EXP_ACCESS_SHARED_MR_* IBV_EXP_ACCESS_NO_RDMA | Shared MR functionality is deprecated in OFED and not supported in RDMA-Core. | ||
IBV_EXP_ACCESS_RELAXED | ODP relaxed Replaced with implicit ODP | ||
IBV_EXP_ACCESS_PHYSICAL_ADDR | Please refer to the Physical Address Memory Allocation section. | ||
IBV_EXP_ACCESS_TUNNELED_ATOMIC | Not supported in RDMA-Core | ||
IBV_EXP_REG_MR_DM | ibv_reg_dm_mr | ||
ibv_exp_rereg_mr | ibv_rereg_mr | ||
IBV_EXP_REREG_MR_CHANGE_TRANSLATION | IBV_REREG_MR_CHANGE_TRANSLATION | ||
IBV_EXP_REREG_MR_CHANGE_PD | IBV_REREG_MR_CHANGE_PD | ||
IBV_EXP_REREG_MR_CHANGE_ACCESS | IBV_REREG_MR_CHANGE_ACCESS | ||
IBV_EXP_ACCESS_* | IBV_ACCESS_* |
Relevant Man Pages
- ibv_reg_mr: https://github.com/linux-rdma/rdma-core/blob/master/libibverbs/man/ibv_reg_mr.3
- ibv_rereg_mr: https://github.com/linux-rdma/rdma-core/blob/master/libibverbs/man/ibv_rereg_mr.3.md
Example
See example in libibverbs/examples/rc_pingpong.c