On 12/04/2023 00.42, Stanislav Fomichev wrote:
On Sat, Apr 8, 2023 at 12:24 PM Jesper Dangaard Brouer
<brouer@xxxxxxxxxx> wrote:
The tool xdp_hw_metadata can be used by driver developers
implementing XDP-hints kfuncs. The tool transfers the
XDP-hints via metadata information to an AF_XDP userspace
process. When everything works the bpf_printk calls are
unncesssary. Thus, disable bpf_printk by default, but
make it easy to reenable for driver developers to use
when debugging their driver implementation.
This also converts bpf_printk "forwarding UDP:9091 to AF_XDP"
into a code comment. The bpf_printk's that are important
to the driver developers is when bpf_xdp_adjust_meta fails.
The likely mistake from driver developers is expected to
be that they didn't implement XDP metadata adjust support.
Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx>
---
.../testing/selftests/bpf/progs/xdp_hw_metadata.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
index 4c55b4d79d3d..980eb60d8e5b 100644
--- a/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
+++ b/tools/testing/selftests/bpf/progs/xdp_hw_metadata.c
@@ -5,6 +5,19 @@
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_endian.h>
+/* Per default below bpf_printk() calls are disabled. Can be
+ * reenabled manually for convenience by XDP-hints driver developer,
+ * when troublshooting the drivers kfuncs implementation details.
+ *
+ * Remember BPF-prog bpf_printk info output can be access via:
+ * /sys/kernel/debug/tracing/trace_pipe
+ */
+//#define DEBUG 1
+#ifndef DEBUG
+#undef bpf_printk
+#define bpf_printk(fmt, ...) ({})
+#endif
Are you planning to eventually do somethike similar to what I've
mentioned in [0]? If not, should I try to send a patch?
See next patch:
- [PATCH bpf V7 2/7] selftests/bpf: Add counters to xdp_hw_metadata
where I add these counters :-)
0: https://lore.kernel.org/netdev/CAKH8qBupRYEg+SPMTMb4h532GESG7P1QdaFJ-+zrbARVN9xrdA@xxxxxxxxxxxxxx/