Greeting, I found /sbin/ifup does not take new network config, through it does reload before bringing interface up.
ifup orders netifd reload config via ubus call. But netifd uses an async event loop to do reloading work: void netifd_reload(void) { main_timer.cb = netifd_do_reload; uloop_timeout_set(&main_timer, 100); } That creates a race condition: interface will be brought up before netifd_do_reload gets a change to run. Sleeping in ifup after ubus reload can fix this: [ "$modes" = "down up" ] && ubus call network reload && sleep 1 I don't think we should change netifd_reload, so patch ifup is only way to make its reloading. How about you say? Best regards, -Chen
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel