assert(link);
assert(callback);
- r = sd_rtnl_message_link_new(RTM_SETLINK, link->ifindex, 0, 0, &req);
+ r = sd_rtnl_message_link_new(RTM_SETLINK, link->ifindex, &req);
if (r < 0) {
log_error("Could not allocate RTM_SETLINK message: %s",
strerror(-r));
return r;
}
- r = sd_rtnl_message_append(req, IFLA_MASTER, &bridge->link->ifindex);
+ r = sd_rtnl_message_append_u32(req, IFLA_MASTER, bridge->link->ifindex);
if (r < 0) {
log_error("Could not append IFLA_MASTER attribute: %s",
strerror(-r));
r = sd_rtnl_message_get_errno(m);
if (r < 0) {
log_warning("Bridge '%s' failed: %s", bridge->name, strerror(-r));
- return bridge_enter_failed(bridge);
+ bridge_enter_failed(bridge);
+
+ return 1;
}
if (bridge->link)
- return bridge_enter_ready(bridge);
-
- bridge->state = BRIDGE_STATE_CREATED;
+ bridge_enter_ready(bridge);
+ else
+ bridge->state = BRIDGE_STATE_CREATED;
- return 0;
+ return 1;
}
static int bridge_create(Bridge *bridge) {
assert(bridge->manager);
assert(bridge->manager->rtnl);
- r = sd_rtnl_message_link_new(RTM_NEWLINK, 0, 0, 0, &req);
+ r = sd_rtnl_message_link_new(RTM_NEWLINK, 0, &req);
if (r < 0) {
log_error("Could not allocate RTM_NEWLINK message: %s",
strerror(-r));
return r;
}
- r = sd_rtnl_message_append(req, IFLA_IFNAME, bridge->name);
+ r = sd_rtnl_message_append_string(req, IFLA_IFNAME, bridge->name);
if (r < 0) {
log_error("Could not append IFLA_IFNAME attribute: %s",
strerror(-r));
return r;
}
- r = sd_rtnl_message_append(req, IFLA_INFO_KIND, "bridge");
+ r = sd_rtnl_message_append_string(req, IFLA_INFO_KIND, "bridge");
if (r < 0) {
log_error("Could not append IFLA_INFO_KIND attribute: %s",
strerror(-r));
_cleanup_fclose_ FILE *file = NULL;
int r;
+ assert(manager);
+ assert(filename);
+
file = fopen(filename, "re");
if (!file) {
if (errno == ENOENT)