Changes between Version 13 and Version 14 of Internal/OpenFlow/SandBoxSetup


Ignore:
Timestamp:
Aug 10, 2009, 3:29:09 PM (15 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/SandBoxSetup

    v13 v14  
    221221
    222222= Making use of NOX (8/6) =
    223 Writing a controller by tying together the functional code defining !OpenFlow Protocol using Ruby turned out to be a pretty messy task. According to the NOX developers, it would be better to do some Python development on the NOX web-API to expose functionality that can be called using Ruby.
     223Writing a controller by tying together the functional code defining !OpenFlow Protocol using Ruby turned out to be a pretty messy task. According to the NOX developers, it would be better to do some Python development on the NOX web-API to expose functionality that can then be called using Ruby.
    224224
    225225So enter NOX: http://noxrepo.org
    226226
    227 Install with git: [[BR]]
    228 apt-get install git-core   [[BR]]
    229 git clone git://noxrepo.org/noxcore   [[BR]]
    230 
     227(Borrowing heavily from the noxrepo instructions:  http://noxrepo.org/manual/installation.html setup) Install with git:
     228{{{
     229apt-get install git-core   # if you don't have git installed
     230git clone git://noxrepo.org/noxcore
     231cd noxcore/
     232./boot.sh
     233mkdir build/
     234cd build/
     235../configure --with-python=yes
     236make
     237make check
     238}}}
    231239
    232240=== Installing NOX on the Console ===
    233 We tried to use git, but that didn't work due to firewall issues. It did work on the PC, so the package was tarred and scp-d to SB9.
    234 
    235 For it to build properly, the following had to be installed.
     241Simply following the above installation steps caused the Console to yell at us about things not being installed. For it to build properly, the following had to be installed:
    236242 * libtool
    237243 * libboost1.35-dev
     
    281287
    282288
    283 the switch will recognize a controller with the command
    284 
    285 `./nox_core -i ptcp:6633 `
    286 
    287 ./nox_core -h will give you all the commands available.
     289nox_core is found under noxcore/build/src/. [[BR]]
     290./nox_core -h will give you all the commands available. The switch will recognize a controller with the command
     291{{{
     292./nox_core -i ptcp:6633
     293}}}
     294NOX also includes, among other things, a python-based L2 switch, which can be run like this:
     295{{{
     296./nox_core -v -i ptcp:6633 pyswitch
     297}}}
     298The timeout for the flows are about 22 seconds, very quick compared to the OF reference system.
     299{{{
     300sw-sb09> showflow detail
     301--------------------------------------------------------------------------------
     302Matching key
     303  Input port  : 26                    VLAN ID     : 65535(0xffff)
     304  MAC SA      : 00:0f:ea:83:a0:5c     MAC DA      : 00:0f:ea:84:9b:30
     305  TYPE        : 0x800[IP]             IP protocol : 1[ICMP]
     306  IP SA       : 192.168.1.2/32        IP DA       : 192.168.1.1/32
     307  Source port : 8(0x8)                Dest port   : 0(0)
     308Information
     309  Idle timeout: 5 sec                 Hard timeout: 0 sec
     310  Priority    : 65535
     311  IFP slice no: 15                    IFP entry no: 1
     312  Packet count: 17                    Byte count  : 98
     313  Created     : Sat Feb 26 22:56:23 2000
     314  Expires     : Sat Feb 26 22:56:45 2000
     315  Action type : 0[OUTPUT]             Max length  : 0
     316                                      Output port : 25(0x19)
     317--------------------------------------------------------------------------------
     318}}}
     319
     320
    288321 
    289322