I forgot to mention the worst part here, which is that if your interface name is long enough, and your vlan number is high enough... you can't create a vlan interface named enp8s0f0npf0vf1.1024 because it exceeds IFNAMSZ, glibc's maximum buffer size for an interface name.