Currently, there is no way to control that config through qemu.conf file.
This optional is required for future eBPF tests.
Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
---
src/qemu/qemu_command.c | 8 +++++---
src/qemu/qemu_conf.c | 2 ++
src/qemu/qemu_conf.h | 2 ++
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 77715cf6fe..0d41d34c3b 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -8917,9 +8917,11 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver,
qemuFDPassDirectTransferCommand(netpriv->slirpfd, cmd);
qemuFDPassTransferCommand(netpriv->vdpafd, cmd);
- qemuOpenEbpfRssFds(net, qemuCaps);
- for (n = netpriv->ebpfrssfds; n; n = n->next)
- qemuFDPassDirectTransferCommand(n->data, cmd);
+ if (cfg->allowEBPF) {
+ qemuOpenEbpfRssFds(net, qemuCaps);
+ for (n = netpriv->ebpfrssfds; n; n = n->next)
+ qemuFDPassDirectTransferCommand(n->data, cmd);
+ }
if (!(hostnetprops = qemuBuildHostNetProps(vm, net)))
goto cleanup;
diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 4050a82341..79168c3e54 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -287,6 +287,8 @@ virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged,
cfg->deprecationBehavior = g_strdup("none");
cfg->storageUseNbdkit = USE_NBDKIT_DEFAULT;
+ cfg->allowEBPF = true;
+
return g_steal_pointer(&cfg);
}
diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
index 36049b4bfa..778897bd40 100644
--- a/src/qemu/qemu_conf.h
+++ b/src/qemu/qemu_conf.h
@@ -233,6 +233,8 @@ struct _virQEMUDriverConfig {
bool storageUseNbdkit;
virQEMUSchedCore schedCore;
+
+ bool allowEBPF;
};
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virQEMUDriverConfig, virObjectUnref);
--
2.44.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
On 5/12/24 21:45, Andrew Melnychenko wrote: > Currently, there is no way to control that config through qemu.conf file. > This optional is required for future eBPF tests. > > Signed-off-by: Andrew Melnychenko <andrew@daynix.com> > --- > src/qemu/qemu_command.c | 8 +++++--- > src/qemu/qemu_conf.c | 2 ++ > src/qemu/qemu_conf.h | 2 ++ > 3 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 77715cf6fe..0d41d34c3b 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -8917,9 +8917,11 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver, > qemuFDPassDirectTransferCommand(netpriv->slirpfd, cmd); > qemuFDPassTransferCommand(netpriv->vdpafd, cmd); > > - qemuOpenEbpfRssFds(net, qemuCaps); > - for (n = netpriv->ebpfrssfds; n; n = n->next) > - qemuFDPassDirectTransferCommand(n->data, cmd); > + if (cfg->allowEBPF) { > + qemuOpenEbpfRssFds(net, qemuCaps); > + for (n = netpriv->ebpfrssfds; n; n = n->next) > + qemuFDPassDirectTransferCommand(n->data, cmd); > + } > > if (!(hostnetprops = qemuBuildHostNetProps(vm, net))) > goto cleanup; > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index 4050a82341..79168c3e54 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -287,6 +287,8 @@ virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged, > cfg->deprecationBehavior = g_strdup("none"); > cfg->storageUseNbdkit = USE_NBDKIT_DEFAULT; > > + cfg->allowEBPF = true; > + > return g_steal_pointer(&cfg); > } > > diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h > index 36049b4bfa..778897bd40 100644 > --- a/src/qemu/qemu_conf.h > +++ b/src/qemu/qemu_conf.h > @@ -233,6 +233,8 @@ struct _virQEMUDriverConfig { > bool storageUseNbdkit; > > virQEMUSchedCore schedCore; > + > + bool allowEBPF; > }; This structure should reflect knobs that are tunable in qemu.conf. If you need a temporary change of behaviour just for tests we use env vars for that. Michal
Hi all, On Fri, May 17, 2024 at 5:00 PM Michal Prívozník <mprivozn@redhat.com> wrote: > > On 5/12/24 21:45, Andrew Melnychenko wrote: > > Currently, there is no way to control that config through qemu.conf file. > > This optional is required for future eBPF tests. > > > > Signed-off-by: Andrew Melnychenko <andrew@daynix.com> > > --- > > src/qemu/qemu_command.c | 8 +++++--- > > src/qemu/qemu_conf.c | 2 ++ > > src/qemu/qemu_conf.h | 2 ++ > > 3 files changed, 9 insertions(+), 3 deletions(-) > > > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > > index 77715cf6fe..0d41d34c3b 100644 > > --- a/src/qemu/qemu_command.c > > +++ b/src/qemu/qemu_command.c > > @@ -8917,9 +8917,11 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver, > > qemuFDPassDirectTransferCommand(netpriv->slirpfd, cmd); > > qemuFDPassTransferCommand(netpriv->vdpafd, cmd); > > > > - qemuOpenEbpfRssFds(net, qemuCaps); > > - for (n = netpriv->ebpfrssfds; n; n = n->next) > > - qemuFDPassDirectTransferCommand(n->data, cmd); > > + if (cfg->allowEBPF) { > > + qemuOpenEbpfRssFds(net, qemuCaps); > > + for (n = netpriv->ebpfrssfds; n; n = n->next) > > + qemuFDPassDirectTransferCommand(n->data, cmd); > > + } > > > > if (!(hostnetprops = qemuBuildHostNetProps(vm, net))) > > goto cleanup; > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > > index 4050a82341..79168c3e54 100644 > > --- a/src/qemu/qemu_conf.c > > +++ b/src/qemu/qemu_conf.c > > @@ -287,6 +287,8 @@ virQEMUDriverConfig *virQEMUDriverConfigNew(bool privileged, > > cfg->deprecationBehavior = g_strdup("none"); > > cfg->storageUseNbdkit = USE_NBDKIT_DEFAULT; > > > > + cfg->allowEBPF = true; > > + > > return g_steal_pointer(&cfg); > > } > > > > diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h > > index 36049b4bfa..778897bd40 100644 > > --- a/src/qemu/qemu_conf.h > > +++ b/src/qemu/qemu_conf.h > > @@ -233,6 +233,8 @@ struct _virQEMUDriverConfig { > > bool storageUseNbdkit; > > > > virQEMUSchedCore schedCore; > > + > > + bool allowEBPF; > > }; > > This structure should reflect knobs that are tunable in qemu.conf. If > you need a temporary change of behaviour just for tests we use env vars > for that. Yes, I need it only for tests. I'll work on it in the next version of patches. > > Michal >
© 2016 - 2024 Red Hat, Inc.