Hi, > The helper may or may not be installed at the path compiled into QEMU. > Yes, so the helper will not be called - QEMU will try to initiate eBPF RSS or use "in-qemu" RSS. What happens when you use the wrong helper? > UB - in most cases, eBPF program will work with wrong configurations. That's why the stamp was added. query-helper-paths checks the stamp only for RSS helper. On Sat, Aug 7, 2021 at 3:54 PM Markus Armbruster wrote: > Andrew Melnychenko writes: > > > New qmp command to query ebpf helper. > > It's crucial that qemu and helper are in sync and in touch. > > Technically helper should pass eBPF fds that qemu may accept. > > And different qemu's builds may have different eBPF programs and helpers. > > Qemu returns helper that should "fit" to virtio-net. > > > > Signed-off-by: Andrew Melnychenko > > [...] > > > diff --git a/qapi/misc.json b/qapi/misc.json > > index 156f98203e..9aaf8fbcca 100644 > > --- a/qapi/misc.json > > +++ b/qapi/misc.json > > @@ -519,3 +519,36 @@ > > 'data': { '*option': 'str' }, > > 'returns': ['CommandLineOptionInfo'], > > 'allow-preconfig': true } > > + > > +## > > +# @HelperPath: > > +# > > +# Name of the helper and binary location. > > +## > > +{ 'struct': 'HelperPath', > > + 'data': {'name': 'str', 'path': 'str'} } > > + > > +## > > +# @query-helper-paths: > > +# > > +# Query helper paths. Initially, this command was added for > > +# qemu-ebpf-rss-helper. The qemu would check "the stamp" and > > +# returns proper helper. > > +# > > +# Returns: list of object that contains name and path for helper. > > +# > > +# Since: 6.1 > > +# > > +# Example: > > +# > > +# -> { "execute": "query-helper-paths" } > > +# <- { "return": [ > > +# { > > +# "name": "qemu-ebpf-rss-helper", > > +# "path": "/usr/local/libexec/qemu-ebpf-rss-helper" > > +# } > > +# ] > > +# } > > +# > > +## > > +{ 'command': 'query-helper-paths', 'returns': ['HelperPath'] } > > > Hmm. > > I understand the desire to help management applications to use the right > helper. But I'm not sure this command is actually useful. The helper > may or may not be installed at the path compiled into QEMU. > > What happens when you use the wrong helper? > > Even if we conclude this is the right approach for this helper, we still > need to review the other helpers to see which of them we should have > query-helper-paths cover. > >