[ovs-discuss] Make two bridges communicate
Thomas Graf
tgraf at redhat.com
Tue Mar 4 12:53:44 UTC 2014
On 03/03/2014 03:28 PM, Pasquale Dir wrote:
> But now I'd like VMs to interact with the internet and, as eth0 is
> located on br0, I need a way to connect the two bridges.
>
> Strangely enough, pinging tep0 (10.10.1.1) from VM1(10.10.1.3) will NOT
> work, even though they are on the same network and should be visible
> each other.
>
> Can you help me?
> Sorry if I am sending a lot of mails lately but I really need to
> accomplish this task....
Q: How do I connect two bridges?
A: First, why do you want to do this? Two connected bridges are not
much different from a single bridge, so you might as well just have
a single bridge with all your ports on it.
If you still want to connect two bridges, you can use a pair of
patch ports. The following example creates bridges br0 and br1,
adds eth0 and tap0 to br0, adds tap1 to br1, and then connects br0
and br1 with a pair of patch ports.
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ovs-vsctl add-port br0 tap0
ovs-vsctl add-br br1
ovs-vsctl add-port br1 tap1
ovs-vsctl \
-- add-port br0 patch0 \
-- set interface patch0 type=patch options:peer=patch1 \
-- add-port br1 patch1 \
-- set interface patch1 type=patch options:peer=patch0
Bridges connected with patch ports are much like a single bridge.
For instance, if the example above also added eth1 to br1, and both
eth0 and eth1 happened to be connected to the same next-hop switch,
then you could loop your network just as you would if you added
eth0 and eth1 to the same bridge (see the "Configuration Problems"
section below for more information).
If you are using Open vSwitch 1.9 or an earlier version, then you
need to be using the kernel module bundled with Open vSwitch rather
than the one that is integrated into Linux 3.3 and later, because
Open vSwitch 1.9 and earlier versions need kernel support for patch
ports. This also means that in Open vSwitch 1.9 and earlier, patch
ports will not work with the userspace datapath, only with the
kernel module.
More information about the discuss
mailing list