return 0;
}
-void address_cancel_request(Address *address) {
- Request req;
-
- assert(address);
- assert(address->link);
-
- if (!address_is_requesting(address))
- return;
-
- req = (Request) {
- .link = address->link,
- .type = REQUEST_TYPE_ADDRESS,
- .address = address,
- };
-
- request_drop(ordered_set_get(address->link->manager->request_queue, &req));
- address_cancel_requesting(address);
-}
-
-static int static_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
- int r;
-
- assert(link);
- assert(link->static_address_messages > 0);
-
- link->static_address_messages--;
-
- r = address_configure_handler_internal(rtnl, m, link, "Failed to set static address");
- if (r <= 0)
- return r;
-
- if (link->static_address_messages == 0) {
- log_link_debug(link, "Addresses set");
- link->static_addresses_configured = true;
- link_check_ready(link);
- }
-
- return 1;
-}
-
static bool address_is_ready_to_configure(Link *link, const Address *address) {
assert(link);
assert(address);
return 1;
}
+static int static_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
+ int r;
+
+ assert(link);
+ assert(link->static_address_messages > 0);
+
+ link->static_address_messages--;
+
+ r = address_configure_handler_internal(rtnl, m, link, "Failed to set static address");
+ if (r <= 0)
+ return r;
+
+ if (link->static_address_messages == 0) {
+ log_link_debug(link, "Addresses set");
+ link->static_addresses_configured = true;
+ link_check_ready(link);
+ }
+
+ return 1;
+}
+
int link_request_static_address(Link *link, Address *address, bool consume) {
assert(link);
assert(address);
return 0;
}
+void address_cancel_request(Address *address) {
+ Request req;
+
+ assert(address);
+ assert(address->link);
+
+ if (!address_is_requesting(address))
+ return;
+
+ req = (Request) {
+ .link = address->link,
+ .type = REQUEST_TYPE_ADDRESS,
+ .address = address,
+ };
+
+ request_drop(ordered_set_get(address->link->manager->request_queue, &req));
+ address_cancel_requesting(address);
+}
+
int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, Manager *m) {
_cleanup_(address_freep) Address *tmp = NULL;
struct ifa_cacheinfo cinfo;
return 0;
}
-void route_cancel_request(Route *route, Link *link) {
- Request req;
-
- assert(route);
-
- link = route->link ?: link;
-
- assert(link);
-
- if (!route_is_requesting(route))
- return;
-
- req = (Request) {
- .link = link,
- .type = REQUEST_TYPE_ROUTE,
- .route = route,
- };
-
- request_drop(ordered_set_get(link->manager->request_queue, &req));
- route_cancel_requesting(route);
-}
-
-static int static_route_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
- int r;
-
- assert(link);
- assert(link->static_route_messages > 0);
-
- link->static_route_messages--;
-
- r = route_configure_handler_internal(rtnl, m, link, "Could not set route");
- if (r <= 0)
- return r;
-
- if (link->static_route_messages == 0) {
- log_link_debug(link, "Routes set");
- link->static_routes_configured = true;
- link_check_ready(link);
- }
-
- return 1;
-}
-
static int route_is_ready_to_configure(const Route *route, Link *link) {
int r;
return 1;
}
+static int static_route_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *link) {
+ int r;
+
+ assert(link);
+ assert(link->static_route_messages > 0);
+
+ link->static_route_messages--;
+
+ r = route_configure_handler_internal(rtnl, m, link, "Could not set route");
+ if (r <= 0)
+ return r;
+
+ if (link->static_route_messages == 0) {
+ log_link_debug(link, "Routes set");
+ link->static_routes_configured = true;
+ link_check_ready(link);
+ }
+
+ return 1;
+}
+
static int link_request_static_route(Link *link, Route *route) {
assert(link);
assert(link->manager);
return 0;
}
+void route_cancel_request(Route *route, Link *link) {
+ Request req;
+
+ assert(route);
+
+ link = route->link ?: link;
+
+ assert(link);
+
+ if (!route_is_requesting(route))
+ return;
+
+ req = (Request) {
+ .link = link,
+ .type = REQUEST_TYPE_ROUTE,
+ .route = route,
+ };
+
+ request_drop(ordered_set_get(link->manager->request_queue, &req));
+ route_cancel_requesting(route);
+}
+
static int process_route_one(
Manager *manager,
Link *link,