Hello,
I am testing with our built image from OpenWrt trunk source codes (outdated by more than 1 year)
During checking, I observed that static routes configured manually through LUCI WEB UI are not installed.
As I traced netifd codes with debug enabled, I could see that static routes are installed but removed in some cases like "ifup wan" or "/etc/init.d/network reload".
From further trace, my understanding is as below.
-. In interface_change_config() called by interface_update(),
reload_ip is always true. Consequently, interface_ip_set_enabled for both config_ip and proto_ip is called with false initially. However, interface_ip_set_enabled for config_ip is not called with true. This makes static routes uninstalled.
-. Why reload_ip is always true even though nothing is changed in configuration is that ip6table value for interface is set to default value which is incremented per interface basis.
For now, IPv6 support is not included in my works. So, I blocked a line regarding ip6table default setting and could see that static routes are not lost in any cases.
However, I wonder why this unexpected problem happened. if you have helpful explanation and advices for this topic, please let me know.
(Currently, netifd-2013-05-30 is being used and some(not much) modifications are applied for our HW platform.)
Thank you in advance.