vlan0 get's its ip by dhcp as expected, however vlan1 and vlan2 never get their static IPs assigned. They are created and configured with the correct vlan id/parent device, but the ip address is never assigned.

You could take things in own hand by configuring the devices with /etc/start_if.<interface> files.

You can use the normal ifconfig commands in this kind of file(s) just like you would do from the command line.

Several years ago on bsdforums.org I recommended usage of this file. Somebodies interface was DOWN at FreeBSD startup and as a result DHCP never worked. Just creating a /etc/start_if.xx0 with "ifconfig xx0 up" solved the problem.

__________________
You don't need to be a genius to debug a pf.conf firewall ruleset, you just need the guts to run tcpdump

Thanks for the suggestions, with a bit more investigation it put me on the right path.

The interfaces mentioned in cloned_interfaces aren't being destroyed when `/etc/rc.d/netif stop` is called. The ip addresses are not assigned correctly only when the device exists before `/etc/rc.d/netif start` is called.

By creating /etc/stop_if.dev scripts for each of the devices in cloned_interfaces and explicitly destroying them there do things work as expected.