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)
(cherry picked from commit cbb1ad1ba7)
(cherry picked from commit dc03a26494)
This commit is contained in:
Beniamino Galvani 2019-12-13 18:05:38 +01:00
parent abd4cde102
commit 1158d01926

View file

@ -2004,7 +2004,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 */