Merge pull request #10407 from yuwata/netlink-slot

sd-netlink: introduce sd_netlink_slot object and relevant functions
This commit is contained in:
Lennart Poettering
2018-10-18 18:05:58 +02:00
committed by GitHub
25 changed files with 487 additions and 235 deletions
+2 -2
View File
@@ -129,8 +129,8 @@ static int netdev_bridge_post_create(NetDev *netdev, Link *link, sd_netlink_mess
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_INFO_DATA attribute: %m");
r = sd_netlink_call_async(netdev->manager->rtnl, req, netdev_bridge_set_handler,
netdev_netlink_destroy_callback, netdev, 0, NULL);
r = sd_netlink_call_async(netdev->manager->rtnl, NULL, req, netdev_bridge_set_handler,
netdev_netlink_destroy_callback, netdev, 0, __func__);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -136,8 +136,8 @@ static int netdev_geneve_create(NetDev *netdev) {
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_LINKINFO attribute: %m");
r = sd_netlink_call_async(netdev->manager->rtnl, m, geneve_netdev_create_handler,
netdev_netlink_destroy_callback, netdev, 0, NULL);
r = sd_netlink_call_async(netdev->manager->rtnl, NULL, m, geneve_netdev_create_handler,
netdev_netlink_destroy_callback, netdev, 0, __func__);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not send rtnetlink message: %m");
+6 -6
View File
@@ -225,8 +225,8 @@ static int netdev_enslave_ready(NetDev *netdev, Link* link, sd_netlink_message_h
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_MASTER attribute: %m");
r = sd_netlink_call_async(netdev->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(netdev->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not send rtnetlink message: %m");
@@ -534,15 +534,15 @@ static int netdev_create(NetDev *netdev, Link *link,
return log_netdev_error_errno(netdev, r, "Could not append IFLA_LINKINFO attribute: %m");
if (link) {
r = sd_netlink_call_async(netdev->manager->rtnl, m, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(netdev->manager->rtnl, NULL, m, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not send rtnetlink message: %m");
link_ref(link);
} else {
r = sd_netlink_call_async(netdev->manager->rtnl, m, netdev_create_handler,
netdev_netlink_destroy_callback, netdev, 0, NULL);
r = sd_netlink_call_async(netdev->manager->rtnl, NULL, m, netdev_create_handler,
netdev_netlink_destroy_callback, netdev, 0, __func__);
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -112,8 +112,8 @@ int address_label_configure(
if (r < 0)
return log_error_errno(r, "Could not append IFA_ADDRESS attribute: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
+4 -4
View File
@@ -453,8 +453,8 @@ int address_remove(
if (r < 0)
return log_error_errno(r, "Could not append IFA_LOCAL attribute: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
@@ -632,8 +632,8 @@ int address_configure(
if (r < 0)
return r;
r = sd_netlink_call_async(link->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0) {
address_release(address);
return log_error_errno(r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -195,8 +195,8 @@ int br_vlan_configure(Link *link, uint16_t pvid, uint32_t *br_vid_bitmap, uint32
return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
/* send message to the kernel */
r = sd_netlink_call_async(rtnl, req, set_brvlan_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(rtnl, NULL, req, set_brvlan_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -134,8 +134,8 @@ int fdb_entry_configure(Link *link, FdbEntry *fdb_entry) {
}
/* send message to the kernel to update its internal static MAC table. */
r = sd_netlink_call_async(rtnl, req, set_fdb_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(rtnl, NULL, req, set_fdb_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -173,8 +173,8 @@ int ipv6_proxy_ndp_address_configure(Link *link, IPv6ProxyNDPAddress *ipv6_proxy
if (r < 0)
return rtnl_log_create_error(r);
r = sd_netlink_call_async(rtnl, req, set_ipv6_proxy_ndp_address_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(rtnl, NULL, req, set_ipv6_proxy_ndp_address_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
+18 -18
View File
@@ -1340,8 +1340,8 @@ int link_set_mtu(Link *link, uint32_t mtu) {
if (r < 0)
return log_link_error_errno(link, r, "Could not append MTU: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, set_mtu_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, set_mtu_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1411,8 +1411,8 @@ static int link_set_flags(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not set link flags: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, set_flags_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, set_flags_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1487,8 +1487,8 @@ static int link_set_bridge(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not append IFLA_LINKINFO attribute: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, link_set_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, link_set_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1540,8 +1540,8 @@ static int link_bond_set(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not append IFLA_INFO_DATA attribute: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, set_flags_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, set_flags_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1833,8 +1833,8 @@ int link_up(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not close IFLA_AF_SPEC container: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1859,8 +1859,8 @@ static int link_up_can(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not set link flags: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, link_up_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, link_up_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -1949,8 +1949,8 @@ static int link_set_can(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Failed to close netlink container: %m");
r = sd_netlink_call_async(link->manager->rtnl, m, link_set_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, m, link_set_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -2007,8 +2007,8 @@ int link_down(Link *link) {
if (r < 0)
return log_link_error_errno(link, r, "Could not set link flags: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, link_down_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, link_down_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_link_error_errno(link, r, "Could not send rtnetlink message: %m");
@@ -3122,8 +3122,8 @@ int link_initialized(Link *link, sd_device *device) {
if (r < 0)
return r;
r = sd_netlink_call_async(link->manager->rtnl, req, link_initialized_handler,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, link_initialized_handler,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return r;
+8 -8
View File
@@ -930,35 +930,35 @@ static int manager_connect_rtnl(Manager *m) {
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_NEWLINK, &manager_rtnl_process_link, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_NEWLINK, &manager_rtnl_process_link, NULL, m, "network-rtnl_process_link");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_DELLINK, &manager_rtnl_process_link, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_DELLINK, &manager_rtnl_process_link, NULL, m, "network-rtnl_process_link");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_NEWADDR, &manager_rtnl_process_address, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_NEWADDR, &manager_rtnl_process_address, NULL, m, "network-rtnl_process_address");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_DELADDR, &manager_rtnl_process_address, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_DELADDR, &manager_rtnl_process_address, NULL, m, "network-rtnl_process_address");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_NEWROUTE, &manager_rtnl_process_route, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_NEWROUTE, &manager_rtnl_process_route, NULL, m, "network-rtnl_process_route");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_DELROUTE, &manager_rtnl_process_route, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_DELROUTE, &manager_rtnl_process_route, NULL, m, "network-rtnl_process_route");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_NEWRULE, &manager_rtnl_process_rule, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_NEWRULE, &manager_rtnl_process_rule, NULL, m, "network-rtnl_process_rule");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_DELRULE, &manager_rtnl_process_rule, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_DELRULE, &manager_rtnl_process_rule, NULL, m, "network-rtnl_process_rule");
if (r < 0)
return r;
+4 -4
View File
@@ -439,8 +439,8 @@ int route_remove(Route *route, Link *link,
return log_error_errno(r, "Could not append RTA_OIF attribute: %m");
}
r = sd_netlink_call_async(link->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
@@ -620,8 +620,8 @@ int route_configure(
if (r < 0)
return log_error_errno(r, "Could not append RTA_METRICS attribute: %m");
r = sd_netlink_call_async(link->manager->rtnl, req, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, req, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
+4 -4
View File
@@ -370,8 +370,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, m, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, m, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
@@ -539,8 +539,8 @@ int routing_policy_rule_configure(RoutingPolicyRule *rule, Link *link, sd_netlin
rule->link = link;
r = sd_netlink_call_async(link->manager->rtnl, m, callback,
link_netlink_destroy_callback, link, 0, NULL);
r = sd_netlink_call_async(link->manager->rtnl, NULL, m, callback,
link_netlink_destroy_callback, link, 0, __func__);
if (r < 0)
return log_error_errno(r, "Could not send rtnetlink message: %m");
+2 -2
View File
@@ -169,11 +169,11 @@ static int manager_rtnl_listen(Manager *m) {
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_NEWLINK, on_rtnl_event, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_NEWLINK, on_rtnl_event, NULL, m, "wait-online-on-NEWLINK");
if (r < 0)
return r;
r = sd_netlink_add_match(m->rtnl, RTM_DELLINK, on_rtnl_event, m);
r = sd_netlink_add_match(m->rtnl, NULL, RTM_DELLINK, on_rtnl_event, NULL, m, "wait-online-on-DELLINK");
if (r < 0)
return r;