From: Yu Watanabe Date: Wed, 8 Sep 2021 06:39:41 +0000 (+0900) Subject: network: enable IP masquerade when address is assigned X-Git-Tag: v250-rc1~691^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a8685ffefcd27b55845758bad6c022785e1044a;p=thirdparty%2Fsystemd.git network: enable IP masquerade when address is assigned Previously, IP masquerade is enabled when configuring the address. But, the request of assigning the address may be refused by kernel. --- diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 714fd8ccc2c..08f0982ff0f 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; }