conf: match by network alias only if aliases are assigned

Commit 114e3b423210d316b3326816fd2c33335b1167fe added matching by
aliases for interfaces with same MAC address.
( https://bugzilla.redhat.com/show_bug.cgi?id=1926190 )

However, unless the domain is using user aliases (prefixed ua-),
there are no aliases in the persistent definition.

Only match by MAC/PCI/other addresses in that case, to fix update-device
with --persistent flag (AFFECT_LIVE | AFFECT_CONFIG).

https://bugzilla.redhat.com/show_bug.cgi?id=2024098

Fixes: 114e3b423210d316b3326816fd2c33335b1167fe
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Ján Tomko 2021-11-18 16:21:27 +01:00
parent 1e085019ca
commit 28bb7266a0

View File

@ -15770,8 +15770,8 @@ virDomainNetFindIdx(virDomainDef *def, virDomainNetDef *net)
&net->info.addr.ccw))
continue;
if (net->info.alias &&
STRNEQ_NULLABLE(def->nets[i]->info.alias, net->info.alias)) {
if (net->info.alias && def->nets[i]->info.alias &&
STRNEQ(def->nets[i]->info.alias, net->info.alias)) {
continue;
}