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.
int bpf_wq_set_callback_impl(struct bpf_wq *wq, int (callback_fn)(void * , int * , void * ), 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