This is a basic how to about configuring VLAN tags / ids with Hyper-V and for Hyper-V virtual machines.

This is a work in progress.

Thank you to:  Artem Pronichkin, William Bressette, Hans Vredevoort

For greater understanding of Hyper-V Networking in General:

On page 11 begins the VLAN part Understanding Networking with Hyper-V white paper

The most Generic model:  enable Trunking on the physical switch (specifying the VLAN IDs and native VLAN) and apply a VLAN ID in the settings of the virtual NIC of each VM that needs it and the VM is attached to the proper External Virtual Network.

Note:  Hyper-V Virtual Networks are "trunking mode" by default.

  1. Configure the switch port as a trunk
  2. Specify VLAN IDs / Tags and native VLAN
  3. On Hyper-V create an External Virtual Network attached to the configured trunk port of the physical switch
  4. Apply a VLAN ID / Tag to each VM in the settings of the virtual network adapter

The Network Teaming model:  NIC Teaming is involved (since Hyper-V does not support bonding) - you apply the VLAN tag to the Teaming virtual NIC and attach a virtual switch to this.

  1. Create a trunked port on your switch.
  2. Create a team
  3. Create several Team Virtual NICs in parent partition assigning different VLAN IDs to each virtual NIC
  4. Create a Virtual Network from each of the Teaming Virtual NICs
  5. Connect VMs to proper Virtual Networks
  6. Don’t specify the VLAN ID field in VM properties
  7. But in some cases (e.g. HP NCU) step 6 is exactly opposite. You must specify VLAN ID both on virtual NIC level (step 3) and each VM level (step 6)

 SCVMM is involved – follow the Generic Model and be sure to set the “trunking” option on the Virtual Network settings in the SCVMM management console.

Note: SCVMM exposes the two different types of trunking options (the Hyper-V Manager GUI does not expose the access mode setting) - trunk mode and access mode.