Changes between Version 40 and Version 41 of Internal/OpenFlow/HostSetup


Ignore:
Timestamp:
Jun 14, 2010, 11:22:37 PM (14 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/HostSetup

    v40 v41  
    11[wiki:Internal/OpenFlow/ return to OpenFlow index]
    22= Setting up NetFPGA hosts: Ubuntu 10.04 =
    3 Current Ubuntu NetFPGAs run Ubuntu version 8.04 and !OpenFlow ver. 1.0. Here we try to move to newer distributions w/ !OpenFlow Ver. 1.0. The hardware we use here is the NetFPGA cube, another version of the NetFPGA pre-built solution. A user named 'test' with root privs was added for this purpose.   
     3Current Ubuntu NetFPGAs run Ubuntu version 8.04 and !OpenFlow ver. 1.0. Here we try to move to newer distributions w/ !OpenFlow Ver. 1.0. The hardware we use here is the NetFPGA cube, another version of the NetFPGA pre-built solution. As per the [http://www.openflowswitch.org/wk/index.php/CentOS_NetFPGA_Install !OpenFlow portion of the setup], a user named 'openflow' with root privs was added for this purpose.   
    44
    55Setup of the NetFPGA using earlier distributions can be found in the Diaries.   
     
    1212NetFPGA base 2.1.0 [[BR]]
    1313Tunneling OpenFlow NetFPGA 1.0.0
    14 
    15 '''Host info:''' [[BR]]
    16 node1-1: 192.168.202.8  [[BR]]   
    17 node1-2: 192.168.202.164   
    1814
    1915=== Installing Ubuntu. ===
     
    7167 * edit /home/netfpga/NF2/projects/router_kit/sw/rkd.cc to include limits.h
    7268
     69NOTE: this edit is no longer required for version 2.1.1 of the package.
     70
    7371==== 5. Setting Variables. ====
    74 Scripts seemed broken, so manually export'd all of them. Specifics of variables pulled from README in base package root directory. 
    75 {{{
    76 export NF_ROOT=/home/test/netfpga  #(wherever your netfpga base files are)
    77 export NF_DESIGN_DIR="${NF_ROOT}/projects/reference_router"  #(whatever directory project is in)
    78 export PERL5LIB="${NF_DESIGN_DIR}/lib/Perl5:${NF_ROOT}/lib/Perl5:${PERL5LIB}"  #(from ${NF_ROOT}/bin/nf_profile)
     72After setting NF_ROOT to the netfpga directory, source `nf_profile`, located in ${NF_ROOT}/bin/
     73
     74{{{
     75export NF_ROOT=/home/openflow/netfpga  #(wherever your netfpga base files are)
     76source ${NF_ROOT}/bin/nf_profile
    7977}}}
    8078
     
    120118}}}
    121119
    122 ==== 7. modifications for the cpci reprogrammer ====
    123 In Debian, the command `lspci` is located under /usr/bin/, and `ifconfig` under /sbin/. cpci_reprogram.pl must reflect these differences. Edit lines 24 and 25 in the file (under /usr/local/sbin, and ./netfpga/lib/scripts/cpci_reprogram/) as such:
    124 {{{
    125 # System binaries
    126 my $lspci = '/usr/bin/lspci';
    127 my $ifconfig = '/sbin/ifconfig';
    128 }}}   
    129 
    130 Then add cpci_reprogram.pl to the startup routine. Add the following to /etc/rc.local:
    131 {{{
    132 /home/test/netfpga/lib/scripts/cpci_reprogram/cpci_reprogram.pl --all
     120==== 7. add the cpci reprogrammer to startup routine ====
     121Add the following to /etc/rc.local:
     122{{{
     123/home/openflow/netfpga/lib/scripts/cpci_reprogram/cpci_reprogram.pl --all
    133124}}}
    134125
     
    176167blacklist ipv6
    177168}}}
     169
     170==== 3. NetFPGA tunnel package ====
     171Download and untar in `/home/openflow/`. Move `tunneling_openflow_switch.bit` and `reg_defines_tunneling_openflow_switch.h` to your_openflow_directory/hw-lib/nf2/. The files should be located under `bitfiles/` and `/projects/tunneling_openflow_switch/lib/C/` in the netfpga directory, respectively. Do a make and make install in the openflow directory.
     172
     173==== 4. Regression test ====
     174The setup should be wired as such
     175{{{
     176 eth1 <----> nf2c0
     177 eth2 <----> nf2c1
     178}}}
     179
     180The test can be run with the following command:
     181{{{
     182nf_regress_test.pl --project tunneling_openflow_switch
     183}}}
     184
     185As of now, getting this error:
     186{{{
     187root@node1-2:~/netfpga/lib/scripts/cpci_reprogram# /home/akoshibe/netfpga/bin/n_regress_test.pl --project tunneling_openflow_switch
     188
     189NetFPGA environment:
     190  Root dir:       /home/openflow/netfpga
     191  Project name:   tunneling_openflow_switch
     192  Project dir:    /home/openflow/netfpga/projects/tunneling_openflow_switch
     193  Work dir:       /tmp/root
     194
     195Root directory is /home/openflow/netfpga
     196Running tests on project 'tunneling_openflow_switch'...
     197  Running global setup... FAIL
     198Output was:
     199
     200NetFPGA environment:
     201  Root dir:       /home/openflow/netfpga
     202  Project name:   tunneling_openflow_switch
     203  Project dir:    /home/openflow/netfpga/projects/tunneling_openflow_switch
     204  Work dir:       /tmp/root
     205
     206Found net device: nf2c0
     207Error: Virtex design compiled against a different CPCI version
     208  Active CPCI version : 4 (rev 1)
     209  Device built against: 3 (rev 4)
     210Bit file built from: nf2_top_par.ncd
     211Part: 2vp50ff1152
     212Date: 2010/ 5/ 4
     213Time: 15:49:32
     214Error Registers: 0
     215Good, after resetting programming interface the FIFO is empty
     216Download completed -  2377668 bytes. (expected -1).
     217DONE went high - chip has been successfully programmed.
     218CPCI Information
     219----------------
     220Version: 4 (rev 1)
     221
     222Device (Virtex) Information
     223---------------------------
     224Project directory: tunneling_openflow_switch
     225Project name: Tunneling OpenFlow Switch
     226Project description: Tunneling OpenFlow Switch
     227
     228Device ID: 0
     229Version: 0.1.0
     230Built against CPCI version: 3 (rev 4)
     231
     232Download Failed: 256
     233
     234
     235global/setup exited with value 1
     236
     237}}}
     238
    178239[[BR]]
    179240[[BR]]