- network->match_driver, network->match_type,
- network->match_name,
- udev_device_get_sysattr_value(device, "address"),
- udev_device_get_property_value(device, "ID_PATH"),
- udev_device_get_driver(device),
- udev_device_get_devtype(device),
- udev_device_get_sysname(device))) {
- log_debug("%s: found matching network '%s'",
- udev_device_get_sysname(device),
- network->filename);
+ network->match_driver, network->match_type,
+ network->match_name, network->match_host,
+ network->match_virt, network->match_kernel,
+ network->match_arch,
+ address,
+ udev_device_get_property_value(device, "ID_PATH"),
+ udev_device_get_driver(udev_device_get_parent(device)),
+ udev_device_get_property_value(device, "ID_NET_DRIVER"),
+ udev_device_get_devtype(device),
+ ifname)) {
+ if (network->match_name) {
+ const char *attr;
+ uint8_t name_assign_type = NET_NAME_UNKNOWN;
+
+ attr = udev_device_get_sysattr_value(device, "name_assign_type");
+ if (attr)
+ (void)safe_atou8(attr, &name_assign_type);
+
+ if (name_assign_type == NET_NAME_ENUM)
+ log_warning("%-*s: found matching network '%s', based on potentially unpredictable ifname",
+ IFNAMSIZ, ifname, network->filename);
+ else
+ log_debug("%-*s: found matching network '%s'", IFNAMSIZ, ifname, network->filename);
+ } else
+ log_debug("%-*s: found matching network '%s'", IFNAMSIZ, ifname, network->filename);
+