Changes between Version 3 and Version 4 of FlowVisor


Ignore:
Timestamp:
11/19/12 18:18:30 (7 years ago)
Author:
Josh Smift
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FlowVisor

    v3 v4  
    33= FlowVisor =
    44
    5 The FlowVisor is "a special purpose OpenFlow controller that acts as a transparent proxy between OpenFlow switches and multiple OpenFlow controllers". (https://github.com/OPENNETWORKINGLAB/flowvisor/wiki)
     5The FlowVisor is a special purpose OpenFlow controller that acts as a transparent proxy between OpenFlow switches and multiple OpenFlow controllers.
    66
    7 = FlowVisor and ARP =
     7(https://github.com/OPENNETWORKINGLAB/flowvisor/wiki has more information about FlowVisor (from the official site at ONL), including [https://github.com/OPENNETWORKINGLAB/flowvisor/wiki/Installation-from-Binary installation instructions], [https://github.com/OPENNETWORKINGLAB/flowvisor/wiki/FAQ a FAQ] with common error messages (for both experimenters and admins), etc.
     8
     9= Info for experimenters =
     10
     11The following sections are mostly of interest to GENI experimenters.
     12
     13== FlowVisor and ARP ==
    814
    915FlowVisor can slice ARP traffic, but there are some caveats to be aware of. The [https://github.com/OPENNETWORKINGLAB/flowvisor/wiki/FAQ FlowVisor FAQ] has more details.
     16
     17= Info for admins =
     18
     19The following sections are mostly of interest to FlowVisor admins.
     20
     21== Version ==
     22
     23The GPO currently recommends version 0.8.13 (the latest stable release) for GENI sites. There are significant changes from 0.8.1.2 to 0.8.13, and we recommend working with the GPO to help the upgrade process go smoothly. Contact us at gpo-infra@geni.net and we'll be happy to help!
     24
     25NOTE that much of this page is specific to FV 0.8.13 and later.
     26
     27== Initial configuration ==
     28
     29The default configuration of FlowVisor is general suitable for GENI sites.
     30
     31We typically put the FlowVisor fvadmin password into /etc/flowvisor/fvpasswd, so you don't have to type it every time you run an fvctl command. Make sure that it's only readable by people who should have full admin access to FlowVisor on your system! (World-readable might be fine if only FV admins have accounts on your FV server; or you might want to make it only group-readable by a group that includes the FV admins.) The examples on the rest of this page assume that you've done that.
     32
     33One easy way to generate a fairly secure password:
     34
     35{{{
     36sudo apt-get install pwgen
     37test -f /etc/flowvisor/fvpasswd || sudo -u flowvisor sh -c 'pwgen -sB 24 > /etc/flowvisor/fvpasswd'
     38sudo apt-get remove pwgen
     39}}}
     40
     41== Upgrading ==
     42
     43Since most of our FlowVisor instances are managed by FOAM, when we upgrade FlowVisor, we typically just test FOAM to make sure that everything still works as expected.
     44
     45== Useful fvctl commands ==
     46
     47Here are some useful fvctl commands; run these on the system that runs the FlowVisor you want to configure, with the fvadmin password in /etc/flowvisor/fvpasswd.
     48
     49== Show the flowspace ==
     50
     51{{{
     52fvctl --passwd-file=/etc/flowvisor/fvpasswd listFlowSpace
     53}}}
     54
     55== Show the slices ==
     56
     57{{{
     58fvctl --passwd-file=/etc/flowvisor/fvpasswd listSlices
     59}}}
     60
     61== Get info about a slice ==
     62
     63{{{
     64fvctl --passwd-file=/etc/flowvisor/fvpasswd getSliceInfo default
     65}}}
     66
     67Replace 'default' with the slice you want info about.
     68
     69== Show the controller for every slice ==
     70
     71{{{
     72for slice in $(fvctl --passwd-file=/etc/flowvisor/fvpasswd listSlices 2>&1 | grep Slice | grep -v fvadmin | awk '{ print $3; }') ; do echo $slice ; fvctl --passwd-file=/etc/flowvisor/fvpasswd getSliceInfo $slice | grep controller ; done
     73}}}
     74
     75== Remove all existing flowspace entries ==
     76
     77{{{
     78for id in $(fvctl --passwd-file=/etc/flowvisor/fvpasswd listFlowSpace 2>&1 | sed -e 's/rule.*id=\[\([0-9]*\)\].*/\1/' | egrep ^[0-9]*$) ; do fvctl --passwd-file=/etc/flowvisor/fvpasswd removeFlowSpace $id ; done
     79}}}
     80
     81== Remove flowspace entries matching a pattern ==
     82
     83The first of the two 'for' lines just echoes what it's going to do, the second actually does it.
     84
     85{{{
     86fvpattern=00:0c:29:82:59:5b
     87for id in $(fvctl --passwd-file=/etc/flowvisor/fvpasswd listFlowSpace | egrep -i $fvpattern 2>&1 | sed -e 's/rule.*id=\[\([0-9]*\)\].*/\1/' | egrep ^[0-9]*$) ; do echo fvctl --passwd-file=/etc/flowvisor/fvpasswd removeFlowSpace $id ; done
     88for id in $(fvctl --passwd-file=/etc/flowvisor/fvpasswd listFlowSpace | egrep -i $fvpattern 2>&1 | sed -e 's/rule.*id=\[\([0-9]*\)\].*/\1/' | egrep ^[0-9]*$) ; do fvctl --passwd-file=/etc/flowvisor/fvpasswd removeFlowSpace $id ; done
     89}}}
     90
     91Replace the pattern after "fvpattern=" with a regexp that you want to match.
     92
     93== Remove all existing slices ==
     94
     95{{{
     96for slice in $(fvctl --passwd-file=/etc/flowvisor/fvpasswd listSlices 2>&1 | grep Slice | grep -v fvadmin | awk '{ print $3; }') ; do fvctl --passwd-file=/etc/flowvisor/fvpasswd deleteSlice $slice ; done
     97}}}
     98
     99== Create one slice and one flowspace rule ==
     100
     101{{{
     102fvctl --passwd-file=/etc/flowvisor/fvpasswd createSlice default tcp:troy.gpolab.bbn.com:50812 jbs@bbn.com
     103fvctl --passwd-file=/etc/flowvisor/fvpasswd addFlowSpace all 1000 any "Slice:default=4"
     104}}}
     105
     106You'll need to enter a password for the slice; make it something secure, but nothing ever uses it, so don't worry about recording it.