wiki:Internal/OpenFlow/WimaxOpenV

Version 5 (modified by ssugrim, 14 years ago) ( diff )

Installing Open V switch on cons-wm-01

Identifying information:

hostname -f
wm-asngw-01.orbit-lab.org

more /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=9.04
DISTRIB_CODENAME=jaunty
DISTRIB_DESCRIPTION="Ubuntu 9.04

uname -a
Linux wm-asngw-01 2.6.28-18-server #60-Ubuntu SMP Fri Mar 12 05:41:54 UTC 2010 i686 GNU/Linux

ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1f:29:0e:3a:68
          inet addr:10.41.0.3  Bcast:10.41.255.255  Mask:255.255.0.0
          inet6 addr: fe80::21f:29ff:fe0e:3a68/64 Scope:Link
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:636384 errors:0 dropped:0 overruns:0 frame:0
          TX packets:828244 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:176839258 (176.8 MB)  TX bytes:91011015 (91.0 MB)
          Interrupt:17
...

9/20/2010

Currently In opt there is an existing open openvsiwtch tarball, but it seems to be for a slightly older version. I've copied the newest stable version from the openvswitch website.

sudo wget http://openvswitch.org/releases/openvswitch-1.1.0pre2.tar.gz

I'm bascially following Linux and OpenFlow guides.

The build process went as follows:

  1. I checked for some prerequisite apt-packages:
    • pkg-configure
    • libssl-dev
    • kernel-headers
    • build-essential
  2. Run configure with kernel flag
    ./configure --with-l26=/lib/modules/`uname -r`/build
    
    It ran from /opt/openvswitch-1.1.0pre2. Built kernel modules since the are Needed for the Openflow Implementation.
  3. make
  4. make install
  5. Insert the modules
    insmod datapath/linux-2.6/openvswitch_mod.ko
    
    Dmesg should note the addtion of the module:
    [5343452.547746] Open vSwitch 1.1.0pre2, built Sep 20 2010 17:04:53
    

NOT SURE IF THIS IS NEEDED

The final step of the build involves initializing a config database:

http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=INSTALL.Linux;hb=HEAD

Once Built we need to start the database server and the switch damemon before we can do any thing with it:

  1. Start the server with this command:
    ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,managers --private-key=db:SSL,private_key --certificate=db:SSL,certificate --bootstrap-ca-cert=db:SSL,ca_cert &
    
  2. initialize the database using ovs-vsctl (only needs to be done once)
    ovs-vsctl --no-wait init
    
  3. Once the database server is started, we next can start the switch server:
    ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock &
    

We can create Virtual interfaces with the ip command Something of the form

>ip link add type veth

These interfaces are "internal" to the machine and have no-external meaning. They are similar to the named pipes or unix sockets. The internal virtual switch will communicate with other virtual elements in the machine via these virtual interfaces.

Once this is created, we can add the virtual interface to the open flow switch with the ovs-dpctl.

>ovs-dpctl add-dp dp0
>ovs-dpctl add-if dp0 veth0
>ovs-dpctl show
system@dp0:
        flows: cur:0, soft-max:1024, hard-max:1048576
        ports: cur:2, max:1024
        groups: max:16
        lookups: frags:0, hit:0, missed:12, lost:0
        queues: max-miss:100, max-action:100
        port 0: dp0 (internal)
        port 1: veth0

There is a separate daemon that manages the virtual open flow switch, In the current config we'll use it in —out-of-band mode. Thus the interface doesn't need an IP of it's own. The daemon can be started with the ovs-openflowd command:

ovs-openflowd dp0 tcp:10.0.0.12 --out-of-band --dpid 002320806da5

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.