Hi,
Well, qemu-ebpf-rss-helper is kinda unique for each qemu emulator, that's why it's stored with qemucaps.


On Fri, Aug 20, 2021 at 3:57 PM Michal Prívozník <mprivozn@redhat.com> wrote:
On 7/28/21 10:17 AM, Andrew Melnychenko wrote:
> Added qmp call to receive helper path.
> Also added monitor functions.
> For virQEMUCaps added field for helper path.
> Libvirt queries "query-helper-paths" from qmp and saves in qemuCaps.
> The qemu and the helper should be "sync" and the helper should
> return proper eBPF fd and maps with "interface" for current qemu.
> So, qemu returns where to find the helper through qmp, if the qemu supports
> "ebpf_rss_fds".
>
> Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
> ---
>  src/qemu/qemu_capabilities.c | 44 +++++++++++++++++++++++++++++++
>  src/qemu/qemu_capabilities.h |  3 +++
>  src/qemu/qemu_monitor.c      |  9 +++++++
>  src/qemu/qemu_monitor.h      |  3 +++
>  src/qemu/qemu_monitor_json.c | 50 ++++++++++++++++++++++++++++++++++++
>  src/qemu/qemu_monitor_json.h |  3 +++
>  6 files changed, 112 insertions(+)
>
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index f16115226d..f62088d32f 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -722,6 +722,9 @@ struct _virQEMUCaps {
>      /* Capabilities which may differ depending on the accelerator. */
>      virQEMUCapsAccel kvm;
>      virQEMUCapsAccel tcg;
> +
> +    /* Helpers returned by qemu */
> +    char *helperEbpfRSS;
>  };


This is not the usual way we store path for QEMU helpers. Conceptually
this looks similar to qemu-bridge-helper. I suggest you take a look into
our code how we deal with that binary. QEMU_BRIDGE_HELPER,
bridgeHelperName look like good keywords to git grep for.

Michal