On Fri, Apr 12, 2024 at 12:19:05 +0200, Michal Privoznik wrote:
In QEMU and LXC drivers in a few places just
s/just/only/ so that's more clear that something is missing.
virNetDevBandwidthClear() is called. This means that if an
interface is of openvswitch vport profile, its QoS is not
removed. And to make matters worse - OVS is designed to remember
state even when corresponding interface is gone. This leads to
stale QoS settings piling up in OVS database.
To resolve this, introduce virDomainInterfaceClearQoS() which
looks at given interface and calls corresponding QoS clear
function. Then, basically replace virNetDevBandwidthClear() calls
in those hypervisor drivers with this new function.
Resolves:
https://issues.redhat.com/browse/RHEL-30373
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/hypervisor/domain_interface.c | 36 ++++++++++++++++++++++++++-----
src/hypervisor/domain_interface.h | 2 ++
src/libvirt_private.syms | 1 +
src/lxc/lxc_driver.c | 5 +----
src/qemu/qemu_hotplug.c | 18 +++-------------
5 files changed, 38 insertions(+), 24 deletions(-)