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