Thread (31 messages) 31 messages, 4 authors, 2021-04-10

Re: [PATCHv2 bpf-next 06/15] bpf: Document BPF_PROG_TEST_RUN syscall command

From: Yonghong Song <hidden>
Date: 2021-03-03 23:06:55
Also in: bpf, linux-doc


On 3/2/21 9:19 AM, Joe Stringer wrote:
Based on a brief read of the corresponding source code.

Acked-by: Toke Høiland-Jørgensen <redacted>
Reviewed-by: Quentin Monnet <redacted>
Signed-off-by: Joe Stringer <redacted>
Acked-by: Yonghong Song <redacted>
quoted hunk ↗ jump to hunk
---
  include/uapi/linux/bpf.h | 14 +++++++++++---
  1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index a8f2964ec885..a6cd6650e23d 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -306,14 +306,22 @@ union bpf_iter_link_info {
   *
   * BPF_PROG_TEST_RUN
   *	Description
- *		Run an eBPF program a number of times against a provided
- *		program context and return the modified program context and
- *		duration of the test run.
+ *		Run the eBPF program associated with the *prog_fd* a *repeat*
+ *		number of times against a provided program context *ctx_in* and
+ *		data *data_in*, and return the modified program context
+ *		*ctx_out*, *data_out* (for example, packet data), result of the
+ *		execution *retval*, and *duration* of the test run.
FYI, Lorenz's BPF_PROG_TEST_RUN support for sk_lookup program
requires data_in and data_out to be NULL. Not sure whether it is 
worthwhile to specially mention here or not. The patch has not
been merged but close.

https://lore.kernel.org/bpf/20210301101859.46045-1-lmb@cloudflare.com/ (local)
   *
   *	Return
   *		Returns zero on success. On error, -1 is returned and *errno*
   *		is set appropriately.
   *
+ *		**ENOSPC**
+ *			Either *data_size_out* or *ctx_size_out* is too small.
+ *		**ENOTSUPP**
+ *			This command is not supported by the program type of
+ *			the program referred to by *prog_fd*.
+ *
   * BPF_PROG_GET_NEXT_ID
   *	Description
   *		Fetch the next eBPF program currently loaded into the kernel.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help