= !FlowVisor = !FlowVisor is a specialized !OpenFlow controller that creates slices within an !OpenFlow network, allowing the same physical deployment to support multiple controllers. Here we describe the setup/installation !FlowVisor 6.0 on Ubuntu 9.10. == references == * main docs: http://www.openflowswitch.org/wk/index.php/FlowVisor == prereqs == The latest !FlowVisor (which supports !OpenFlow 1.0 at this time) is based on java, requiring the following packages: * ant * sun-java6-jdk It is assumed that you have !OpenFlow installed and in working condition. == installation == 1. install above-mentioned packages 1. pull from git repository: {{{ git checkout -b flowvisor-0.6 origin/flowvisor-0.6 }}} we need to take this step to make sure we have the right package. 3. choose the proper version of java with `update-alternatives --config java` {{{ root@internal2:/opt/flowvisor# update-alternatives --config java There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode }}} make sure to have java-6-sun version of java chosen as the alternative as shown above. 4. cd to flowvisor directory; if ./configure doesn't exist, run ./boot.sh {{{ sh ./boot.sh }}} 5. run ''./configure'' 6. run make: {{{ sudo make CFLAGS="-I/usr/lib/jvm/java-6-sun-1.6.0.20/include -I/usr/lib/jvm/java-6-sun-1.6.0.20/include/linux" }}} The paths for CFLAGS should be based on what you get if you do a `locate jni.h`: {{{ $ locate jni.h /usr/lib/jvm/java-6-sun-1.6.0.20/include/jni.h }}} 7. run ''make tests''and ''make install'' == configuration == Configuration files should be placed in a directory called "flowvisor-conf.d". !FlowVisor reads any files ending in ''.guest'' and ''.switch'' in the directory. The first describes policies, and the latter, the datapaths associated with the policies.