diff --git a/libvirt-conf-Make-VIR_DOMAIN_NET_TYPE_ETHERNET-not-share-host-view.patch b/libvirt-conf-Make-VIR_DOMAIN_NET_TYPE_ETHERNET-not-share-host-view.patch new file mode 100644 index 0000000..98e82d4 --- /dev/null +++ b/libvirt-conf-Make-VIR_DOMAIN_NET_TYPE_ETHERNET-not-share-host-view.patch @@ -0,0 +1,46 @@ +From 666b68a93006c4299747d159bcacb7164b8c5d91 Mon Sep 17 00:00:00 2001 +Message-Id: <666b68a93006c4299747d159bcacb7164b8c5d91@dist-git> +From: Michal Privoznik +Date: Thu, 24 Nov 2022 10:28:59 +0100 +Subject: [PATCH] conf: Make VIR_DOMAIN_NET_TYPE_ETHERNET not share 'host view' + +When setting up QoS for a domain , or when reporting +its statistics we may need to swap TX/RX values. This is all +explained in comment to virDomainNetTypeSharesHostView(). +However, this function claims that VIR_DOMAIN_NET_TYPE_ETHERNET +also shares the 'host view', meaning the TX/RX values must be +swapped. But that's not true. + +An easy reproducer is to start a domain with two -s: +one type of network, the other of type ethernet and configure the +same for both. Reversed setting can then be observed +(e.g. via tc). + +Reported-by: Oleg Vasilev +Signed-off-by: Michal Privoznik +Reviewed-by: Jiri Denemark +(cherry picked from commit 0862cb3ce46253a58ca02d36b2b6a6397a60bfc7) +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2172578 +Signed-off-by: Michal Privoznik +--- + src/conf/domain_conf.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c +index 401ddaa1a0..427e7d1bb5 100644 +--- a/src/conf/domain_conf.c ++++ b/src/conf/domain_conf.c +@@ -30472,9 +30472,9 @@ virDomainNetTypeSharesHostView(const virDomainNetDef *net) + virDomainNetType actualType = virDomainNetGetActualType(net); + switch (actualType) { + case VIR_DOMAIN_NET_TYPE_DIRECT: +- case VIR_DOMAIN_NET_TYPE_ETHERNET: + return true; + case VIR_DOMAIN_NET_TYPE_USER: ++ case VIR_DOMAIN_NET_TYPE_ETHERNET: + case VIR_DOMAIN_NET_TYPE_VHOSTUSER: + case VIR_DOMAIN_NET_TYPE_SERVER: + case VIR_DOMAIN_NET_TYPE_CLIENT: +-- +2.39.2 + diff --git a/libvirt.spec b/libvirt.spec index 0627d96..e8855da 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -210,7 +210,7 @@ Summary: Library providing a simple virtualization API Name: libvirt Version: 8.0.0 -Release: 17%{?dist}%{?extra_release} +Release: 18%{?dist}%{?extra_release} License: LGPLv2+ URL: https://libvirt.org/ @@ -303,6 +303,7 @@ Patch80: libvirt-nodedev-prevent-internal-error-on-dev_busid-parse.patch Patch81: libvirt-rpc-Fix-memory-leak-of-fds.patch Patch82: libvirt-qemu_namespace-Don-t-leak-memory-in-qemuDomainGetPreservedMounts.patch Patch83: libvirt-vircpi-Add-PCIe-5.0-and-6.0-link-speeds.patch +Patch84: libvirt-conf-Make-VIR_DOMAIN_NET_TYPE_ETHERNET-not-share-host-view.patch Requires: libvirt-daemon = %{version}-%{release} Requires: libvirt-daemon-config-network = %{version}-%{release} @@ -2182,6 +2183,9 @@ exit 0 %changelog +* Wed Mar 1 2023 Jiri Denemark - 8.0.0-18 +- conf: Make VIR_DOMAIN_NET_TYPE_ETHERNET not share 'host view' (rhbz#2172578) + * Thu Feb 9 2023 Jiri Denemark - 8.0.0-17 - vircpi: Add PCIe 5.0 and 6.0 link speeds (rhbz#2168116)