diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 714fd8ccc2..08f0982ff0 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -454,6 +454,10 @@ static int address_update(Address *address, const Address *src) { if (IN_SET(link->state, LINK_STATE_FAILED, LINK_STATE_LINGER)) return 0; + r = address_set_masquerade(address, true); + if (r < 0) + return log_link_warning_errno(link, r, "Could not enable IP masquerading: %m"); + link_update_operstate(link, true); link_check_ready(link); @@ -1290,10 +1294,6 @@ int request_process_address(Request *req) { return r; } - r = address_set_masquerade(a, true); - if (r < 0) - log_link_warning_errno(link, r, "Could not enable IP masquerading, ignoring: %m"); - return 1; }