mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-02 11:10:16 +01:00
device: unconditionally reapply IP configuration on link up
Consider the situation in which ipv4.method=auto and there is an address configured. Also, the DHCP timeout is long and there is no DHCP server. If the link is brought down temporarily, the prefix route for the static address is lost and not restored by NM because we reapply the IP configuration only when the IP state is DONE. The same can happen also for IPv6, but in that case also static IPv6 addresses are lost. We should always reapply the IP configuration when the link goes up. (cherry picked from commitd0b16b9283) (cherry picked from commit4482ca64ba)
This commit is contained in:
parent
25af9b8f0f
commit
158dae6b5a
1 changed files with 4 additions and 8 deletions
|
|
@ -3880,16 +3880,12 @@ device_link_changed (NMDevice *self)
|
|||
if (priv->up && (!was_up || seen_down)) {
|
||||
/* the link was down and just came up. That happens for example, while changing MTU.
|
||||
* We must restore IP configuration. */
|
||||
if (priv->ip_state_4 == NM_DEVICE_IP_STATE_DONE) {
|
||||
if (!ip_config_merge_and_apply (self, AF_INET, TRUE))
|
||||
_LOGW (LOGD_IP4, "failed applying IP4 config after link comes up again");
|
||||
}
|
||||
if (!ip_config_merge_and_apply (self, AF_INET, TRUE))
|
||||
_LOGW (LOGD_IP4, "failed applying IP4 config after link comes up again");
|
||||
|
||||
priv->linklocal6_dad_counter = 0;
|
||||
if (priv->ip_state_6 == NM_DEVICE_IP_STATE_DONE) {
|
||||
if (!ip_config_merge_and_apply (self, AF_INET6, TRUE))
|
||||
_LOGW (LOGD_IP6, "failed applying IP6 config after link comes up again");
|
||||
}
|
||||
if (!ip_config_merge_and_apply (self, AF_INET6, TRUE))
|
||||
_LOGW (LOGD_IP6, "failed applying IP6 config after link comes up again");
|
||||
}
|
||||
|
||||
if (update_unmanaged_specs)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue