Hi Kris, > Please forgive my ignorance in advance since I'm fairly new to this area > and my understanding of connection/network management tools is still > fairly shallow. > > At first glance there seem to be a lot of architectural similarities > between connman and network manager. Both are daemons that attempt to > keep the connection up. Both support plugins and communicate with > clients and other helpers using dbus and such. > > I'm trying to understand what the key differences are between connman > and network manager. To put it another way, what are the problems that > connman is meant to solve that are not solved by network manager?
so the basic idea of Network Manager and ConnMan are the same. Both will give a system to manage your Internet connections. However the key differences are in the design philosophies. ConnMan is a full modular system. The core daemon only provides the framework. All implementation details (like WiFi, Bluetooth, DHCP, IP, PolicyKit etc.) are optional and realized via plugins. This allows us to add support for new technologies quickly or replace current plugins with alternate solutions. ConnMan targets at embedded system and thus we are trying to cut down the dependency chain massively. It depends on libglib-2.0 (core only) and libdbus (low-level only). Everything else is optional. It doesn't depend on HAL or DeviceKit and does its device detection directly via RTNL and libudev (optional). ConnMan will be able to fully work without any kind of UI or extra daemon present. This is different to Network Manager where at least one settings daemon has to be present (system or session). This means that we try to put as less intelligence as possible in the UI. This way it is possible to easily and quickly replace the UI without re-writing half of the implementation. ConnMan is designed to work on small embedded system without any kind to networking scripts or preparations for network setup. This means that it can be used really early in the boot process and will also setup things like loopback devices. This is really important for a fast boot. ConnMan has a complete different internal handling of the representation of devices, networks, connections and other details. It is fully flexible and easy to extend. Check my Linux-Kongress presentation if you need some more details or nice graphics. However ConnMan also has things in common with Network Manager. For example both systems are using wpa_supplicant for managing WiFi devices, but the internals are completely different. Regards Marcel _______________________________________________ connman mailing list [email protected] https://lists.moblin.org/mailman/listinfo/connman
