On 2023/08/31 15:51, Andrew Melnychenko wrote:
It allows using file descriptors of eBPF provided
outside of QEMU.
QEMU may be run without capabilities for eBPF and run
RSS program provided by management tool(g.e. libvirt).

Signed-off-by: Andrew Melnychenko <and...@daynix.com>
---
  ebpf/ebpf_rss-stub.c |  6 ++++++
  ebpf/ebpf_rss.c      | 27 +++++++++++++++++++++++++++
  ebpf/ebpf_rss.h      |  5 +++++
  3 files changed, 38 insertions(+)

diff --git a/ebpf/ebpf_rss-stub.c b/ebpf/ebpf_rss-stub.c
index e71e229190..8d7fae2ad9 100644
--- a/ebpf/ebpf_rss-stub.c
+++ b/ebpf/ebpf_rss-stub.c
@@ -28,6 +28,12 @@ bool ebpf_rss_load(struct EBPFRSSContext *ctx)
      return false;
  }
+bool ebpf_rss_load_fds(struct EBPFRSSContext *ctx, int program_fd,
+                       int config_fd, int toeplitz_fd, int table_fd)
+{
+    return false;
+}
+
  bool ebpf_rss_set_all(struct EBPFRSSContext *ctx, struct EBPFRSSConfig 
*config,
                        uint16_t *indirections_table, uint8_t *toeplitz_key)
  {
diff --git a/ebpf/ebpf_rss.c b/ebpf/ebpf_rss.c
index 247f5eee1b..24bc6cc409 100644
--- a/ebpf/ebpf_rss.c
+++ b/ebpf/ebpf_rss.c
@@ -146,6 +146,33 @@ error:
      return false;
  }
+bool ebpf_rss_load_fds(struct EBPFRSSContext *ctx, int program_fd,
+                       int config_fd, int toeplitz_fd, int table_fd)
+{
+    if (ctx == NULL || ebpf_rss_is_loaded(ctx)) {

You can omit ctx == NULL here too.

Reply via email to