---
name: "ibv_req_notify_cq"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ibv_req_notify_cq"
---

# ibv\_req\_notify\_cq(3)

request completion notification on a completion queue (CQ)

## NAME

ibv\_req\_notify\_cq - request completion notification on a completion queue (CQ)

## SYNOPSIS

```
#include <infiniband/verbs.h>

int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only);
```

## DESCRIPTION

**ibv\_req\_notify\_cq()** requests a completion notification on the completion queue (CQ) *cq.*

Upon the addition of a new CQ entry (CQE) to *cq,* a completion event will be added to the completion channel associated with the CQ. If the argument *solicited\_only* is zero, a completion event is generated for any new CQE.  If  *solicited\_only* is non-zero, an event is only generated for a new CQE with that is considered "solicited."  A CQE is solicited if it is a receive completion for a message with the Solicited Event header bit set, or if the status is not successful.  All other successful receive completions, or any successful send completion is unsolicited.

## RETURN VALUE

**ibv\_req\_notify\_cq()** returns 0 on success, or the value of errno on failure (which indicates the failure reason).

## NOTES

The request for notification is "one shot."  Only one completion event will be generated for each call to **ibv\_req\_notify\_cq().**

## SEE ALSO

[**ibv\_create\_comp\_channel**(3)](/ibv_create_comp_channel/3.md), [**ibv\_create\_cq**(3)](/ibv_create_cq/3.md), [**ibv\_get\_cq\_event**(3)](/ibv_get_cq_event/3.md)

## AUTHORS

- Dotan Barak \<dotanba@gmail.com\>
