Closed xx2211 closed 11 months ago
I tried to grab the packet on the physical NIC bound to ovs on Windows, it should contain the vlan tag, but it doesn't.
On windows platform, a internal port is seted as tag=3
, a physical port is seted as trunks=3,4
. In theory, a frame without a tag enters the bridge from this internal port, is labeled as tag3, and then exits the bridge through physical port. At this point, this frame should still carry tag3, but in reality, it does not.
I don't know when tag is losted, maybe tag is not seted when frame enter bridge, maybe tag is losted in bridge, maybe tag is losted in physical port.
It seems that NIC of windows will lose tag of frame
I solved this issue. I updated driver of NIC to newest, and Enable "Priority & VLAN" option in NIC properties, so that NIC do not remove tag of frame. Old driver of NIC has also this option " Priority & VLAN", but it don't effect.
I solved this issue. I updated driver of NIC to newest, and Enable "Priority & VLAN" option in NIC properties, so that NIC do not remove tag of frame. Old driver of NIC has also this option " Priority & VLAN", but it don't effect
The scenario where this issue is triggered is as follows:
ovs A
run onhost A
,ovs B
run onhost B
.ovs A
has a bridge namedbr-A
,ovs B
has a bridge namedbr-B
.host A
has a physical network card namedphy-A
,host B
has a physical network card namedphy-B
.phy-A
andphy-B
are connected by a network cable.phy-A
is seted as port ofbr-A
,phy-B
is seted as port ofbr-B
.br-A
has a intrenal port namedvir-A
,br-B
has a intrenal port namedvir-B
, andhost A
generate a virtual interface namedvir-A
andhost B
generate a virtual interface namedvir-B
.Port
phy-A
andphy-B
are seted astrunks=[3,4]
. Portvir-A
andvir-B
are seted astag=3
.Address of
vir-A
is seted as192.168.1.10/24
, Address ofvir-B
is seted as192.168.1.20/24
.When both of
host A
andhost B
are Linux, interfacesvir-A
andvir-B
can communicate normally. But when one ofhost A
orhost B
is Windows,vir-A
andvir-B
can not communicate. When one ofhost A
orhost B
is Windows, if portphy-A
andphy-B
are seted astag=3
,vir-A
andvir-B
can again communicate normally.Command that execute these opreations are as follows:
I tried 2 verions 3.1.2 and 2.7.0, both of them triggered this issue, where 3.1.2 is built form
https://github.com/openvswitch/ovs/releases/tag/v3.1.2
and 2.7.0 is downloaded fromhttps://cloudbase.it/downloads/openvswitch-hyperv-2.7.0-certified.msi