I came across this potentially useful piece of information whilst trying to get a new guest VM to speak to it's default gateway.
It was set to use a VLAN on a shared interface on the firewall (VLAN 1,2&3), this was a new VLAN and was configured in the same manner as the other two functioning VLANs. The whole way through both switches (allowing VLAN trunking, configuring the allowed VLANs on the switch ports affected etc.) but it was not working, it couldn't ping it's gateway, nor could the gateway ping it.
The problem was that the Hyper-V Host was not trunking all VLANs, only specified ones. I don't know if this is an out of the box setting, but I don't recall changing it, or adding the other VLANs to it.
To rectify this, open up the Host properties in SCVMM or in Hyper-V Manager, then navigate to the Network tab.
Click on the affected connection (LAN1 in this case) then select Edit.(You should see that the VLAN is set to Trunk already) If this isn't the case, you may need to allow trunking on the next screen as well.
Now you can either add the VLAN manually, or select the Trunk All VLAN ids. This will then populate the list below with all VLANs 1-4095. The checkbox will disappear the next time you open this but the list remains populated.
If you are managing a lot of VLANs (100's) or if you're only in charge of the Virtualisation technology, I might suggest allowing all, if you have a close coupling with the network team (or you *are* the network team) then allowing only specified VLANs may be a better, safer solution.