From: Yu Watanabe Date: Sun, 20 Jun 2021 19:28:09 +0000 (+0900) Subject: network: ipv4ll: reset MAC address without stopping sd-ipv4ll engine X-Git-Tag: v249-rc3~17^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f8d6397ac21bc95989b6220eeb914af8f8d120d3;p=thirdparty%2Fsystemd.git network: ipv4ll: reset MAC address without stopping sd-ipv4ll engine --- diff --git a/src/network/networkd-ipv4ll.c b/src/network/networkd-ipv4ll.c index e1dbbabf8f3..be6fedf90fd 100644 --- a/src/network/networkd-ipv4ll.c +++ b/src/network/networkd-ipv4ll.c @@ -184,31 +184,16 @@ int ipv4ll_configure(Link *link) { } int ipv4ll_update_mac(Link *link) { - bool restart; - int r; - assert(link); + if (link->hw_addr.length != ETH_ALEN) + return 0; + if (ether_addr_is_null(&link->hw_addr.ether)) + return 0; if (!link->ipv4ll) return 0; - restart = sd_ipv4ll_is_running(link->ipv4ll) > 0; - - r = sd_ipv4ll_stop(link->ipv4ll); - if (r < 0) - return r; - - r = sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.ether); - if (r < 0) - return r; - - if (restart) { - r = sd_ipv4ll_start(link->ipv4ll); - if (r < 0) - return r; - } - - return 0; + return sd_ipv4ll_set_mac(link->ipv4ll, &link->hw_addr.ether); } int config_parse_ipv4ll(