> @ddstreet tested with the latest version of ifupdown and vlan from your PPA with
> my 4 testscenario's and can confirm it works as expected. Interfaces come up
> correctly both when doing an "ifup -a" and during boot.
Excellent, thanks.
> One small thing I've noticed is a variation in the number of "Set name-type for
> VLAN subsystem. Should be visible in /proc/net/vlan/config" messages in the
> ifup output depending on the different scenario, even though the number of
> vlans is the same in all 4 tests
That's because in your config tests with vlans on bonds, your call to ifup -a doesn't actually process the bond or its vlans. Your ifup -a starts processing one of the bond slaves, and that causes the bond interface to by created. The bond creation is detected by udev, and udev tells systemd, and systemd then invokes ifup directly on the bond interface. By the time your ifup -a has gotten to trying to bring up the bond (or its vlans), they are already up because of udev detection which invokes the 'hotplug' ifup that logs to systemd logs, not your stdout.
> @ddstreet tested with the latest version of ifupdown and vlan from your PPA with
> my 4 testscenario's and can confirm it works as expected. Interfaces come up
> correctly both when doing an "ifup -a" and during boot.
Excellent, thanks.
> One small thing I've noticed is a variation in the number of "Set name-type for vlan/config" messages in the
> VLAN subsystem. Should be visible in /proc/net/
> ifup output depending on the different scenario, even though the number of
> vlans is the same in all 4 tests
That's because in your config tests with vlans on bonds, your call to ifup -a doesn't actually process the bond or its vlans. Your ifup -a starts processing one of the bond slaves, and that causes the bond interface to by created. The bond creation is detected by udev, and udev tells systemd, and systemd then invokes ifup directly on the bond interface. By the time your ifup -a has gotten to trying to bring up the bond (or its vlans), they are already up because of udev detection which invokes the 'hotplug' ifup that logs to systemd logs, not your stdout.