Re: [RFC PATCH v3 1/6] qemu_monitor: Added QEMU's "request-ebpf" support.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/12/24 21:45, Andrew Melnychenko wrote:
> Added code for monitor and monitor_json.
> The "request-ebpf" return's eBPF binary object encoded in base64.
> 
> QEMU provides eBPF that can be loaded and passed to it from Libvirt.
> QEMU requires exact eBPF program/maps, so it can be retrieved using QAPI.
> To load eBPF program - administrative capabilities are required,
> so Libvirt may load it and pass it to the QEMU instance.
> For now, there is only "RSS"(Receive Side Scaling) for virtio-net eBPF program and maps.
> 
> Signed-off-by: Andrew Melnychenko <andrew@xxxxxxxxxx>
> ---
>  src/qemu/qemu_monitor.c      | 13 +++++++++++++
>  src/qemu/qemu_monitor.h      |  3 +++
>  src/qemu/qemu_monitor_json.c | 26 ++++++++++++++++++++++++++
>  src/qemu/qemu_monitor_json.h |  3 +++
>  4 files changed, 45 insertions(+)
> 
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index 34e2ccab97..1dc2fa3fac 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -4511,3 +4511,16 @@ qemuMonitorDisplayReload(qemuMonitor *mon,
>  
>      return qemuMonitorJSONDisplayReload(mon, type, tlsCerts);
>  }
> +
> +const char *
> +qemuMonitorGetEbpf(qemuMonitor *mon, const char *ebpfName)

I'm going to mentioned it here, because this is the first occurrence and
then I'll stop pointing it out: libvirt's coding style is a bit
different. I think the pre-exiting code around may give you couple of
examples. Anyway, this is a nitpick.

> +{
> +    QEMU_CHECK_MONITOR_NULL(mon);
> +
> +    if (ebpfName == NULL) {
> +        virReportInvalidNonNullArg(ebpfName);
> +        return NULL;
> +    }

We don't usually do this kind of check here. Usually there's just one
(or very few) callers of these functions and they can verify arguments
passed).

> +
> +    return qemuMonitorJSONGetEbpf(mon, ebpfName);
> +}

Michal



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux