mwan3, mwan4, and the next steps

Jonas Lochmann openwrt at jonaslochmann.de
Fri Nov 14 12:12:55 PST 2025


So I took a look at mwan4 now and it looks like a skeleton. And I took a
look at ucode and its capabilities: ubus and netlink are supported. I
don't know how complete the netlink part is, but there was at least
something with routes and it seems to be extendable at runtime by shared
libraries exposing APIs in a certain way.

Now I think that mwan3 could be modernized step by step:

1.  replace the rpcd based ubus interface of mwan3 by a "real" service
    implemented with ucode - but doing the same thing it does currently

2.  manage state in the ucode service and not in files; provide a ubus
    interface to get and set parameters

3.1 manage the rtmon instances in the ucode service instead of using
    procd and the init script for that
3.2 implement rtmon within that service in ucode

4.1 manage mwan3track instances by the ucode service
4.2 implement mwan3track within the service in ucode

5. replace iptables calls by nftables/libnft calls

Those steps could be rearranged in many ways, but there are some
dependencies between them.

I could start with point 1 but I would like to get an OK from Florian
Eckert first before I start this. I have to think where I can test this
without annoying anyone.



More information about the openwrt-devel mailing list