| 20 | | === The switch === |
| 21 | | One of the centerpieces to the setup is the !OpenFlow enabled NEC IP8800/S3640-48T2XW switch running firmware supporting !OpenFlow v0.8.9. The switch is pre-configured so that ports 25-36 (the data VLAN) is an !OpenFlow virtual switch that listens to a controller running on the Console. The configurations can be altered by using the `setvsi` command in the switch's command-line interface. |
| 22 | | The details behind configuring the virtual switch(es) on the IP8800 can be found [wiki:Documentation/OpenFlow/VirtualSwitch here]. |
| 23 | | |
| 24 | | === The Controller === |
| 25 | | ''' Installing the controller ''' [[BR]] |
| 26 | | The !OpenFlow reference System (v0.8.9r2) and NOX-core (v0.5.0) have been successfully installed and tested on the Console. These can be downloaded from the following places: |
| | 21 | == Installing the controller == |
| | 22 | Two controllers, one from the !OpenFlow reference System (v0.8.9r2) and another from NOX-core (v0.5.0), have been successfully installed and tested on the Console. These can be downloaded from the following places: |
| 33 | | ''' Starting the controller ''' [[BR]] |
| | 29 | Both can also be installed using Git. Git can be installed with the following command: |
| | 30 | {{{ |
| | 31 | apt-get install git-core |
| | 32 | }}} |
| | 33 | |
| | 34 | === Installing the !OpenFlow Reference System === |
| | 35 | While presented, it is not recommended to install from tarball. |
| | 36 | The detailed instructions may be found here: http://www.openflowswitch.org/wp/getstarted/ |
| | 37 | |
| | 38 | 1. Download software and required packages. If using git: |
| | 39 | {{{ |
| | 40 | sudo apt-get install git-core automake m4 pkg-config libtool |
| | 41 | git clone http://openflowswitch.org/openflow |
| | 42 | cd openflow |
| | 43 | ./boot.sh |
| | 44 | }}} |
| | 45 | if installing from tarball: |
| | 46 | {{{ |
| | 47 | mkdir openflow |
| | 48 | cd openflow |
| | 49 | wget http://openflowswitch.org/downloads/openflow-0.9.0.tar.gz |
| | 50 | tar xzf openflow-0.9.0.tar.gz |
| | 51 | cd openflow-0.9.0 |
| | 52 | sudo apt-get install gcc linux-headers-`uname -r` |
| | 53 | }}} |
| | 54 | 2. Make and install. |
| | 55 | {{{ |
| | 56 | ./configure --with-l26=/lib/modules/`uname -r`/build |
| | 57 | make |
| | 58 | make install |
| | 59 | }}} |
| | 60 | |
| | 61 | === Installing NOX === |
| | 62 | It is not only recommended but also much simpler to use git to install NOX. Therefore the following instructions assume you are using git. The full instructions are found at noxrepo.org: http://noxrepo.org/manual/installation.html [[BR]] |
| | 63 | |
| | 64 | ''' Dependencies ''' [[BR]] |
| | 65 | NOX requires the following packages to be installed on the Console: |
| | 66 | * GNU Libtool (libtool) |
| | 67 | * Boost C++ libraries (libboost1.35-dev) |
| | 68 | * Apache HTTP Server (apache2) |
| | 69 | * Xerces C++ parser (libxerces-c28) |
| | 70 | * Xerces development files (libxerces-c2-dev) |
| | 71 | * SSL development libraries (libssl-dev) |
| | 72 | * SQLite 3 development files (libsqlite3-dev) |
| | 73 | * Simple JSON for Python (python-simplejson) |
| | 74 | |
| | 75 | If all dependencies are taken care of, NOX will install with the following steps. |
| | 76 | {{{ |
| | 77 | cd |
| | 78 | git clone git://noxrepo.org/noxcore |
| | 79 | cd noxcore/ |
| | 80 | ./boot.sh |
| | 81 | mkdir build/ |
| | 82 | cd build/ |
| | 83 | ../configure --with-python=yes |
| | 84 | make |
| | 85 | make check |
| | 86 | }}} |
| | 87 | |
| | 88 | == Starting the controller == |