In case, two physical hosts have one of OpenvSwitch bridge each other.
- remote server ip: 18.104.22.168
- local server ip: 22.214.171.124
How to connect two OpenvSwitch bridge by geneve? and how to validate packet?
Network Engineering Stack Exchange is a question and answer site for network engineers. It only takes a minute to sign up.Sign up to join this community
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:
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).
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.
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>
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.