mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
ebpf: Added eBPF initialization by fds.
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 <andrew@daynix.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
333b3e5fab
commit
0524ea0510
3 changed files with 38 additions and 0 deletions
|
@ -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 (ebpf_rss_is_loaded(ctx)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (program_fd < 0 || config_fd < 0 || toeplitz_fd < 0 || table_fd < 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ctx->program_fd = program_fd;
|
||||
ctx->map_configuration = config_fd;
|
||||
ctx->map_toeplitz_key = toeplitz_fd;
|
||||
ctx->map_indirections_table = table_fd;
|
||||
|
||||
if (!ebpf_rss_mmap(ctx)) {
|
||||
ctx->program_fd = -1;
|
||||
ctx->map_configuration = -1;
|
||||
ctx->map_toeplitz_key = -1;
|
||||
ctx->map_indirections_table = -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool ebpf_rss_set_config(struct EBPFRSSContext *ctx,
|
||||
struct EBPFRSSConfig *config)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue