X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-network.c;h=ef9e0a8c357459642bd68e57bf3b580efe2fb689;hb=94e15fdc4d9d96fa6607bfb4eaaea164a3aec417;hp=b014a6b649504d20ae5f1bb1c82de7739f06c7c8;hpb=c106cc36b9b8e8998eb95299b02f1db9c1209122;p=elogind.git diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index b014a6b64..ef9e0a8c3 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -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; }