I have OVS mostly working inside the host, with CTs and KVM guests able to communicate on various VLANs and subnets. I do not seem to be able to get these tagged VLAN packets to enter or leave the host on the physical Ethernet, which should trunk them to the upstream switch, which will then appropriately segregate and deliver them to other parts of the network.
I have found several online examples of ovs-vsctl syntax which are not referenced in the man pages. Specifically, there is an option to set trunk mode for a port and to specify what VLANs it will pass.
I have several ports configured on the switch, three of which are in VLAN 11. These ports can communicate with each other on VLAN 11, but none of them can communicate with hosts on VLAN 11 outside the box.
root@pve1:~# ovs-vsctl show
242741ec-4345-4cd5-933b-049e02f893b1
Bridge "vmbr0"
Port "vmbr0"
Interface "vmbr0"
type: internal
Port "veth103.0"
tag: 11
Interface "veth103.0"
type: internal
Port "tap100i1"
Interface "tap100i1"
Port "eth0"
Interface "eth0"
Port "tap100i0"
tag: 11
Interface "tap100i0"
Port "open88"
Interface "open88"
type: internal
Port "vlan11"
tag: 11
Interface "vlan11"
type: internal
ovs_version: "2.0.90"
Issuing the command
ovs-vsctl set port eth0 vlan_mode=trunk
Did not change the output of ovs-vsctl show at all (possibly trunk mode is the default setting?)
Explicitly enumerating the VLANs to be trunked
ovs-vsctl set port eth0 vlan_mode=trunk trunk=0,1,11
does change the output of the show command
root@pve1:~# ovs-vsctl show
242741ec-4345-4cd5-933b-049e02f893b1
Bridge "vmbr0"
Port "vmbr0"
Interface "vmbr0"
type: internal
Port "veth103.0"
tag: 11
Interface "veth103.0"
type: internal
Port "eth0"
trunks: [0, 1, 11]
Interface "eth0"
Port "open88"
Interface "open88"
type: internal
Port "vlan11"
tag: 11
Interface "vlan11"
type: internal
ovs_version: "2.0.90"
but tagged packets are still not flowing out onto the wire.
Can anyone guide me here on getting tagged packets to traverse the physical Ethernet interface?
thanks~
I have found several online examples of ovs-vsctl syntax which are not referenced in the man pages. Specifically, there is an option to set trunk mode for a port and to specify what VLANs it will pass.
I have several ports configured on the switch, three of which are in VLAN 11. These ports can communicate with each other on VLAN 11, but none of them can communicate with hosts on VLAN 11 outside the box.
root@pve1:~# ovs-vsctl show
242741ec-4345-4cd5-933b-049e02f893b1
Bridge "vmbr0"
Port "vmbr0"
Interface "vmbr0"
type: internal
Port "veth103.0"
tag: 11
Interface "veth103.0"
type: internal
Port "tap100i1"
Interface "tap100i1"
Port "eth0"
Interface "eth0"
Port "tap100i0"
tag: 11
Interface "tap100i0"
Port "open88"
Interface "open88"
type: internal
Port "vlan11"
tag: 11
Interface "vlan11"
type: internal
ovs_version: "2.0.90"
Issuing the command
ovs-vsctl set port eth0 vlan_mode=trunk
Did not change the output of ovs-vsctl show at all (possibly trunk mode is the default setting?)
Explicitly enumerating the VLANs to be trunked
ovs-vsctl set port eth0 vlan_mode=trunk trunk=0,1,11
does change the output of the show command
root@pve1:~# ovs-vsctl show
242741ec-4345-4cd5-933b-049e02f893b1
Bridge "vmbr0"
Port "vmbr0"
Interface "vmbr0"
type: internal
Port "veth103.0"
tag: 11
Interface "veth103.0"
type: internal
Port "eth0"
trunks: [0, 1, 11]
Interface "eth0"
Port "open88"
Interface "open88"
type: internal
Port "vlan11"
tag: 11
Interface "vlan11"
type: internal
ovs_version: "2.0.90"
but tagged packets are still not flowing out onto the wire.
Can anyone guide me here on getting tagged packets to traverse the physical Ethernet interface?
thanks~
Last edited: