Changes between Version 13 and Version 14 of Internal/OpenFlow/SandBoxSetup
- Timestamp:
- Aug 10, 2009, 3:29:09 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/SandBoxSetup
v13 v14 221 221 222 222 = 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.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 then be called using Ruby. 224 224 225 225 So enter NOX: http://noxrepo.org 226 226 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 {{{ 229 apt-get install git-core # if you don't have git installed 230 git clone git://noxrepo.org/noxcore 231 cd noxcore/ 232 ./boot.sh 233 mkdir build/ 234 cd build/ 235 ../configure --with-python=yes 236 make 237 make check 238 }}} 231 239 232 240 === 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. 241 Simply 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: 236 242 * libtool 237 243 * libboost1.35-dev … … 281 287 282 288 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. 289 nox_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 }}} 294 NOX 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 }}} 298 The timeout for the flows are about 22 seconds, very quick compared to the OF reference system. 299 {{{ 300 sw-sb09> showflow detail 301 -------------------------------------------------------------------------------- 302 Matching 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) 308 Information 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 288 321 289 322