I have a x86 box, now I have to flip the "Software flow offloading" option in order to get IPv4 Internet access from lan after every reboot and wan interface is up, IPv6 works good.
Route tracing to any wan IPv4 address on lan devices also end up at router with all the hops from 2 not responding or showing.
Probably the issue is not related to "Software flow offload", because there is no Internet access from LAN but the router itself, no matter "Software flow offloading" is on or off.
However, when I turn on or off "Software flow offloading", all lan devices will have Internet access, until next reboot.
Due to the router is in production environment of my store, currently, I have no choice other than adding the following to startup script.
uci set firewall.@defaults[0].flow_offloading=1
uci commit firewall
uci set firewall.@defaults[0].flow_offloading=0
uci commit firewall
Anyone have a better idea for this?
Update
I found that firewall is malfunctioning after I added ipip6 tunnel for IPv4 connectivity, it is started but not doing any NAT, fw4 reload solved this.
What I did before is nonsense because uci will reload firewall after changes commited.(I found that when I change any firewall related config it will return normal)
Now startup script can be simplified as below.
fw4 reload
I am still trying to figure out what causes this issue.
I dont know, how SW Offload behaves in this case:
by default, only 1 LAN port on x86 is active and part of the LAN zone, you have to add the remaining LAN ports manually and save config.
And this looks a bit like your config is not saved/preserved over reboots.
Prominent reasons for that could be broken SSD device (which had switched to readonly mode), using a RAM OpenWRT image, or being out of free space on the overlay partition. Maybe there are more reasons.
I wrote the 23.05.5 x86_64 generic-ext4-combined-efi image retrieved from downloads.openwrt.org to disk directly.
I resized / to 1GiB and created another ext4 partition on the remaining space for my plan to use lxc and docker. Currently I have not mounted that new partition, neither installing lxc and docker.
At first I thinked about partition corruption because of newer version of resize2fs. So I tried write that image without resizing, nothing helps.
Then I found out that when I added ipip6 tunnel for IPv4 connection, firewall will only work properly with a reload every reboot.
After talking with the author of ipip6 script, it seems like the part to get port access of the script didn't address fw4 well, causing the disappearance of all the fw4 rules. There are also 22.03/23.05 users seeking help about this in Japanese forums.
Due to few need of a static IPv4 address over ipip6 in Japan with OpenWrt, this issue is too late to be find. Fix will be merged to ds-lite package ASAP. Because this script is based on cleanroom of proprietary router firmware, it may take a long time to address this.
Currently reloading on start is the best temporarily solution.