VLANs are not reserved by the driver, therefore UCI is responsible of setting up VLAN1 and VLAN2 in “userspace”.
GMAC1 (eth1, which is not a “real device”) disappears and the interfaces become eth0.1 and eth0.2 for LAN and WAN.
More testing is needed about the problem with ARP, but if this improves the situation it can be more useful to push these changes rather than a “hacking guide”, but that’s only a suggestion.
According to IPQ40x8/x9 Software User Guide, section 7.1
The EDMA driver configures the EDMA queuing interface. It also creates two virtual network devices:
eth0 (WAN) and eth1 (LAN). All packets received on the eth0 interface are forwarded to the ESS WAN
group and all packets received on eth1 interfaces are forwarded to the ESS LAN group.
So there is only one CPU port, and eth1 interface is virtual and created by its driver like DSA
I would fix this myself but I have no hardware to test. As for the EA6350v3, it just works. Out of the box and as expected (according to my lower number of testers).
Still my never-asked opinion is to apply the fix temporarily to make it “work as expected” (even if only a few devices benefit) rather than writing a guide about how it does not work as expected. Both are temporary solutions, anyway.
As for the IPQ4019, there must be a way to apply these patches to IPQ4018 without affecting the IPQ4019... or maybe using a plain old if in C may do the trick.