On 2011-03-30 5:43 PM, Alexander Gordeev wrote:
В Wed, 30 Mar 2011 17:17:01 +0200
Jo-Philipp Wich<[email protected]>  пишет:

 Hi,

 no I have no list yet but it boils down to the fact that the current
 network and interface setup mechanisms are rather constrained, old and
 inflexible.

 Big problems are the lack of statefulness, the tendency for race
 conditions, the inability to properly nest protocols and the limited
 featureset of the ash shell which will not allow for complex interface
 operations like calculating ULAs etc.

 Felix has started working on netifd, which will at some point supersede
 the current network setup scripts with an rpc capable daemon written in
 C for better access to kernel APIs, ability to listen on netlink events etc.

 Once this is done, we can start to implement all the IPv6 requirements
 in a clean way.

Very interesting, but there are also projects like connman
(connman.net) or network manager. I think the latter is bloated but the
former is intended for embedded devices from the very beginning. What's
wrong with connman?
connman seems to be centered around one specifific use case - having a mobile device access the internet through multiple connections.

netifd will be able to manage even complex interface configurations with a mix of bonding, vlans, bridges, etc. and handle the dependencies between interfaces properly - and of course all that without adding unnecessary bloat.

BTW, what's the difference between ubus and dbus? I didn't find any
documentation...
D-Bus is bloated, the pure C API is very annoying to use and requires writing large amounts of boilerplate code. In fact, the pure C API is so annoying that its API documentation even states: "If you use this low-level API directly, you're signing up for some pain."

ubus is tiny (12k library, 13k daemon, 6k CLI) and requires only two small libraries (json-c for the CLI only, and libubox).

It has the advantage of being easy to use from regular C code, as well as automatically making all exported API functionality also available to shell scripts with no extra effort.

- Felix
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to