= !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/foswiki/bin/view/OpenFlow/Deployment/HOWTO/ProductionSetup/FlowVisorTransition == 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 2. pull from git repository: {{{ git clone git://openflowswitch.org/flowvisor.git cd flowvisor 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 == the primary means of configuring flowvisor is via ''fvctl''.