Когда NetworkManager контролирует соединение WiFi в системе, как он выбирает, к какой сети подключаться?
Я в курсе. настройки connection.autoconnect-priority, но мне интересно понять алгоритм, используемый для выбора соединения, когда доступны несколько сетей с автоподключением, разделяющих приоритет = 0.
NetworkManager
вообще не делает этого; вместо него это делает wpa_supplicant
. NetworkManager
просто пытается поддерживать каждое активное соединение в режиме онлайн, а затем делегирует работу другим утилитам в зависимости от типа соединения. Для беспроводных и некоторых проводных соединений 802.1x это работа wpa_supplicant
.
Итак, как wpa_supplicant
это делает? Каждый сетевой интерфейс, который может быть подключен, ищет подключения по каждому из следующих критериев, пока не останется только одна сеть для подключения:
Так что если все остальное не удается, конфигурационный файл является авторитетным порядком. Вы можете прочитать исходный код.