io_uring_register_ifq(3)
π io_uring_register_ifq β the liburing manual, bestie edition π
okay so you're in the liburing Manual and this is the page for io_uring_register_ifq(3) π
β¨ NAME β¨
io_uring_register_ifq β register a zero-copy receive interface queue π¦
πΈ SYNOPSIS πΈ
#include <liburing.h>
int io_uring_register_ifq(struct io_uring *ring,
struct io_uring_zcrx_ifq_reg *reg);
π DESCRIPTION π
so io_uring_register_ifq(3) registers a zero-copy receive interface queue with the io_uring instance you pass in as ring. and why do we care? because zero-copy receive lets the kernel drop incoming network data straight into memory your app provided β no copying, none, zero, it's giving efficiency β¨
the reg argument is a pointer to a struct io_uring_zcrx_ifq_reg, and it's basically the little description card for the interface queue you wanna register π if you wanna know about the IORING_REGISTER_ZCRX_IFQ operation and all the struct fields, go read io_uring_register(2), it's all in there.
π¨ ok now the rules, and these are NOT optional bestie: - your io_uring ring must have been created withIORING_SETUP_DEFER_TASKRUNand eitherIORING_SETUP_CQE32orIORING_SETUP_CQE_MIXEDflags set. both. the defer one and one of the other two. no shortcuts π - the caller must have theCAP_NET_ADMINcapability. like, actually. π
π RETURN VALUE π
returns 0 on success π on error, you get a negative errno value back. sad but informative π
π«Ά SEE ALSO π«Ά
ok that's the whole page, you ate it π β¨ this was liburing-2.10, dated January 18, 2025 β go register something iconic bestie, iykyk π¦πΈπ
π¦ where this page comes from
- alpine 3.24: liburing-doc 2.14-r0 Β· LGPL-2.1-or-later OR MIT
- arch rolling: liburing 2.15-1 Β· GPL-2.0-only WITH Linux-syscall-note OR MIT AND LGPL-2.0-or-later AND MIT
- nixpkgs unstable: liburing 2.14
- ubuntu resolute: liburing-dev 2.14-1
- ubuntu stonking: liburing-dev 2.15-1
- π the page's license: LGPL-2.0-or-later
- Copyright (C) 2025 Jens Axboe <axboe@kernel.dk>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms