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

Gurucharan Shetty shettyg at nicira.com
Mon Aug 18 17:29:23 UTC 2014


On Thu, Aug 14, 2014 at 3:23 PM, Mark Maglana <mmaglana at gmail.com> wrote:
> Thank you for the quick feedback and the corrections. This looks good.
I applied this to master. Thanks!

>
>
> On Thu, Aug 14, 2014 at 1:05 PM, Gurucharan Shetty <shettyg at nicira.com>
> wrote:
>>
>> From: Mark Maglana <mmaglana at gmail.com>
>>
>> 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>
>> Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
>> ---
>>  AUTHORS              |    1 +
>>  vtep/README.ovs-vtep |  119
>> ++++++++++++++++++++++++++++++++++++++++----------
>>  2 files changed, 97 insertions(+), 23 deletions(-)
>>
>> diff --git a/AUTHORS b/AUTHORS
>> index 8c5940d..2a63450 100644
>> --- a/AUTHORS
>> +++ b/AUTHORS
>> @@ -90,6 +90,7 @@ Lorand Jakab            lojakab at cisco.com
>>  Luca Giraudo            lgiraudo at nicira.com
>>  Luigi Rizzo             rizzo at iet.unipi.it
>>  Mark Hamilton           mhamilton at nicira.com
>> +Mark Maglana            mmaglana at gmail.com
>>  Martin Casado           casado at nicira.com
>>  Maryam Tahhan           maryam.tahhan at intel.com
>>  Mehak Mahajan           mmahajan at nicira.com
>> diff --git a/vtep/README.ovs-vtep b/vtep/README.ovs-vtep
>> index 79e1538..60b39b7 100644
>> --- a/vtep/README.ovs-vtep
>> +++ b/vtep/README.ovs-vtep
>> @@ -2,15 +2,89 @@
>>                         ============================
>>
>>  This document explains how to use ovs-vtep, a VTEP emulator that uses
>> -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.
>> +Open vSwitch for forwarding.
>> +
>> +Requirements
>> +============
>> +
>> +The VTEP emulator is a Python script that invokes calls to tools like
>> +vtep-ctl and ovs-vsctl and is useful only when OVS daemons like
>> ovsdb-server
>> +and ovs-vswitchd are running. So those components should be installed.
>> This
>> +can be done by either of the following methods.
>> +
>> +1. Follow the instructions in the INSTALL file of the Open vSwitch
>> repository
>> +(don't start any daemons yet).
>> +
>> +2. Follow the instructions in INSTALL.Debian file and then install the
>> +"openvswitch-vtep" package (if operating on a debian based machine). This
>> +will automatically start the daemons.
>> +
>> +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 may have two external interfaces. We will use eth0
>> +   for management traffic and eth1 for tunnel traffic (One can use
>> +   a single interface to achieve both). 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
>>  =======
>>
>>  These instructions describe how to run with a single ovsdb-server
>> -instance that handles both the OVS and VTEP schema.
>> +instance that handles both the OVS and VTEP schema. You can skip
>> +steps 1-3 if you installed using the debian packages as mentioned in
>> +step 2 of the "Requirements" section.
>>
>>  1. Create the initial OVS and VTEP schemas:
>>
>> @@ -28,37 +102,36 @@ 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. If you installed the components by reading
>> the
>> +   INSTALL file, 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:
>> +    If the installation was done by installing the openvswitch-vtep
>> +    package, you can find ovs-vtep at /usr/share/openvswitch/scripts.
>>
>> -    vtep-ctl set-manager tcp:192.168.0.99:6632
>> +7. Configure the VTEP database's manager to point at an NVC:
>>
>> -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:
>> +    vtep-ctl set-manager tcp:<CONTROLLER IP>:6632
>>
>> -    ovs-vsctl add-port br0 eth1
>> -    vtep-ctl add-port br0 eth1
>> +   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 +143,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
>> --
>> 1.7.9.5
>>
>



More information about the dev mailing list