From: Yu Watanabe Date: Wed, 28 Nov 2018 20:18:16 +0000 (+0100) Subject: network: set default callbacks for routing_policy_rule_configure() and routing_policy... X-Git-Tag: v240~152^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29889b4d2498332f523715e53985653a12dad937;p=thirdparty%2Fsystemd.git network: set default callbacks for routing_policy_rule_configure() and routing_policy_rule_remove() --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 604d9d0a5d4..891f72b6ab9 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -801,7 +801,7 @@ static int link_set_routing_policy_rule(Link *link) { continue; } - r = routing_policy_rule_configure(rule, link, link_routing_policy_rule_handler, false); + r = routing_policy_rule_configure(rule, link, NULL, false); if (r < 0) { log_link_warning_errno(link, r, "Could not set routing policy rules: %m"); link_enter_failed(link); diff --git a/src/network/networkd-routing-policy-rule.c b/src/network/networkd-routing-policy-rule.c index e84612d41df..f883dc0e060 100644 --- a/src/network/networkd-routing-policy-rule.c +++ b/src/network/networkd-routing-policy-rule.c @@ -404,7 +404,8 @@ int routing_policy_rule_remove(RoutingPolicyRule *routing_policy_rule, Link *lin return log_error_errno(r, "Could not set destination prefix length: %m"); } - r = sd_netlink_call_async(link->manager->rtnl, NULL, m, callback, + r = sd_netlink_call_async(link->manager->rtnl, NULL, m, + callback ?: routing_policy_rule_remove_handler, link_netlink_destroy_callback, link, 0, __func__); if (r < 0) return log_error_errno(r, "Could not send rtnetlink message: %m"); @@ -461,7 +462,7 @@ static int routing_policy_rule_new_static(Network *network, const char *filename return 0; } -int link_routing_policy_rule_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) { +static int routing_policy_rule_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) { Link *link = userdata; int r; @@ -597,7 +598,8 @@ int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, sd_netlin rule->link = link; - r = sd_netlink_call_async(link->manager->rtnl, NULL, m, callback, + r = sd_netlink_call_async(link->manager->rtnl, NULL, m, + callback ?: routing_policy_rule_handler, link_netlink_destroy_callback, link, 0, __func__); if (r < 0) return log_error_errno(r, "Could not send rtnetlink message: %m"); @@ -1239,7 +1241,7 @@ void routing_policy_rule_purge(Manager *m, Link *link) { existing = set_get(m->rules_foreign, rule); if (existing) { - r = routing_policy_rule_remove(rule, link, routing_policy_rule_remove_handler); + r = routing_policy_rule_remove(rule, link, NULL); if (r < 0) { log_warning_errno(r, "Could not remove routing policy rules: %m"); continue; diff --git a/src/network/networkd-routing-policy-rule.h b/src/network/networkd-routing-policy-rule.h index 3bb3b4cd811..c31ed566ecb 100644 --- a/src/network/networkd-routing-policy-rule.h +++ b/src/network/networkd-routing-policy-rule.h @@ -55,8 +55,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC(RoutingPolicyRule*, routing_policy_rule_free); int routing_policy_rule_configure(RoutingPolicyRule *address, Link *link, sd_netlink_message_handler_t callback, bool update); int routing_policy_rule_remove(RoutingPolicyRule *routing_policy_rule, Link *link, sd_netlink_message_handler_t callback); -int link_routing_policy_rule_remove_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata); -int link_routing_policy_rule_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata); int routing_policy_rule_add(Manager *m, int family, const union in_addr_union *from, uint8_t from_prefixlen, const union in_addr_union *to, uint8_t to_prefixlen, uint8_t tos, uint32_t fwmark, uint32_t table, const char *iif, const char *oif, uint8_t protocol, const struct fib_rule_port_range *sport,