summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-12-11 11:57:33 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2019-12-14 21:03:34 +0100
commit6d6e1402dc6e68688b05d7df3f5a05957db56e7e (patch)
treead87e31ca58b20fed754a1c7148c8f53325ddd28
parent0738c1044524b938f008c111b829db7dabbb8269 (diff)
downloadNetworkManager-6d6e1402dc6e68688b05d7df3f5a05957db56e7e.tar.gz
device: don't reapply IP configuration if the ifindex is missing
Assertions will fail in ip_config_merge_and_apply() if the device doesn't have an ifindex. Reproducible with: $ nmcli connection add type ovs-bridge ifname ovs0 ipv4.method disabled ipv6.method disabled Connection 'ovs-bridge-ovs0' (1d5e794b-10ad-4b2b-aa7c-5ca7e34b0a55) successfully added $ nmcli device reapply ovs0 Error: Reapplying connection to device '(null)' (/org/freedesktop/NetworkManager/Devices/16) failed: Remote peer disconnected $ journalctl -u NetworkManager -e ... NetworkManager[73824]: nm_ip4_config_add_dependent_routes: assertion 'ifindex > 0' failed systemd[1]: NetworkManager.service: Main process exited, code=dumped, status=5/TRAP ...
-rw-r--r--src/devices/nm-device.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 381f68874d..56858f859e 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -11615,7 +11615,8 @@ nm_device_reactivate_ip4_config (NMDevice *self,
}
}
- if (!ip_config_merge_and_apply (self, AF_INET, TRUE))
+ if ( nm_device_get_ip_ifindex (self) > 0
+ && !ip_config_merge_and_apply (self, AF_INET, TRUE))
_LOGW (LOGD_IP4, "Failed to reapply IPv4 configuration");
}
}
@@ -11688,7 +11689,8 @@ nm_device_reactivate_ip6_config (NMDevice *self,
}
}
- if (!ip_config_merge_and_apply (self, AF_INET6, TRUE))
+ if ( nm_device_get_ip_ifindex (self) > 0
+ && !ip_config_merge_and_apply (self, AF_INET6, TRUE))
_LOGW (LOGD_IP4, "Failed to reapply IPv6 configuration");
}
}