KFunc bpf_wq_set_callback_impl
Set a callback function for a work-queue.
Definition
This kfunc associates a callback function with a work-queue. The work-queue must be initialized with the bpf_wq_init kfunc before calling this function. After the callback function is set, work can be scheduled using the bpf_wq_start kfunc.
The callback will be called asynchronously sometime after the current eBPF program has finished executing whenever the scheduler decides to run the work-queue.
wq: A pointer to a struct bpf_wq which must reside in a map value.
callback_fn: The callback function to be called when the work-queue is run. The callback function must have the following signature: int (callback_fn)(void *map, int *key, struct bpf_wq *wq)
Returns
Return 0 on success, or a negative error code on failure.
Signature
int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (callback_fn)(void * , int * , void * ), unsigned int flags, void *aux__prog)
Usage
Docs could be improved
This part of the docs is incomplete, contributions are very welcome
Program types
The following program types can make use of this kfunc:
- BPF_PROG_TYPE_CGROUP_DEVICEv6.12 -
- BPF_PROG_TYPE_CGROUP_SKB
- BPF_PROG_TYPE_CGROUP_SOCKv6.12 -
- BPF_PROG_TYPE_CGROUP_SOCKOPTv6.12 -
- BPF_PROG_TYPE_CGROUP_SOCK_ADDRv6.7 -
- BPF_PROG_TYPE_CGROUP_SYSCTLv6.12 -
- BPF_PROG_TYPE_LSM
- BPF_PROG_TYPE_LWT_IN
- BPF_PROG_TYPE_LWT_OUT
- BPF_PROG_TYPE_LWT_SEG6LOCAL
- BPF_PROG_TYPE_LWT_XMIT
- BPF_PROG_TYPE_NETFILTER
- BPF_PROG_TYPE_PERF_EVENTv6.12 -
- BPF_PROG_TYPE_SCHED_ACT
- BPF_PROG_TYPE_SCHED_CLS
- BPF_PROG_TYPE_SK_SKB
- BPF_PROG_TYPE_SOCKET_FILTER
- BPF_PROG_TYPE_SOCK_OPSv6.15 -
- BPF_PROG_TYPE_STRUCT_OPS
- BPF_PROG_TYPE_SYSCALL
- BPF_PROG_TYPE_TRACEPOINTv6.12 -
- BPF_PROG_TYPE_TRACING
- BPF_PROG_TYPE_XDP
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome