manager: create a virtual device only if the connection can autoconnect

The autoconnection for virtual devices currently works in two
phases. First we detect that there is suitable profile that can
autoconnect and we realize the device. Then, when the device becomes
'disconnected', autoconnect kicks in and starts the activation.

However, if autoconnect is blocked for a device, currently we do step
1 without step 2, leaving a stale interface around. Fix this by also
checking that autoconnect is not blocked during step 1.

https://bugzilla.redhat.com/show_bug.cgi?id=1765047

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/360
(cherry picked from commit 6c716912eb)
(cherry picked from commit 944ff9f9dc)
This commit is contained in:
Beniamino Galvani 2019-12-13 18:05:38 +01:00
parent e6a06fd68e
commit cbb1ad1ba7

View file

@ -2034,7 +2034,8 @@ system_create_virtual_device (NMManager *self, NMConnection *connection)
s_con = nm_connection_get_setting_connection (candidate);
g_assert (s_con);
if (!nm_setting_connection_get_autoconnect (s_con))
if ( !nm_setting_connection_get_autoconnect (s_con)
|| nm_settings_connection_autoconnect_is_blocked (connections[i]))
continue;
/* Create any backing resources the device needs */