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

Mark Maglana mmaglana at gmail.com
Thu Aug 14 22:23:53 UTC 2014


Thank you for the quick feedback and the corrections. This looks good.


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