Isso é muito simples de fazer. Normalmente, você usaria o bridging no host, a ponte atuando como um comutador virtual para as VMs e as NICs físicas a serem conectadas:
rede - > Host NIC - > BRIDGE < - VM
Com as VLANs, isso fica um pouco mais complicado:
rede (porta do tronco) - > Host NIC - > Tagged IF - > BRIDGE < - VM
Tudo isso é gerenciado em ifcfg
scripts em um host RHEL, por exemplo, ifcfg-eth0 (host NIC); ifcfg-eth0.100 (Tagged IF); ifcfg-br100 (interface de ponte trabalhando na parte superior da interface marcada, transmitindo tráfego marcado).
Se você precisar de várias VLANs, basta adicionar mais interfaces ifcfg-eth0.tagNumber e criar uma ponte sobre cada uma, para as VMs que precisam estar na rede marcada a ser conectada.
Espero que faça sentido, é realmente muito simples.
EDITAR:
- se houver apenas uma tag que você deseja definir no switch, também é só marcar o tráfego na porta e usar uma ponte. Como tudo que chega na NIC será marcado, a ponte transmitirá o tráfego para as VMs, assim como
- para cada VLAN, basta criar uma ponte e conectar a VM a essa ponte para o acesso ao tráfego marcado. Se você tiver um pequeno conjunto de VLANs que você usará, basta criar todas as VLAN IFs e pontes e conectar VMs a qualquer bridge + VLAN de que você precise dinamicamente, sem tocar na configuração do host