Changes between Version 8 and Version 9 of Internal/OpenFlow/Controllers/FlowVisor
- Timestamp:
- May 30, 2012, 6:25:49 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/Controllers/FlowVisor
v8 v9 1 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 on Ubuntu 9.10.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 8.3 on Ubuntu 11.04. 3 3 4 4 == references == 5 * main docs: http ://www.openflowswitch.org/foswiki/bin/view/OpenFlow/Deployment/HOWTO/ProductionSetup/FlowVisorTransition5 * main docs: https://openflow.stanford.edu/display/DOCS/Installation+Guide 6 6 7 7 == prereqs == 8 8 The latest !FlowVisor (which supports !OpenFlow 1.0 at this time) is based on java, requiring the following packages: 9 * ant 10 * sun-java6-jdk 9 {{{ 10 apt-get install ant sun-java6-jdk 11 }}} 11 12 It is assumed that you have !OpenFlow installed and in working condition. 12 13 13 14 == installation == 15 The installation process has gotten very streamlined compared to the 6.0 days. Refer to older versions of this page to see how it is done for version 6.* of flowvisor. [[BR]] 16 A flowvisor user may be created as the admin user for flowvisor (e.g. running `fvctl`). This will come into play during the install when you are prompted to specify a flowvisor user/group. 17 14 18 1. install above-mentioned packages 15 19 16 2. pull from gitrepository:20 2. pull from mercurial repository: 17 21 {{{ 18 git clone git://openflowswitch.org/flowvisor.git 19 cd flowvisor 20 git checkout -b flowvisor-0.6 origin/flowvisor-0.6 22 hg clone https://bitbucket.org/onlab/flowvisor 23 hg update -C 0.8-MAINT 21 24 }}} 22 25 23 we need to do a git checkout to make sure we have the right package. 26 the `update` command is equivalent to a git checkout and puts us on the (most recent stable) flowvisor-8.3 branch. 27 28 3. run `make` and `make install`. The `make install` process will prompt you with several questions: 24 29 25 3. choose the proper version of java with ''update-alternatives --config java''26 30 {{{ 27 root@internal2:/opt/flowvisor# update-alternatives --config java 28 There are 2 choices for the alternative java (providing /usr/bin/java). 31 native@ubuntu:~/flowvisor$ make install 32 ant 33 Buildfile: /home/native/flowvisor/build.xml 29 34 30 Selection Path Priority Status 31 ------------------------------------------------------------ 32 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode 33 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 34 * 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode 35 init: 36 37 compile: 38 [javac] /home/native/flowvisor/build.xml:34: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 39 40 .... 41 42 Installation prefix (/usr/local): 43 FlowVisor User (needs to already exist) (native): 44 FlowVisor Group (needs to already exist) (native): 45 Install to different root directory () 46 Installing FlowVisor into /usr/local with prefix=/usr/local as user/group native:native 47 48 .... 49 50 Enter password for account 'fvadmin' on the flowvisor: 51 Generating default config to /usr/local/etc/flowvisor/config.xml 52 --- 'flowvisor!logging' not set in config; defaulting to loglevel 'NOTE' 53 --- Setting logging level to DEBUG 54 }}} 55 56 4. Generate a default configuration file: 57 {{{ 58 fvconfig generate /usr/local/etc/flowvisor/flowvisor-config.json 35 59 }}} 36 60 37 make sure to have java-6-sun version of java chosen as the alternative as shown above. 38 39 4. cd to your flowvisor directory; if ''./configure'' doesn't exist, run ''./boot.sh'' 40 {{{ 41 sh ./boot.sh 42 }}} 43 44 5. run ''./configure'' 45 46 6. run make: 47 {{{ 48 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" 49 }}} 50 The paths for CFLAGS should be based on what you get if you do a `locate jni.h`: 51 {{{ 52 $ locate jni.h 53 /usr/lib/jvm/java-6-sun-1.6.0.20/include/jni.h 54 }}} 55 56 7. run ''make tests'' and ''make install'' 61 Now your install should be ready to run. 57 62 58 63 == configuration ==