GNOME Bugzilla – Bug 632675
ifupdown hides the connections of the keyfile plugin if there are connections managed by ifupdown (not NM)
Last modified: 2016-03-11 17:42:17 UTC
The ifupdown plugin causes the keyfile plugin to break if there is a connection managed by ifupdown (/etc/network/interfaces) and the keyfile plugin is loaded after ifupdown as specified in /etc/NetworkManager/nm-system-settings.conf by default. The reason for this behaviour is the signal emission to unmanaged_specs_changed in the udev_device_added method of plugins/ifupdown/plugin.c: if (ALWAYS_UNMANAGE || priv->unmanage_well_known) g_signal_emit_by_name (G_OBJECT (self), NM_SYSTEM_CONFIG_INTERFACE_UNMANAGED_SPECS_CHANGED); The signal is handled by nm-sysconfig-settings.c:unmanaged_specs_changed, which calls nm_system_config_interface_get_unmanaged_specs, which in turn calls load_connections. load_connections iterates all plugins which have already been loaded (only ifupdown), gets all connections and then sets priv->connections_loaded = TRUE; All further calls to load_connections do nothing if this variable is set. Therefore the connections managed by keyfile (and potentially other sysconfig plugins in the future) are invisible to NetworkManager. A workaround is to change the order of the plugins and make sure ifupdown is the last. Ubuntu Lucid suffers from this bug. I would like to get the workaround into Ubuntu as a SRU. Can someone from Gnome help with that?
+ Trace 224241
Seems to be fixed in GIT: http://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=a4cc8873c9981176575c0939c63473b4206db72c