diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-09-21 04:44:00 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2021-09-29 15:38:59 +0900 |
commit | bdcd4ab2f16f51783b0ec58083828743c4a60480 (patch) | |
tree | e24ac5595b76eb1840e098850c0c7bab2e18137f /src | |
parent | 96243149bdb2a8e1791ad729213c3421ff73c2f4 (diff) | |
download | systemd-bdcd4ab2f16f51783b0ec58083828743c4a60480.tar.gz |
network: make manager_enumerate_internal() take sd_netlink object
Preparation for dumping information through generic netlink.
Diffstat (limited to 'src')
-rw-r--r-- | src/network/networkd-manager.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index d07a9bb464..b7579cfd61 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -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) { |