718263f07d
The problem with it was that it swapped the relative order of IP assignment and parent interface attachment. The present if_vlan code gets certain flags from the parent, including those meaningful to the upper layers. E.g., IP assignment to an interface with IFF_BROADCAST goes somewhat differently from that to a non-broadcast interface. Consequently, assigning IP before attaching the parent results in a bogus or missing broadcast address on the vlan interface. This bug is still here, but at least it won't be triggered by doing both vlanX configuration steps, IP and vlan+vlandev, in a single ifconfig invocation, which is usual to setting up vlans via rc.conf. Work at the global issue is under way.