| 1 | = FlowVisor = |
| 2 | !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. |
| 3 | |
| 4 | == prereqs == |
| 5 | The latest flowvisor is based on java, requiring the following packages: |
| 6 | * ant |
| 7 | * sun-java6-jdk |
| 8 | |
| 9 | == installation == |
| 10 | 1. install above-mentioned packages |
| 11 | 1. pull from git repository: |
| 12 | {{{ |
| 13 | git checkout -b flowvisor-0.6 origin/flowvisor-0.6 |
| 14 | }}} |
| 15 | we need to take this step to make sure we have the right package. |
| 16 | 3. choose the proper version of java with `update-alternatives --config java` |
| 17 | {{{ |
| 18 | root@internal2:/opt/flowvisor# update-alternatives --config java |
| 19 | There are 2 choices for the alternative java (providing /usr/bin/java). |
| 20 | |
| 21 | Selection Path Priority Status |
| 22 | ------------------------------------------------------------ |
| 23 | 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode |
| 24 | 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode |
| 25 | * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode |
| 26 | }}} |
| 27 | make sure to have java-6-sun version of java chosen as the alternative as shown above. |
| 28 | 4. cd to flowvisor directory; if ./configure doesn't exist, run ./boot.sh |
| 29 | {{{ |
| 30 | sh ./boot.sh |
| 31 | }}} |
| 32 | 5. ''./configure'' |
| 33 | 6. run make: |
| 34 | {{{ |
| 35 | 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" |
| 36 | }}} |
| 37 | The paths for CFLAGS should be based on what you get if you do a `locate jni.h`: |
| 38 | {{{ |
| 39 | $ locate jni.h |
| 40 | /usr/lib/jvm/java-6-sun-1.6.0.20/include/jni.h |
| 41 | }}} |
| 42 | |