KFunc bpf_wq_set_callback_impl
Set a callback function for a workqueue.
Definition
This kfunc associates a callback function with a workqueue. The workqueue 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 workqueue.
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 workqueue 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.
int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (callback_fn)(void * , int * , struct bpf_wq * ), unsigned int flags, void *aux__ign)
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_SKB
- BPF_PROG_TYPE_CGROUP_SOCK_ADDR
- 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_SCHED_ACT
- BPF_PROG_TYPE_SCHED_CLS
- BPF_PROG_TYPE_SK_SKB
- BPF_PROG_TYPE_SOCKET_FILTER
- BPF_PROG_TYPE_STRUCT_OPS
- BPF_PROG_TYPE_SYSCALL
- BPF_PROG_TYPE_TRACING
- BPF_PROG_TYPE_XDP
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome