0

In case, two physical hosts have one of OpenvSwitch bridge each other.

  • remote server ip: 1.1.1.1
  • local server ip: 2.2.2.2

How to connect two OpenvSwitch bridge by geneve? and how to validate packet?

1
  • Did any answer help you? if so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you could provide and accept your own answer. – Ron Maupin Aug 7 '17 at 18:53
2

This is possible using the top-of-tree Open vSwitch code (I tried with OVS 2.4, but couldn't get the vport_geneve kernel module to load—I admit I may have done something wrong). This procedure should get you there:

  1. Start by cloning the OVS repository (git clone https://github.com/openvswitch/ovs.git), then follow the instructions from the repository to compile, install, and run OVS. You'll need to do this on both servers, obviously. The servers need to be running Linux >= 3.18 (I used kernel 3.19.0-49 on Ubuntu 14.04.2).

  2. Make sure the Open vSwitch and Geneve kernel modules are loading correctly (sudo lsmod | grep openvswitch), and that commands like ovs-vsctl show are working correctly before proceeding. If you are seeing errors, stop and go back over the instructions for compiling and installing OVS.

  3. Add a bridge and Geneve port to each server:

    ovs-vsctl add-br br-int
    ovs-vsctl add-port br-int geneve0 -- set interface geneve0 type=geneve options:remote_ip=<remote server address>

  4. Now attach VMs (or network namespaces using veth pairs) to the OVS bridge you created on each server. These VMs/namespaces should be able to communicate with each other over the Geneve tunnel between the OVS instances. (Note that you'll have to perform manual IP configuration for these VMs/namespaces, as there is no DHCP running there.)

Although I haven't written specifically about Geneve tunneling, examples of similar configurations can be found on my website. You can see a list of all OVS-related articles at http://blog.scottlowe.org/tags/#OVS.

Good luck!

Not the answer you're looking for? Browse other questions tagged or ask your own question.