]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: make manager_enumerate_internal() take sd_netlink object
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 20 Sep 2021 19:44:00 +0000 (04:44 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 29 Sep 2021 06:38:59 +0000 (15:38 +0900)
Preparation for dumping information through generic netlink.

src/network/networkd-manager.c

index d07a9bb46496909787f90125a45d18f34b2a9430..b7579cfd6151352c2d5a41b8016d9d82b45743c5 100644 (file)
@@ -567,15 +567,16 @@ bool manager_should_reload(Manager *m) {
 
 static int manager_enumerate_internal(
                 Manager *m,
+                sd_netlink *nl,
                 sd_netlink_message *req,
                 int (*process)(sd_netlink *, sd_netlink_message *, Manager *),
                 const char *name) {
 
         _cleanup_(sd_netlink_message_unrefp) sd_netlink_message *reply = NULL;
-        int r;
+        int k, r;
 
         assert(m);
-        assert(m->rtnl);
+        assert(nl);
         assert(req);
         assert(process);
 
@@ -583,10 +584,10 @@ static int manager_enumerate_internal(
         if (r < 0)
                 return r;
 
-        r = sd_netlink_call(m->rtnl, req, 0, &reply);
+        r = sd_netlink_call(nl, req, 0, &reply);
         if (r < 0) {
                 if (name && (r == -EOPNOTSUPP || (r == -EINVAL && mac_selinux_enforcing()))) {
-                        log_debug_errno(r, "%s are not supported by the kernel. Ignoring.", name);
+                        log_debug_errno(r, "%s is not supported by the kernel. Ignoring.", name);
                         return 0;
                 }
 
@@ -594,11 +595,9 @@ static int manager_enumerate_internal(
         }
 
         for (sd_netlink_message *reply_one = reply; reply_one; reply_one = sd_netlink_message_next(reply_one)) {
-                int k;
-
                 m->enumerating = true;
 
-                k = process(m->rtnl, reply_one, m);
+                k = process(nl, reply_one, m);
                 if (k < 0 && r >= 0)
                         r = k;
 
@@ -619,7 +618,7 @@ static int manager_enumerate_links(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_link, NULL);
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_link, NULL);
 }
 
 static int manager_enumerate_addresses(Manager *m) {
@@ -633,7 +632,7 @@ static int manager_enumerate_addresses(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_address, NULL);
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_address, NULL);
 }
 
 static int manager_enumerate_neighbors(Manager *m) {
@@ -647,7 +646,7 @@ static int manager_enumerate_neighbors(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_neighbor, NULL);
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_neighbor, NULL);
 }
 
 static int manager_enumerate_routes(Manager *m) {
@@ -664,7 +663,7 @@ static int manager_enumerate_routes(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_route, NULL);
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_route, NULL);
 }
 
 static int manager_enumerate_rules(Manager *m) {
@@ -681,7 +680,7 @@ static int manager_enumerate_rules(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_rule, "Routing policy rules");
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_rule, "Routing policy rule");
 }
 
 static int manager_enumerate_nexthop(Manager *m) {
@@ -695,7 +694,7 @@ static int manager_enumerate_nexthop(Manager *m) {
         if (r < 0)
                 return r;
 
-        return manager_enumerate_internal(m, req, manager_rtnl_process_nexthop, "Nexthop rules");
+        return manager_enumerate_internal(m, m->rtnl, req, manager_rtnl_process_nexthop, "Next hop");
 }
 
 int manager_enumerate(Manager *m) {