Разбираюсь что из себя представляет NetworkManager. Для того, чтобы в Ubuntu работал VPN openconnect везде рекомендуют ставить пакеты openconnect, network-manager-openconnect и network-manager-openconnect-gnome. Смотрю исходники пакетов. Вижу, что openconnect - это консольная утилита, которую дергает тот же NetworkManager. network-manager-openconnect - штука которая связывает между собой openconnect и NetworkManager, а так же, позволяет конфигурировать VPN с помощью GUI.
То есть в моей картине мира все выглядит так: есть NetworkManager, который, как написано в описании репы, управляет разными сетевыми подключениями, есть openconnect, который может делать VPN, а есть network-manager-openconnect - штука для связи первых двух друг с другом. Таким образом, NetworkManager не должен ничего знает про openconnect, но почему тогда в исходниках NetworkManager полно отсылок к openconnect, типа такой https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/master/clients/cli/common.c#L592?
Так за что все же отвечает NetworkManager, а за что network-manager-openconnect?