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@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
> 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