OpenVswitch and GRE tunnel notes

OpenVswitch and GRE tunnel notes

Open Vswitch Lab


Here is a quick post for setting up GRE tunnels on OpenVswitch. Both Vswitch boxes are attached to an OpenFlow Beacon controller.

More up to date how-to can be found here:

Configuring VXLan and GRE tunnels on OpenvSwitch

KVM live storage migration makes an interesting story and run at VMware tools. The dreaded layer2 data center link conversation may never go away unfortunately. It would be nice to push this to the Hypervisors rather than mucking up our pretty networks.

oVirt is looking pretty slick in recent weeks for a KVM Hypervisor virtual manager for HA, live migration, storage management, system scheduler etc. Started an install but haven’t finished enough of it to test yet.

Ovswitch A

ovs−vsctl add−port br0 vlan10 tag=10 −− set Interface vlan10 type=internal
ovs-vsctl add-br br1
ovs-vsctl add-port br1 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.1.76
ovs−vsctl add−port br1 vlan10 tag=10 −− set Interface vlan10 type=internal
ifconfig vlan10 10.1.1.2 netmask 255.255.255.0 up

Ovswitch B

ovs−vsctl add−port br0 vlan10 tag=10 −− set Interface vlan10 type=internal
ovs-vsctl add-br br1
ovs-vsctl add-port br1 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.1.25
ovs−vsctl add−port br1 vlan10 tag=10 −− set Interface vlan10 type=internal
ifconfig vlan10 10.1.1.1 netmask 255.255.255.0 up

######## Output #############

/home/brent# ovs-appctl fdb/show br1
port VLAN MAC Age
3 10 9a:58:d9:fa:e2:1f 4
2 10 a6:26:6a:9f:f8:ba 4

/home/brent# ovs-dpctl show

system@br1:
lookups: hit:6813 missed:176 lost:0
flows: 0
port 0: br1 (internal)
port 2: vlan10 (internal)
port 3: gre0 (gre: remote_ip=192.168.1.76)

Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 br0
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
10.1.1..0 * 255.255.255.0 U 0 0 0 vlan10

 

 

 

 

Some completely unscientific numbers are here. Granted this is a laptop burning a whole in my lap going to a crummy old lab box. We are going to test soon on some high end gear and see what the perf numbers are over GRE to see what kind of scale looks reasonable.

Baseline over Eth0 not in the GRE tunnel

Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
————————————————————
[  4] local 192.168.1.76 port 5001 connected with 192.168.1.25 port 53498
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-11.4 sec  7.75 MBytes  5.72 Mbits/sec
Through the GRE tunnel
^Croot@optiplex:/home/brent# iperf -s -B 192.168.10.2
————————————————————
Server listening on TCP port 5001
Binding to local address 192.168.10.2
TCP window size: 85.3 KByte (default)
————————————————————
[  4] local 192.168.10.2 port 5001 connected with 192.168.10.1 port 33538
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-13.1 sec  4.75 MBytes  3.05 Mbits/sec
How insane is this? We need to figure out how this scales. Redundancy is obviously not included. Too late at night to think atm.

  1. DaveDave04-03-2012


    How exactly did you add ports with the same name to two different bridges on the same node?

    This shouldn’t succeed.

  2. Brent SalisburyBrent Salisbury04-10-2012


    Apologies on the slow reply. I bet you are talking about “ovs−vsctl add−port br0 vlan10 tag=10 −− set Interface vlan10 type=internal” ?

    The Topology was Br1(GRE0) OVS-A(host1) Br0 ——-Xconnect—–Br0 OVS-B(Host2) Br1(GRE0)

    I need to lab that back up and see what I was doing. Maybe it overwrote the original command automagically. I will poke at it later and dump the CLI.
    Thanks!