---
name: "efadv_query_mr"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/efadv_query_mr"
---

# efadv\_query\_mr(3)

Query EFA specific Memory Region attributes

## NAME

efadv\_query\_mr - Query EFA specific Memory Region attributes

## SYNOPSIS

-

  ```
  #include <infiniband/efadv.h>
  int efadv_query_mr(struct ibv_mr *ibvmr, struct efadv_mr_attr *attr, uint32_t inlen);
  ```

## DESCRIPTION

**efadv\_query\_mr()** queries device-specific Memory Region attributes.

Compatibility is handled using the comp\_mask and inlen fields.

-

  ```
  struct efadv_mr_attr {
      uint64_t comp_mask;
      uint16_t ic_id_validity;
      uint16_t recv_ic_id;
      uint16_t rdma_read_ic_id;
      uint16_t rdma_recv_ic_id;
  };
  ```

- *inlen*

  In: Size of struct efadv\_mr\_attr.

- *comp\_mask*

  Compatibility mask.

- *ic\_id\_validity*

  Validity mask of interconnect id fields:

  EFADV\_MR\_ATTR\_VALIDITY\_RECV\_IC\_ID: recv\_ic\_id has a valid value. EFADV\_MR\_ATTR\_VALIDITY\_RDMA\_READ\_IC\_ID: rdma\_read\_ic\_id has a valid value. EFADV\_MR\_ATTR\_VALIDITY\_RDMA\_RECV\_IC\_ID: rdma\_recv\_ic\_id has a valid value.

- *recv\_ic\_id*

  Physical interconnect used by the device to reach the MR for receive operation.

- *rdma\_read\_ic\_id*

  Physical interconnect used by the device to reach the MR for RDMA read operation.

- *rdma\_recv\_ic\_id*

  Physical interconnect used by the device to reach the MR for RDMA write receive.

## RETURN VALUE

**efadv\_query\_mr()** returns 0 on success, or the value of errno on failure (which indicates the failure reason).

## SEE ALSO

[**efadv**(7)](/efadv/7.md)

## NOTES

- •

  Compatibility mask (comp\_mask) is an out field and currently has no values.

## AUTHORS

Michael Margolin ⟨mrgolin@amazon.com⟩\\c
