summaryrefslogtreecommitdiff
path: root/src/network/networkd-dhcp4.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2014-12-08 19:54:06 +0100
committerTom Gundersen <teg@jklm.no>2014-12-08 22:13:40 +0100
commit45af44d47da6933b260c734ad9ff721f63f80a4d (patch)
tree0aae958af8aba2c93a202b9e681749cfc9e19b66 /src/network/networkd-dhcp4.c
parent2173cbf847fc53ca24950e77958c902edecfc207 (diff)
networkd: manager - enumerate addresses globally, rather than per-link
The kernel always returns all addresses, rather than only for the given link, so let's only enumerate once.
Diffstat (limited to 'src/network/networkd-dhcp4.c')
-rw-r--r--src/network/networkd-dhcp4.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
index ac59fd48c8..1c2edc5b87 100644
--- a/src/network/networkd-dhcp4.c
+++ b/src/network/networkd-dhcp4.c
@@ -296,11 +296,8 @@ static int dhcp4_address_handler(sd_rtnl *rtnl, sd_rtnl_message *m,
log_link_error(link, "could not set DHCPv4 address: %s",
strerror(-r));
link_enter_failed(link);
- } else if (r >= 0) {
- /* calling handler directly so take a ref */
- link_ref(link);
- link_get_address_handler(rtnl, m, link);
- }
+ } else if (r >= 0)
+ link_rtnl_process_address(rtnl, m, link->manager);
link_set_dhcp_routes(link);