]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: introduce link_requeue_request()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 12 Mar 2024 08:28:43 +0000 (17:28 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 14 Mar 2024 17:28:48 +0000 (02:28 +0900)
src/network/networkd-queue.c
src/network/networkd-queue.h
src/network/networkd-route.c

index f1dd6b44d251cdc71897ab014900e04593b28138..98c629f161dc6bf556f648d18cfd889cef53d29d 100644 (file)
@@ -216,6 +216,23 @@ int link_queue_request_full(
                            process, counter, netlink_handler, ret);
 }
 
+int link_requeue_request(Link *link, Request *req, void *userdata, Request **ret) {
+        assert(link);
+        assert(req);
+
+        return link_queue_request_full(
+                        link,
+                        req->type,
+                        userdata,
+                        req->free_func,
+                        req->hash_func,
+                        req->compare_func,
+                        req->process,
+                        req->counter,
+                        req->netlink_handler,
+                        ret);
+}
+
 int manager_process_requests(Manager *manager) {
         Request *req;
         int r;
index bdedc775377b9c56ed1df117cc01032757fe4642..e35cd73efd944def8120bce462d904cef36e557a 100644 (file)
@@ -107,6 +107,8 @@ int link_queue_request_full(
                 request_netlink_handler_t netlink_handler,
                 Request **ret);
 
+int link_requeue_request(Link *link, Request *req, void *userdata, Request **ret);
+
 static inline int link_queue_request(
                 Link *link,
                 RequestType type,
index 3c5de98e7c96181439a0b640855f4d0750302890..efe378a457289beac0309786376b44fa90eedaf1 100644 (file)
@@ -780,16 +780,7 @@ static int route_requeue_request(Request *req, Link *link, const Route *route) {
         request_detach(req);
 
         /* Request the route with the adjusted Route object combined with the same other parameters. */
-        r = link_queue_request_full(link,
-                                    req->type,
-                                    tmp,
-                                    req->free_func,
-                                    req->hash_func,
-                                    req->compare_func,
-                                    req->process,
-                                    req->counter,
-                                    req->netlink_handler,
-                                    NULL);
+        r = link_requeue_request(link, req, tmp, NULL);
         if (r < 0)
                 return r;
         if (r == 0)