<div dir="ltr"><div>Hi,</div><div>Well, qemu-ebpf-rss-helper is kinda unique for each qemu emulator, that's why it's stored with qemucaps.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 20, 2021 at 3:57 PM Michal Prívozník <<a href="mailto:mprivozn@redhat.com">mprivozn@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 7/28/21 10:17 AM, Andrew Melnychenko wrote:<br>
> Added qmp call to receive helper path.<br>
> Also added monitor functions.<br>
> For virQEMUCaps added field for helper path.<br>
> Libvirt queries "query-helper-paths" from qmp and saves in qemuCaps.<br>
> The qemu and the helper should be "sync" and the helper should<br>
> return proper eBPF fd and maps with "interface" for current qemu.<br>
> So, qemu returns where to find the helper through qmp, if the qemu supports<br>
> "ebpf_rss_fds".<br>
> <br>
> Signed-off-by: Andrew Melnychenko <<a href="mailto:andrew@daynix.com" target="_blank">andrew@daynix.com</a>><br>
> ---<br>
>  src/qemu/qemu_capabilities.c | 44 +++++++++++++++++++++++++++++++<br>
>  src/qemu/qemu_capabilities.h |  3 +++<br>
>  src/qemu/qemu_monitor.c      |  9 +++++++<br>
>  src/qemu/qemu_monitor.h      |  3 +++<br>
>  src/qemu/qemu_monitor_json.c | 50 ++++++++++++++++++++++++++++++++++++<br>
>  src/qemu/qemu_monitor_json.h |  3 +++<br>
>  6 files changed, 112 insertions(+)<br>
> <br>
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c<br>
> index f16115226d..f62088d32f 100644<br>
> --- a/src/qemu/qemu_capabilities.c<br>
> +++ b/src/qemu/qemu_capabilities.c<br>
> @@ -722,6 +722,9 @@ struct _virQEMUCaps {<br>
>      /* Capabilities which may differ depending on the accelerator. */<br>
>      virQEMUCapsAccel kvm;<br>
>      virQEMUCapsAccel tcg;<br>
> +<br>
> +    /* Helpers returned by qemu */<br>
> +    char *helperEbpfRSS;<br>
>  };<br>
<br>
<br>
This is not the usual way we store path for QEMU helpers. Conceptually<br>
this looks similar to qemu-bridge-helper. I suggest you take a look into<br>
our code how we deal with that binary. QEMU_BRIDGE_HELPER,<br>
bridgeHelperName look like good keywords to git grep for.<br>
<br>
Michal<br>
<br>
</blockquote></div>