diff options
author | Tom Gundersen <teg@jklm.no> | 2014-12-08 19:54:06 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-12-08 22:13:40 +0100 |
commit | 45af44d47da6933b260c734ad9ff721f63f80a4d (patch) | |
tree | 0aae958af8aba2c93a202b9e681749cfc9e19b66 /src/network/networkd-dhcp4.c | |
parent | 2173cbf847fc53ca24950e77958c902edecfc207 (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.c | 7 |
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); |