X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fnet%2Flink-config.c;h=587eeefadaad3d3b812a058daab80ff4e3cbf810;hb=151b9b9662a90455262ce575a8a8ae74bf4ff336;hp=bd97cd8cf87d2672db439141aea1a440b22d2e00;hpb=2ad8416dd057e7e3185169609ca3006e7649f576;p=elogind.git diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index bd97cd8cf..587eeefad 100644 --- a/src/udev/net/link-config.c +++ b/src/udev/net/link-config.c @@ -97,7 +97,7 @@ static int link_config_ctx_connect(link_config_ctx *ctx) { if (r < 0) return r; - r = sd_rtnl_open(0, &ctx->rtnl); + r = sd_rtnl_open(&ctx->rtnl, 0); if (r < 0) return r; @@ -244,7 +244,7 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device, link_confi link->match_driver, link->match_type, NULL, udev_device_get_sysattr_value(device, "address"), udev_device_get_property_value(device, "ID_PATH"), - udev_device_get_driver(device), + udev_device_get_driver(udev_device_get_parent(device)), udev_device_get_devtype(device), NULL)) { log_debug("Config file %s applies to device %s", @@ -383,6 +383,9 @@ int link_config_apply(link_config_ctx *ctx, link_config *config, struct udev_dev for (policy = config->name_policy; !new_name && *policy != _NAMEPOLICY_INVALID; policy++) { switch (*policy) { + case NAMEPOLICY_DATABASE: + new_name = udev_device_get_property_value(device, "ID_NET_NAME_FROM_DATABASE"); + break; case NAMEPOLICY_ONBOARD: new_name = udev_device_get_property_value(device, "ID_NET_NAME_ONBOARD"); break; @@ -447,6 +450,7 @@ DEFINE_STRING_TABLE_LOOKUP(mac_policy, MACPolicy); DEFINE_CONFIG_PARSE_ENUM(config_parse_mac_policy, mac_policy, MACPolicy, "Failed to parse MAC address policy"); static const char* const name_policy_table[] = { + [NAMEPOLICY_DATABASE] = "database", [NAMEPOLICY_ONBOARD] = "onboard", [NAMEPOLICY_SLOT] = "slot", [NAMEPOLICY_PATH] = "path",