/lib/rc/net/vlan.sh uses ${IFACE} instead of ${IFVAR} in eval instructions. This breaks all VLANs with ifaces like "eth.dsl" -> "eth.dsl.7" See my patch. Reproducible: Always
Created attachment 348318 [details, diff] patch to use ${IFVAR} instead of ${IFACE}
URL points to the commit containing the bug
I'm going to confirm this one ; ${IFVAR} is the version of ${IFACE} that can be used within a shell variable, and net/vlan.sh is explicitly trying to 'eval \$somevar_${IFACE}_whatever'. Will get the patch into netifrc soon.
InGit. I tweaked your config message as it looks like variable expansion bit you at some point.