The virtio-net code for eBPF RSS is still ignoring errors when failing to load the eBPF RSS program passed in by the mgmt app via pre-opened FDs.
This series re-factors the eBPF common code so that it actually reports using "Error" objects. Then it makes virtio-net treat a failure to load pre-opened FDs as a fatal problem. When doing speculative opening of eBPF FDs, QEMU merely prints a warning, and allows the software fallback to continue. Trace event coverage is significantly expanded to make this all much more debuggable too. Changed in v3: - Fixed bpf stubs for new Error **errp argument - Added fix for pre-existing flaw with libxdp build logic when bpf is disabled Changed in v2: - Split 'ebpf_error' probe into multiple probes Daniel P. Berrangé (8): net: fix build when libbpf is disabled, but libxdp is enabled hw/net: fix typo s/epbf/ebpf/ in virtio-net ebpf: drop redundant parameter checks in static methods ebpf: improve error trace events ebpf: add formal error reporting to all APIs hw/net: report errors from failing to use eBPF RSS FDs ebpf: improve trace event coverage to all key operations hw/net: improve tracing of eBPF RSS setup ebpf/ebpf_rss-stub.c | 8 +-- ebpf/ebpf_rss.c | 118 ++++++++++++++++++++++++++++--------------- ebpf/ebpf_rss.h | 10 ++-- ebpf/trace-events | 8 ++- hw/net/trace-events | 8 +-- hw/net/virtio-net.c | 63 +++++++++++++++-------- meson.build | 10 +++- net/meson.build | 2 +- 8 files changed, 151 insertions(+), 76 deletions(-) -- 2.46.0