r = sd_rtnl_message_get_errno(m);
if (r < 0) {
- log_warning("Could not bring up interface '%s': %s",
+ log_warning("Could not get state of interface '%s': %s",
link->ifname, strerror(-r));
link_enter_failed(link);
}
assert(link->manager);
assert(link->manager->rtnl);
- r = sd_rtnl_message_link_new(RTM_GETLINK, link->ifindex, 0, 0, &req);
+ r = sd_rtnl_message_link_new(RTM_GETLINK, link->ifindex, &req);
if (r < 0) {
log_error("Could not allocate RTM_GETLINK message");
return r;
assert(link->manager);
assert(link->manager->rtnl);
- r = sd_rtnl_message_link_new(RTM_NEWLINK, link->ifindex, 0, IFF_UP, &req);
+ r = sd_rtnl_message_link_new(RTM_SETLINK, link->ifindex, &req);
+ if (r < 0) {
+ log_error("Could not allocate RTM_SETLINK message");
+ return r;
+ }
+
+ r = sd_rtnl_message_link_set_flags(req, IFF_UP);
if (r < 0) {
- log_error("Could not allocate RTM_NEWLINK message");
+ log_error("Could not set link flags");
return r;
}