[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 0/6] eBPF RSS through QMP support.
From: |
Jason Wang |
Subject: |
Re: [PATCH v3 0/6] eBPF RSS through QMP support. |
Date: |
Fri, 30 Jun 2023 13:06:22 +0800 |
On Thu, Jun 15, 2023 at 6:29 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.
>
> Possible solution for libvirt may look like this:
> https://github.com/daynix/libvirt/tree/RSS_eBPF (WIP)
>
> Changes since v2:
> * moved/refactored QMP command
> * refactored virtio-net
I've queued this series, but a question left:
mmap() support for eBPF maps is not supported from day0, should we
fallback to syscall for the OS that doesn't support that?
Thanks
>
> Changes since v1:
> * refactored virtio-net
> * moved hunks for ebpf mmap()
> * added qmp enum for eBPF id.
>
> Andrew Melnychenko (6):
> ebpf: Added eBPF map update through mmap.
> ebpf: Added eBPF initialization by fds.
> virtio-net: Added property to load eBPF RSS with fds.
> ebpf: Added declaration/initialization routines.
> qmp: Added new command to retrieve eBPF blob.
> ebpf: Updated eBPF program and skeleton.
>
> ebpf/ebpf.c | 70 ++
> ebpf/ebpf.h | 31 +
> ebpf/ebpf_rss-stub.c | 6 +
> ebpf/ebpf_rss.c | 150 +++-
> ebpf/ebpf_rss.h | 10 +
> ebpf/meson.build | 2 +-
> ebpf/rss.bpf.skeleton.h | 1469 ++++++++++++++++----------------
> hw/net/virtio-net.c | 55 +-
> include/hw/virtio/virtio-net.h | 1 +
> qapi/ebpf.json | 55 ++
> qapi/meson.build | 1 +
> qapi/qapi-schema.json | 1 +
> tools/ebpf/rss.bpf.c | 2 +-
> 13 files changed, 1093 insertions(+), 760 deletions(-)
> create mode 100644 ebpf/ebpf.c
> create mode 100644 ebpf/ebpf.h
> create mode 100644 qapi/ebpf.json
>
> --
> 2.39.1
>
- [PATCH v3 2/6] ebpf: Added eBPF initialization by fds., (continued)
- [PATCH v3 2/6] ebpf: Added eBPF initialization by fds., Andrew Melnychenko, 2023/06/14
- [PATCH v3 3/6] virtio-net: Added property to load eBPF RSS with fds., Andrew Melnychenko, 2023/06/14
- [PATCH v3 5/6] qmp: Added new command to retrieve eBPF blob., Andrew Melnychenko, 2023/06/14
- [PATCH v3 4/6] ebpf: Added declaration/initialization routines., Andrew Melnychenko, 2023/06/14
- [PATCH v3 6/6] ebpf: Updated eBPF program and skeleton., Andrew Melnychenko, 2023/06/14
- Re: [PATCH v3 0/6] eBPF RSS through QMP support.,
Jason Wang <=
Re: [PATCH v3 0/6] eBPF RSS through QMP support., Jason Wang, 2023/06/30