- r = rtnl_set_link_properties(ctx->rtnl, ifindex, config->alias, mac, config->mtu);
- if (r < 0) {
- log_warning("Could not set Alias, MACAddress or MTU on %s: %s", old_name, strerror(-r));
+ r = rtnl_set_link_properties(&ctx->rtnl, ifindex, config->alias, mac,
+ config->mtu);
+ if (r < 0)
+ return log_warning_errno(r, "Could not set Alias, MACAddress or MTU on %s: %m", old_name);
+
+ *name = new_name;
+
+ return 0;
+}
+
+int link_get_driver(link_config_ctx *ctx, struct udev_device *device, char **ret) {
+ const char *name;
+ char *driver;
+ int r;
+
+ name = udev_device_get_sysname(device);
+ if (!name)
+ return -EINVAL;
+
+ r = ethtool_get_driver(&ctx->ethtool_fd, name, &driver);
+ if (r < 0)