Enable building for ppc64le
This commit is contained in:
commit
e3ee0c2d4e
@ -0,0 +1,98 @@
|
|||||||
|
From 1aa7206312b153f5209a5c161b4345e65a762c26 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-ID: <1aa7206312b153f5209a5c161b4345e65a762c26.1770714339.git.jdenemar@redhat.com>
|
||||||
|
From: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Date: Tue, 20 Jan 2026 16:19:00 +0100
|
||||||
|
Subject: [PATCH] src: Use device alias when ifname is unset in
|
||||||
|
virDomainInterfaceAddresses()
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The virDomainInterfaceAddresses() API returns an array of
|
||||||
|
_virDomainInterface structs which then describe IP addresses
|
||||||
|
associated with given domain. The struct contains 'name' member
|
||||||
|
which is documented deliberately vaguely: "interface name". This
|
||||||
|
is because depending on the source of truth used (controlled by
|
||||||
|
'source' argument) the name can be wildly different from the one
|
||||||
|
in domain XML. Now, in case of source =
|
||||||
|
VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_ARP, the host's ARP table is
|
||||||
|
parsed and matching interfaces are found by comparing MAC
|
||||||
|
addresses. If it's a match then the 'name' is set to net->ifname
|
||||||
|
(corresponds to /interface/target/@dev). But that is not always
|
||||||
|
set and sometimes may be NULL (e.g. for hostdevs, usernet). We
|
||||||
|
can't change the API (like we did for hwaddr in v1.2.14-rc1~105)
|
||||||
|
because this is already released. So the next best thing to do is
|
||||||
|
to put the interface alias in there.
|
||||||
|
|
||||||
|
To be on a safe side, do the same change to the
|
||||||
|
VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LEASE case.
|
||||||
|
|
||||||
|
Resolves: https://issues.redhat.com/browse/RHEL-141496
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||||
|
(cherry picked from commit 4009126f17a19ea2f512f1952f4ea32d231ade85)
|
||||||
|
Resolves: https://issues.redhat.com/browse/RHEL-143933
|
||||||
|
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||||
|
---
|
||||||
|
src/conf/domain_conf.c | 16 ++++++++++++++--
|
||||||
|
src/libvirt-domain.c | 2 ++
|
||||||
|
2 files changed, 16 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
||||||
|
index f950f7c75d..902c1188ef 100644
|
||||||
|
--- a/src/conf/domain_conf.c
|
||||||
|
+++ b/src/conf/domain_conf.c
|
||||||
|
@@ -15604,6 +15604,12 @@ virDomainNetDHCPInterfaces(virDomainDef *def,
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
if (n_leases) {
|
||||||
|
+ const char *ifname = def->nets[i]->ifname;
|
||||||
|
+
|
||||||
|
+ if (!ifname) {
|
||||||
|
+ ifname = def->nets[i]->info.alias;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
ifaces_ret = g_renew(virDomainInterfacePtr, ifaces_ret, ifaces_count + 1);
|
||||||
|
ifaces_ret[ifaces_count] = g_new0(virDomainInterface, 1);
|
||||||
|
iface = ifaces_ret[ifaces_count];
|
||||||
|
@@ -15612,7 +15618,7 @@ virDomainNetDHCPInterfaces(virDomainDef *def,
|
||||||
|
/* Assuming each lease corresponds to a separate IP */
|
||||||
|
iface->naddrs = n_leases;
|
||||||
|
iface->addrs = g_new0(virDomainIPAddress, iface->naddrs);
|
||||||
|
- iface->name = g_strdup(def->nets[i]->ifname);
|
||||||
|
+ iface->name = g_strdup(ifname);
|
||||||
|
iface->hwaddr = g_strdup(macaddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -15666,9 +15672,15 @@ virDomainNetARPInterfaces(virDomainDef *def,
|
||||||
|
virArpTableEntry entry = table->t[j];
|
||||||
|
|
||||||
|
if (STREQ(entry.mac, macaddr)) {
|
||||||
|
+ const char *ifname = def->nets[i]->ifname;
|
||||||
|
+
|
||||||
|
+ if (!ifname) {
|
||||||
|
+ ifname = def->nets[i]->info.alias;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
iface = g_new0(virDomainInterface, 1);
|
||||||
|
|
||||||
|
- iface->name = g_strdup(def->nets[i]->ifname);
|
||||||
|
+ iface->name = g_strdup(ifname);
|
||||||
|
|
||||||
|
iface->hwaddr = g_strdup(macaddr);
|
||||||
|
|
||||||
|
diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
|
||||||
|
index 74c70a0a43..c7451fee05 100644
|
||||||
|
--- a/src/libvirt-domain.c
|
||||||
|
+++ b/src/libvirt-domain.c
|
||||||
|
@@ -12880,6 +12880,8 @@ virDomainFSInfoFree(virDomainFSInfoPtr info)
|
||||||
|
* Note that for some @source values some pieces of returned @ifaces
|
||||||
|
* might be unset (e.g. VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_ARP does not
|
||||||
|
* set IP address prefix as ARP table does not have any notion of that).
|
||||||
|
+ * Moreover, it may happen that the interface doesn't have a name. In
|
||||||
|
+ * that case, @ifaces->name is set to the interface's device alias.
|
||||||
|
*
|
||||||
|
* @ifaces->name and @ifaces->hwaddr are never NULL.
|
||||||
|
*
|
||||||
|
--
|
||||||
|
2.53.0
|
||||||
@ -298,7 +298,7 @@
|
|||||||
Summary: Library providing a simple virtualization API
|
Summary: Library providing a simple virtualization API
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 11.10.0
|
Version: 11.10.0
|
||||||
Release: 6%{?dist}%{?extra_release}.alma.1
|
Release: 7%{?dist}%{?extra_release}.alma.1
|
||||||
License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1
|
License: GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1
|
||||||
URL: https://libvirt.org/
|
URL: https://libvirt.org/
|
||||||
|
|
||||||
@ -343,6 +343,7 @@ Patch34: libvirt-qemu-open-VFIO-FDs-from-libvirt-backend.patch
|
|||||||
Patch35: libvirt-qemu-open-iommufd-FD-from-libvirt-backend.patch
|
Patch35: libvirt-qemu-open-iommufd-FD-from-libvirt-backend.patch
|
||||||
Patch36: libvirt-qemu-Update-Cgroup-namespace-and-seclabel-for-iommufd.patch
|
Patch36: libvirt-qemu-Update-Cgroup-namespace-and-seclabel-for-iommufd.patch
|
||||||
Patch37: libvirt-tests-qemuxmlconfdata-provide-iommufd-sample-XML-and-CLI-args.patch
|
Patch37: libvirt-tests-qemuxmlconfdata-provide-iommufd-sample-XML-and-CLI-args.patch
|
||||||
|
Patch38: libvirt-src-Use-device-alias-when-ifname-is-unset-in-virDomainInterfaceAddresses.patch
|
||||||
|
|
||||||
|
|
||||||
Requires: libvirt-daemon = %{version}-%{release}
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
@ -2734,9 +2735,12 @@ exit 0
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sat Feb 07 2026 Eduard Abdullin <eabdullin@almalinux.org> - 11.10.0-6.alma.1
|
* Wed Feb 11 2026 Eduard Abdullin <eabdullin@almalinux.org> - 11.10.0-7.alma.1
|
||||||
- Enable building for ppc64le
|
- Enable building for ppc64le
|
||||||
|
|
||||||
|
* Tue Feb 10 2026 Jiri Denemark <jdenemar@redhat.com> - 11.10.0-7
|
||||||
|
- src: Use device alias when ifname is unset in virDomainInterfaceAddresses() (RHEL-143933)
|
||||||
|
|
||||||
* Fri Feb 6 2026 Jiri Denemark <jdenemar@redhat.com> - 11.10.0-6
|
* Fri Feb 6 2026 Jiri Denemark <jdenemar@redhat.com> - 11.10.0-6
|
||||||
- qemu: Implement support for associating iommufd to hostdev (RHEL-126346, RHEL-74202)
|
- qemu: Implement support for associating iommufd to hostdev (RHEL-126346, RHEL-74202)
|
||||||
- qemu: Introduce privateData for hostdevs (RHEL-126346, RHEL-74202)
|
- qemu: Introduce privateData for hostdevs (RHEL-126346, RHEL-74202)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user