X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fudev%2Fnet%2Flink-config.c;h=15bea4f4caa3cd089288bcddc09f67b1586c228c;hp=bd97cd8cf87d2672db439141aea1a440b22d2e00;hb=2cc412b59353576cece2d5b30c6a39c70552f0a0;hpb=2ad8416dd057e7e3185169609ca3006e7649f576 diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c index bd97cd8cf..15bea4f4c 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; @@ -242,9 +242,10 @@ int link_config_get(link_config_ctx *ctx, struct udev_device *device, link_confi if (net_match_config(link->match_mac, link->match_path, link->match_driver, link->match_type, NULL, + link->match_host, link->match_virt, link->match_kernel, 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 +384,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 +451,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",