if (r < 0)
return r;
- r = sd_rtnl_open(0, &ctx->rtnl);
+ r = sd_rtnl_open(&ctx->rtnl, 0);
if (r < 0)
return r;
LIST_FOREACH(links, link, ctx->links) {
- if (net_match_config(link->match_mac, link->match_path,
- link->match_driver, link->match_type, NULL,
+ 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, link->match_arch,
udev_device_get_sysattr_value(device, "address"),
udev_device_get_property_value(device, "ID_PATH"),
udev_device_get_driver(udev_device_get_parent(device)),
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;
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",