I had setup bridges to multiple Ethernet ports using the following template:
iface <ethernet-port-name> inet manual
auto <bridge-name>
iface <bridge-name> inet manual
bridge_ports <ethernet-port-name>
The setup is in a number of bridge definition files located in /etc/network/interfaces.d/; one file per interface. The only template that is in /etc/network/interfaces is the one that I have for my day-to-day network activities. Again, I separate out vlans for different purposes making sure that the vlans do not talk to each other except in controlled instances.
What I did to use an OVS generated bridge was to remove the bridge definition file from /etc/network/interfaces.d/ and then delete the previous bridge using:
and then perform the following command (note the ovs addition to differentiate it):
sudo ip link set <bridge-name> down
sudo brctl delbr <bridge-name>
sudo brctl show
and then perform the following command (note the ovs addition to differentiate it):
sudo ovs-vsctl add-br <bridge-name-ovs>
sudo ovs-vsctl add-port <bridge-name-ovs> <ethernet-port-name>
sudo ovs-vsctl show
sudo ovs-vsctl show
Which is done for each port that I have defined, except for the day-to-day port. It turns out that you can use the Virtual Machine Manager to pull up the VM, reset the bridge designations from the pull-down list, hit apply, then launch the VM. Works very well with pfSense. The interesting thing is that the <bridge-name-ovs> will now show up in an ifconfig command, where as before (when first created with OVS) would not. Also, there are now tap devices that show up in ifconfig, like macvtap0 and macvtap1. Those correspond to the tap device attached to the KVM VM; created from the use of Virtual Machine Manager. I still need to figure out how to do this with Docker.
Anyway it works! I am able to pull up the VMs on the correct vlan now.