qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH 0/4] eBPF RSS through QMP support.


From: Andrew Melnichenko
Subject: Re: [RFC PATCH 0/4] eBPF RSS through QMP support.
Date: Thu, 30 Mar 2023 13:48:38 +0300

On Thu, Mar 30, 2023 at 9:57 AM Jason Wang <jasowang@redhat.com> wrote:
>
> On Thu, Mar 30, 2023 at 8:33 AM Andrew Melnychenko <andrew@daynix.com> wrote:
> >
> > This series of patches provides the ability to retrieve eBPF program
> > through qmp, so management application may load bpf blob with proper 
> > capabilities.
> > Now, virtio-net devices can accept eBPF programs and maps through properties
> > as external file descriptors. Access to the eBPF map is direct through 
> > mmap()
> > call, so it should not require additional capabilities to bpf* calls.
> > eBPF file descriptors can be passed to QEMU from parent process or by unix
> > socket with sendfd() qmp command.
> >
> > Overall, the basic scenario of using the helper looks like this:
> >  * Libvirt checks for ebpf_fds property.
> >  * Libvirt requests eBPF blob through QMP.
> >  * Libvirt loads blob for virtio-net.
> >  * Libvirt launches the QEMU with eBPF fds passed.
>
> Is there a libvirt side draft that can be used as a reference?
>
> Thanks
>

I'm working on it. This is why it's RFC.
I have a small script that checks that eBPF retrieved through QMP can be loaded.
Also, please check the eBPF blob declaration/initialization routine
and qmp commands.
So, this API should be implemented once and right.

> >
> > Andrew Melnychenko (4):
> >   ebpf: Added eBPF initialization by fds and map update.
> >   virtio-net: Added property to load eBPF RSS with fds.
> >   ebpf: Added declaration/initialization routines.
> >   qmp: Added new command to retrieve eBPF blob.
> >
> >  ebpf/ebpf.c                    |  48 +++++++++++++
> >  ebpf/ebpf.h                    |  25 +++++++
> >  ebpf/ebpf_rss-stub.c           |   6 ++
> >  ebpf/ebpf_rss.c                | 124 +++++++++++++++++++++++++++------
> >  ebpf/ebpf_rss.h                |  10 +++
> >  ebpf/meson.build               |   1 +
> >  hw/net/virtio-net.c            |  77 ++++++++++++++++++--
> >  include/hw/virtio/virtio-net.h |   1 +
> >  monitor/qmp-cmds.c             |  17 +++++
> >  qapi/misc.json                 |  25 +++++++
> >  10 files changed, 307 insertions(+), 27 deletions(-)
> >  create mode 100644 ebpf/ebpf.c
> >  create mode 100644 ebpf/ebpf.h
> >
> > --
> > 2.39.1
> >
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]