By default, the virtual adapters are in access mode so the virtual switch will treat frames coming from them with 802.1Q tags as malformed.
If the adapter that you're using doesn't carry management OS traffic, convert it to trunk mode. If it does carry management traffic, then you'll want to create a new virtual adapter and convert that. Virtual adapters in trunk mode cannot carry 802.1q-less frames anymore so the management OS won't be able to use it.
Can't send raw 802.1Q frames over Hyper-V network adapter
I am trying to send (using Pcap) raw 802.1Q (Vlan tagged) frames over a Hyper-V virtual network adapter (management OS) connected to a virtual switch, but for some reason the packets is not sent and I think it is rejected by the kernel as Pcap reports that it has sent the frame successfully.
Is there a special configuration to be done for the virtual network adapter or the virtual switch so that it can passes raw 802.1Q frames.
Windows for business | Windows Client for IT Pros | Storage high availability | Virtualization and Hyper-V
3 answers
Sort by: Most helpful
-
Eric Siron 1,586 Reputation points MVP
2021-07-12T00:57:21.737+00:00 -
Anonymous
2021-07-12T01:39:31.187+00:00 Hi,
For creating a new adaptor you can refer to this:
https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/create-a-virtual-switch-for-hyper-v-virtual-machinesThanks for your time.
Best regards,
Danny-----------------------------
If the Answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
-
Anonymous
2022-08-22T10:20:43.893+00:00 I encoutner the same problem.
Let's say I have eth2 on Linux.
If I directly send raw 802.1Q frames via eth2, it didn't work.
If I create a eth2.6 and send IP frames via eth2.6, I can see 802.1q frames on another VM.
It looks like not vswitch problem. it maybe vmbus driver problem on linux.
Is there any command that I can set on eth2 so that I can send out raw 802.1q frames via eth2?