chiark / gitweb /
bus: sync with kdbus.git
[elogind.git] / src / network / networkd-network.c
index b014a6b649504d20ae5f1bb1c82de7739f06c7c8..ef9e0a8c357459642bd68e57bf3b580efe2fb689 100644 (file)
@@ -97,7 +97,7 @@ static int network_load_one(Manager *manager, const char *filename) {
                          "Route\0"
                          "DHCP\0"
                          "DHCPv4\0"
-                         "BridgePort\0",
+                         "Bridge\0",
                          config_item_perf_lookup, network_network_gperf_lookup,
                          false, false, true, network);
         if (r < 0)
@@ -225,9 +225,23 @@ int network_get(Manager *manager, struct udev_device *device,
                                      udev_device_get_driver(udev_device_get_parent(device)),
                                      udev_device_get_property_value(device, "ID_NET_DRIVER"),
                                      udev_device_get_devtype(device),
-                                     ifname, false)) {
-                        log_debug("%-*s: found matching network '%s'", IFNAMSIZ, ifname,
-                                  network->filename);
+                                     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);
+
                         *ret = network;
                         return 0;
                 }