io_uring_register_ifq(3)

io_uring_register_ifq3

Register a zero-copy receive interface queue

Usage

#include <liburing.h>

int io_uring_register_ifq(struct io_uring *ring, struct io_uring_zcrx_ifq_reg *reg);

Overview

The io_uring_register_ifq(3) function registers a zero-copy receive interface queue with the io_uring instance specified by ring. Zero-copy receive allows the kernel to place incoming network data directly into application-provided memory without copying.

The reg argument is a pointer to a struct io_uring_zcrx_ifq_reg that describes the interface queue to register. See io_uring_register(2) for a description of the IORING_REGISTER_ZCRX_IFQ operation and the structure fields.

The io_uring ring must have been created with IORING_SETUP_DEFER_TASKRUN and either IORING_SETUP_CQE32 or IORING_SETUP_CQE_MIXED flags set. The caller must have the CAP_NET_ADMIN capability.

Return value

Returns 0 on success. On error, a negative errno value is returned.

From liburing 2.15-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.