X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-ipv4ll.c;h=8050801e1959d69cedf0638721d79ed44d744b51;hb=c2cc6b9aefb6f2085d3ca7eb9743093a17f751da;hp=beac939b39522b9a38694a9d26a385424f53cc22;hpb=79008bddf679a5e0900369950eb346c9fa687107;p=elogind.git diff --git a/src/network/networkd-ipv4ll.c b/src/network/networkd-ipv4ll.c index beac939b3..8050801e1 100644 --- a/src/network/networkd-ipv4ll.c +++ b/src/network/networkd-ipv4ll.c @@ -105,11 +105,8 @@ static int ipv4ll_address_handler(sd_rtnl *rtnl, sd_rtnl_message *m, void *userd if (r < 0 && r != -EEXIST) { log_link_error(link, "could not set ipv4ll 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->ipv4ll_address = true; @@ -212,7 +209,7 @@ int ipv4ll_configure(Link *link) { assert(link); assert(link->network); - assert(link->network->ipv4ll); + assert(IN_SET(link->network->link_local, ADDRESS_FAMILY_IPV4, ADDRESS_FAMILY_YES)); r = sd_ipv4ll_new(&link->ipv4ll); if (r < 0)