From 5143e49c99978c2ce90eff884805036dfd5f66d5 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 19 Nov 2024 12:30:05 +0100 Subject: [PATCH] cloud-setup: lookup device by MAC + type instead of just MAC This will be useful for updating configuration of Vlans and MacVlans, some of having same MAC addresses as devices of other type. --- src/nm-cloud-setup/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/nm-cloud-setup/main.c b/src/nm-cloud-setup/main.c index 600f04ec31..3fe6621514 100644 --- a/src/nm-cloud-setup/main.c +++ b/src/nm-cloud-setup/main.c @@ -292,7 +292,7 @@ _nmc_get_ethernet_hwaddrs(NMClient *nmc) } static NMDevice * -_nmc_get_device_by_hwaddr(NMClient *nmc, const char *hwaddr) +_nmc_get_device_by_hwaddr(NMClient *nmc, NMDeviceType device_type, const char *hwaddr) { const GPtrArray *devices; guint i; @@ -304,7 +304,7 @@ _nmc_get_device_by_hwaddr(NMClient *nmc, const char *hwaddr) const char *hwaddr_dev; gs_free char *s = NULL; - if (!NM_IS_DEVICE_ETHERNET(device)) + if (nm_device_get_device_type(device) != device_type) continue; hwaddr_dev = _device_get_hwaddr(device); @@ -587,7 +587,7 @@ _config_one(SigTermData *sigterm_data, if (g_cancellable_is_cancelled(sigterm_data->cancellable)) return FALSE; - device = nm_g_object_ref(_nmc_get_device_by_hwaddr(nmc, hwaddr)); + device = nm_g_object_ref(_nmc_get_device_by_hwaddr(nmc, NM_DEVICE_TYPE_ETHERNET, hwaddr)); if (!device) { _LOGD("config device %s: skip because device not found", hwaddr); return FALSE;