I added an extra network card to my Proxmox server (Mellanox Connect-X3) and some VLANs were not working. It turned out Mellanox Connect-X3 supports only about 128 VLANS in memory. Proxmox by default adds VLANs from 2-4094. You can see it in /etc/network/interfaces, line bridge-vids 2-4094.
When you try to reload networking from console, you get this error:
root@proxmox:~# ifreload -a error: enp1s0: failed to set vid `{2,...4094}` (cmd '/sbin/bridge vlan add vid 2-4094 dev enp1s0' failed: returned 255 (RTNETLINK answers: No space left on device))
To fix this, open /etc/network/interfaces and add only VLANs you need. For example:
Original:
auto vmbr1 iface vmbr1 inet manual bridge-ports enp1s0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 2-4094
Fixed:
auto vmbr1 iface vmbr1 inet manual bridge-ports enp1s0 bridge-stp off bridge-fd 0 bridge-vlan-aware yes bridge-vids 20,21,30,40,50,60,90,200,210,254,600,664-668
Restart networking:
ifreload -a
Assign VLANs to your VMs now, it should work.