[ovs-dev] [PATCH] ovs-vtep: Clarifications on the README

Mark Maglana mmaglana at gmail.com
Thu Aug 14 19:03:10 UTC 2014


The README was not clear on whether the steps are for attaching physical
or virtual machines to the emulated VTEP. This adds more detail to the
README so that readers will know what to do if they want to attach physical
machines or otherwise.

Signed-off-by: Mark Maglana <mmaglana at gmail.com>
---
 vtep/README.ovs-vtep | 103 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 83 insertions(+), 20 deletions(-)

diff --git a/vtep/README.ovs-vtep b/vtep/README.ovs-vtep
index 79e1538..4f51ee4 100644
--- a/vtep/README.ovs-vtep
+++ b/vtep/README.ovs-vtep
@@ -6,6 +6,73 @@ Open vSwitch for forwarding.  The emulator is a Python script that
 invokes calls to vtep-ctl and various OVS commands, so these commands
 will need to be available in the emulator's path.
 
+Requirements
+============
+
+1. Open vSwitch.
+
+2. The vtep-ctl CLI tool. If you built OVS from source, there should
+   be a VTEP package that was also built with it. Otherwise, use your
+   distro's package manager to find an install it.
+
+Design
+======
+
+At the end of this process, you should have the following setup:
+
+
+      +---------------------------------------------------+
+      | Host Machine                                      |
+      |                                                   |
+      |                                                   |
+      |       +---------+ +---------+                     |
+      |       |         | |         |                     |
+      |       |   VM1   | |   VM2   |                     |
+      |       |         | |         |                     |
+      |       +----o----+ +----o----+                     |
+      |            |           |                          |
+      | br0 +------o-----------o--------------------o--+  |
+      |            p0          p1                  br0    |
+      |                                                   |
+      |                                                   |
+      |                              +------+   +------+  |
+      +------------------------------| eth0 |---| eth1 |--+
+                                     +------+   +------+
+                                     10.1.1.1   10.2.2.1
+                        MANAGEMENT      |          |
+                      +-----------------o----+     |
+                                                   |
+                                   DATA/TUNNEL     |
+                                 +-----------------o---+
+
+Notes:
+
+1. We will use Open vSwitch to create our "physical" switch labeled br0
+
+2. Our "physical" switch br0 will have one internal port also named br0
+   and two "physical" ports, namely p0 and p1.
+
+3. The host machine must have two external interfaces. We will use eth0
+   for management traffic and eth1 for tunnel traffic. Please take note
+   of their IP addresses in the diagram. You do not have to use exactly
+   the same IP addresses. Just know that the above will be used in the
+   steps below.
+
+4. You can optionally connect physical machines instead of virtual
+   machines to switch br0. In that case:
+
+   4.1. Make sure you have two extra physical interfaces in your host
+        machine, eth2 and eth3.
+
+   4.2. In the rest of this doc, replace p0 with eth2 and p1 with eth3.
+
+5. In addition to implementing p0 and p1 as physical interfaces, you can
+   also optionally implement them as standalone TAP devices, or VM
+   interfaces for simulation.
+
+6. Creating and attaching the VMs is outside the scope of this document
+   and is included in the diagram for reference purposes only.
+
 Startup
 =======
 
@@ -28,37 +95,33 @@ instance that handles both the OVS and VTEP schema.
     ovs-vswitchd --log-file --detach --pidfile \
       unix:/var/run/openvswitch/db.sock
 
-4. Create a "physical" switch in OVS:
+4. Create a "physical" switch and its ports in OVS:
 
     ovs-vsctl add-br br0
-    ovs-vsctl add-port br0 eth0
+    ovs-vsctl add-port br0 p0
+    ovs-vsctl add-port br0 p1
 
 5. Configure the physical switch in the VTEP database:
 
     vtep-ctl add-ps br0
-    vtep-ctl add-port br0 eth0
-    vtep-ctl set Physical_Switch br0 tunnel_ips=192.168.0.3
+    vtep-ctl set Physical_Switch br0 tunnel_ips=10.2.2.1
 
-6. Start the VTEP emulator:
+6. Start the VTEP emulator. Run the following from the same directory
+   as this README:
 
-    ovs-vtep --log-file=/var/log/openvswitch/ovs-vtep.log \
+    ./ovs-vtep --log-file=/var/log/openvswitch/ovs-vtep.log \
       --pidfile=/var/run/openvswitch/ovs-vtep.pid \
       --detach br0
 
-7. Configure the VTEP database's manager to point at a NVC:
-
-    vtep-ctl set-manager tcp:192.168.0.99:6632
-
-The example provided creates a physical switch with a single physical
-port attached to it.  If more than one physical port is needed, it would
-be added to "br0" to both the OVS and VTEP databases:
+7. Configure the VTEP database's manager to point at an NVC:
 
-    ovs-vsctl add-port br0 eth1
-    vtep-ctl add-port br0 eth1
+    vtep-ctl set-manager tcp:<CONTROLLER IP>:6632
 
+   Where CONTROLLER IP is your controller's IP address that is accessible
+   via the Host Machine's eth0 interface.
 
-Simulating a NVC
-================
+Simulating an NVC
+=================
 
 A VTEP implementation expects to be driven by a Network Virtualization
 Controller (NVC), such as NSX.  If one does not exist, it's possible to
@@ -70,13 +133,13 @@ use vtep-ctl to simulate one:
 
 2. Bind the logical switch to a port:
 
-    vtep-ctl bind-ls br0 eth0 0 ls0
+    vtep-ctl bind-ls br0 p0 0 ls0
     vtep-ctl set Logical_Switch ls0 tunnel_key=33
 
 3. Direct unknown destinations out a tunnel:
 
-    vtep-ctl add-mcast-remote ls0 unknown-dst 192.168.1.34
+    vtep-ctl add-mcast-remote ls0 unknown-dst 10.2.2.2
 
 4. Direct unicast destinations out a different tunnel:
 
-    vtep-ctl add-ucast-remote ls0 11:22:33:44:55:66 192.168.1.33
+    vtep-ctl add-ucast-remote ls0 11:22:33:44:55:66 10.2.2.3
-- 
2.0.3




More information about the dev mailing list